西蒙斯的赚钱秘籍:隐马尔科夫模型(HMM)的择时应用
摘要:
西蒙斯是被量化圈所廣為追捧的量化之神,旗下的大獎(jiǎng)?wù)禄饎?chuàng)造了無(wú)數(shù)神話。成立初期的創(chuàng)始人中,有一位科學(xué)家發(fā)明了廣泛應(yīng)用在語(yǔ)音識(shí)別等領(lǐng)域的鮑姆-威爾士算法。隱馬爾可夫模型(HMM)已經(jīng)被成功應(yīng)用在工程領(lǐng)域,并取得了具有科學(xué)意義和應(yīng)用價(jià)值的重要成果。
本文將西蒙斯大獎(jiǎng)?wù)禄鸬睦?隱馬爾可夫模型應(yīng)用到我國(guó)股市的預(yù)測(cè)中,通過(guò)對(duì)股票數(shù)據(jù)序列的模式識(shí)別來(lái)對(duì)大盤(pán)走勢(shì)進(jìn)行預(yù)測(cè)。
?
一、前言:從大獎(jiǎng)?wù)轮v起
西蒙斯是被量化圈所廣為追捧的量化之神,在全球金融危機(jī)的08年,大部分對(duì)沖基金都虧損背景下,其收益高達(dá)80%。
西蒙斯創(chuàng)辦的文藝復(fù)興科技公司擁有一群物理學(xué)家和數(shù)學(xué)家,這群人聚在一起到底搞出了什么賺錢(qián)利器?一直是外界所猜測(cè)。眾說(shuō)紛紜,而其中隱馬爾科夫模型也由于一些原因被推舉出來(lái)。
本文將隱馬爾可夫模型應(yīng)用到我國(guó)股市的預(yù)測(cè)中,通過(guò)對(duì)股票數(shù)據(jù)序列的模式識(shí)別來(lái)對(duì)大盤(pán)走勢(shì)進(jìn)行預(yù)測(cè)。
?
二、HMM范例及原理
先簡(jiǎn)單回顧一下馬爾科夫鏈。馬爾可夫鏈,是指數(shù)學(xué)中具有馬爾可夫性質(zhì)的離散事件隨機(jī)過(guò)程。馬爾科夫性用數(shù)學(xué)公式表示如下:
馬爾科夫經(jīng)典范例:
根據(jù)當(dāng)前天氣的情況來(lái)預(yù)測(cè)未來(lái)天氣情況。一種辦法就是假設(shè)每天的天氣狀態(tài)都只依賴于前一天的狀態(tài)。以下展示了天氣預(yù)測(cè)的馬爾科夫模型狀態(tài)轉(zhuǎn)移圖:
假設(shè)天氣預(yù)測(cè)模型的狀態(tài)轉(zhuǎn)移矩陣如下:
這個(gè)矩陣表示,如果昨天是陰天,那么今天有25%的可能是晴天,12.5%的概率是陰天,62.5%的概率會(huì)下雨,很明顯,矩陣中每一行的和都是1。
為了初始化這樣一個(gè)系統(tǒng),我們需要一個(gè)初始的概率向量:
這個(gè)向量表示第一天是晴天。到這里,我們就為上面的一階馬爾科夫過(guò)程定義了以下三個(gè)部分:
狀態(tài):晴天、陰天和下雨。
初始向量:定義系統(tǒng)在時(shí)間為0的時(shí)候的狀態(tài)的概率。
狀態(tài)轉(zhuǎn)移矩陣:每種天氣轉(zhuǎn)換的概率。所有的能被這樣描述的系統(tǒng)都是一個(gè)馬爾科夫過(guò)程。
?然而在某些情況下,馬爾科夫過(guò)程不足以描述我們希望發(fā)現(xiàn)的模式。基于觀測(cè)序列及隱含變量建立HMM模型,在模式識(shí)別上有一定優(yōu)勢(shì)。
HMM(隱馬爾科夫)經(jīng)典范例:
假設(shè)有3個(gè)不同的骰子。骰子1有6個(gè)面,稱為D6,每個(gè)面對(duì)應(yīng)數(shù)字出現(xiàn)的概率是1/6;骰子2有4個(gè)面,稱為D4,每個(gè)面對(duì)應(yīng)數(shù)字出現(xiàn)的概率是1/4;骰子3有8個(gè)面,稱為D8,每個(gè)面對(duì)應(yīng)數(shù)字出現(xiàn)的概率是1/8。
現(xiàn)在擲骰子10次,并假設(shè)得到這么一串?dāng)?shù)字:1 6 3 5 2 7 3 5 2 4,這串?dāng)?shù)字叫做觀測(cè)序列。但是在隱馬爾可夫模型中,我們不僅僅有這么一串可見(jiàn)狀態(tài)鏈,還有一串隱含狀態(tài)鏈。在這個(gè)例子里,這串隱含狀態(tài)鏈就是你用的骰子的序列。比如,隱含狀態(tài)鏈有可能是:D4 D6 D8 D6 D4 D8 D6 D6 D6 D4。
一般來(lái)說(shuō),HMM中說(shuō)到的馬爾可夫鏈其實(shí)是指隱含狀態(tài)鏈,因?yàn)殡[含狀態(tài)(骰子)之間存在轉(zhuǎn)換概率。
在我們這個(gè)例子里,D6的下一個(gè)狀態(tài)是D4,D6,D8的概率都是1/3。D4,D8的下一個(gè)狀態(tài)是D4,D6,D8的轉(zhuǎn)換概率也都一樣是1/3。這樣設(shè)定是為了最開(kāi)始容易說(shuō)清楚,但是我們其實(shí)是可以隨意設(shè)定轉(zhuǎn)換概率的。比如,我們可以這樣定義,D6后面不能接D4,D6后面是D6的概率是0.9,是D8的概率是0.1。這樣就是一個(gè)新的HMM。
可見(jiàn)狀態(tài)之間沒(méi)有轉(zhuǎn)換概率,但是隱含狀態(tài)和可見(jiàn)狀態(tài)之間有一個(gè)概率叫做輸出概率。就我們的例子來(lái)說(shuō),六面骰子(D6)得到每個(gè)數(shù)字的輸出概率都是1/6(假設(shè)骰子沒(méi)被動(dòng)過(guò)手腳)。
在上面的這些情況下,可以觀察到的狀態(tài)序列和隱藏的狀態(tài)序列是概率相關(guān)的。于是我們可以將這種類型的過(guò)程建模為有一個(gè)隱藏的馬爾科夫過(guò)程和一個(gè)與這個(gè)隱藏馬爾科夫過(guò)程概率相關(guān)的并且可以觀察到的狀態(tài)集合,就是隱馬爾可夫模型(Hidden Markov Model),簡(jiǎn)稱HMM。
HMM的三個(gè)問(wèn)題及算法:
對(duì)于股市我們也常常面臨以下的問(wèn)題:我們希望基于能觀測(cè)到的有限的信息(股價(jià)、成交量及波動(dòng)率)來(lái)預(yù)測(cè)我們所無(wú)法得知的股價(jià)背后驅(qū)動(dòng)因素,乃至預(yù)測(cè)股價(jià)的漲跌原理,這個(gè)預(yù)測(cè)的建模過(guò)程與HMM不乏有許多相似之處。
HMM模型的構(gòu)建,重點(diǎn)在于分別解決三種問(wèn)題:
問(wèn)題1:知道骰子有幾種(隱含狀態(tài)數(shù)量),每種骰子是什么(轉(zhuǎn)換概率),根據(jù)擲骰子擲出的結(jié)果(可見(jiàn)狀態(tài)鏈),我想知道每次擲出來(lái)的都是哪種骰子(隱含狀態(tài)鏈)。
問(wèn)題2:知道骰子有幾種(隱含狀態(tài)數(shù)量),每種骰子是什么(轉(zhuǎn)換概率),根據(jù)擲骰子擲出的結(jié)果(可見(jiàn)狀態(tài)鏈),我想知道擲出這個(gè)結(jié)果的概率。
問(wèn)題3:知道骰子有幾種(隱含狀態(tài)數(shù)量),不知道每種骰子是什么(轉(zhuǎn)換概率),觀測(cè)到很多次擲骰子的結(jié)果(可見(jiàn)狀態(tài)鏈),我想反推出每種骰子是什么(轉(zhuǎn)換概率)。
三、HMM在股市預(yù)測(cè)中的應(yīng)用
?
HMM在語(yǔ)音識(shí)別中的應(yīng)用流程:
(1)首先,從輸入的語(yǔ)音中提取相應(yīng)的數(shù)字特征序列,并對(duì)模型進(jìn)行訓(xùn)練,得到局部最優(yōu)參數(shù)估計(jì)。HMM語(yǔ)音識(shí)別模型訓(xùn)練過(guò)程如下圖:
(2)其次,輸入需要進(jìn)行識(shí)別的語(yǔ)音,通過(guò)提取相應(yīng)的數(shù)字特征序列,再運(yùn)用向前-向后算法對(duì)各類模型進(jìn)行似然估計(jì),得到最大概率的模型輸出,從而實(shí)現(xiàn)識(shí)別功能。HMM模型語(yǔ)音識(shí)別過(guò)程如下圖:
基于HMM模式識(shí)別模型的股市走勢(shì)預(yù)測(cè):
(1)首先,按照事先分類,選取歷史上屬于同類走勢(shì)的日期以及該日期之前若干個(gè)星期的股票數(shù)據(jù),提取股票數(shù)據(jù)中某些特征指標(biāo)(成交價(jià)格,成交量,等等)形成相應(yīng)的序列作為模型的輸入,并應(yīng)用Baum-Welch算法對(duì)各類模型進(jìn)行訓(xùn)練,訓(xùn)練過(guò)程如下圖:
(2)其次, 根據(jù)訓(xùn)練好的HMM模型,選取若干個(gè)星期的股票特征指標(biāo)(成交價(jià)格,成交量,等等)序列作為輸入,應(yīng)用向前-向后算法計(jì)算各個(gè)模型發(fā)生的概率,選取最大概率對(duì)應(yīng)的模型,從而得到下一階段股票走勢(shì)的識(shí)別結(jié)果。識(shí)別過(guò)程如下圖:
四、HMM策略實(shí)證結(jié)果
?
4.1、策略說(shuō)明
擇時(shí)指數(shù):滬深300指數(shù);
時(shí)間區(qū)間:2007/07/20至2016/09/09;
我們分別基于大盤(pán)的漲跌幅、換手率、成交金額以及每日的主動(dòng)買(mǎi)賣(mài)盤(pán)金額等數(shù)據(jù)構(gòu)造不同的觀測(cè)序列變量如下:
X1:?股票日收益率;
X2:?資金日凈流入占當(dāng)日所有流動(dòng)資金的比例;
X3:?日總流動(dòng)資金環(huán)比;
X4:?標(biāo)準(zhǔn)化資金流,即:(日總流動(dòng)資金-過(guò)去一年平均流動(dòng)資金/過(guò)去一年流動(dòng)資金波動(dòng)率。
X5:?換手率日環(huán)比;
X6:?成交金額日環(huán)比;
X7:?標(biāo)準(zhǔn)化成交金額日。
?
從中選擇不同的變量構(gòu)造觀測(cè)變量組合,并根據(jù)標(biāo)的指數(shù)周漲跌情況將所有樣本劃分為兩類(分別對(duì)應(yīng)漲、跌),分別運(yùn)用觀測(cè)變量組合訓(xùn)練不同的HMM模型。
4.2、基于HMM的指數(shù)擇時(shí)原理
基于不同類型(分漲、跌兩類)樣本數(shù)據(jù)分別訓(xùn)練得到對(duì)應(yīng)的模型:HMM1和HMM2,根據(jù)最新觀測(cè)變量輸入之后的概率高低作為下周大盤(pán)漲跌的判斷依據(jù),對(duì)指數(shù)進(jìn)行多空操作。此外,為了避免模型連續(xù)預(yù)測(cè)錯(cuò)誤導(dǎo)致的策略較大虧損,我們加入了信號(hào)止損機(jī)制:當(dāng)最近一次信號(hào)開(kāi)倉(cāng)起來(lái),策略累計(jì)虧損達(dá)到某個(gè)閥值(如5%),則對(duì)當(dāng)前倉(cāng)位進(jìn)行平倉(cāng),直到下一次出現(xiàn)相反信號(hào)再重新開(kāi)倉(cāng)
4.3、策略表現(xiàn)
(1)不考慮做空
若當(dāng)信號(hào)為空時(shí),指數(shù)空倉(cāng),不考慮做空,則在2007年07月20至2016年9月9日共450周間,共發(fā)出了62次買(mǎi)入信號(hào)和61次賣(mài)出信號(hào),信號(hào)止損信號(hào)8次。平均每3.8周一次買(mǎi)賣(mài)信號(hào)。其中,預(yù)測(cè)結(jié)果準(zhǔn)確為250周,準(zhǔn)確率為56 %,策略累計(jì)收益率為183%,年化21.1%。
(2)考慮做空
若當(dāng)信號(hào)為空時(shí),指數(shù)開(kāi)空倉(cāng),則在2007年07月20日至2016年9月9日共450周間,共發(fā)出了62次買(mǎi)入信號(hào)和61次賣(mài)出信號(hào),信號(hào)止損信號(hào)16次,由于止損而空倉(cāng)31周。平均每3.8周一次買(mǎi)賣(mài)信號(hào)。其中,預(yù)測(cè)結(jié)果準(zhǔn)確為250周,準(zhǔn)確率為56 %,策略累計(jì)收益率為899%,年化103.9%。
五、總結(jié)
?
5.1、研究意義和創(chuàng)新點(diǎn)
本報(bào)告首次提出將HMM模式識(shí)別模型引入到股票價(jià)格波動(dòng)預(yù)測(cè)問(wèn)題中,通過(guò)解決HMM模型中的學(xué)習(xí)問(wèn)題和識(shí)別問(wèn)題,建立了一個(gè)基于股票日收益率以及日資金流等變量的對(duì)股票指數(shù)擇時(shí)模型,經(jīng)實(shí)證檢驗(yàn),無(wú)論是預(yù)測(cè)準(zhǔn)確率和擇時(shí)策略收益,該模型都取得了比較不錯(cuò)的效果,具有相當(dāng)?shù)睦碚摵同F(xiàn)實(shí)意義。
由于HMM模型的相關(guān)算法相當(dāng)成熟,且具有效率高,效果好以及易于通過(guò)已有的數(shù)據(jù)進(jìn)行模型訓(xùn)練等特點(diǎn),因此選用HMM模型進(jìn)行股票波動(dòng)模式識(shí)別不僅是一個(gè)較大的創(chuàng)新,更是一個(gè)值得探討的選擇。
5.2、模型的不足
(1)模型的預(yù)測(cè)準(zhǔn)確率有待進(jìn)一步提高;
(2)輸入向量的選擇是HMM模型的關(guān)鍵,本文僅針對(duì)股價(jià)、換手率以及資金流等構(gòu)造輸入變量,所能提取的股市信息存在局限。
-------------------------
拓展閱讀:
1.一個(gè)量化策略師的自白(好文強(qiáng)烈推薦)
2.市面上經(jīng)典的量化交易策略都在這里了!(源碼)
3.期貨/股票數(shù)據(jù)大全查詢(歷史/實(shí)時(shí)/Tick/財(cái)務(wù)等)
4.干貨| 量化金融經(jīng)典理論、重要模型、發(fā)展簡(jiǎn)史大全
5.從量化到高頻交易,不可不讀的五本書(shū)
6.高頻交易四大派系大揭秘
總結(jié)
以上是生活随笔為你收集整理的西蒙斯的赚钱秘籍:隐马尔科夫模型(HMM)的择时应用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: uuid表示时间的部分_技术译文 | U
- 下一篇: 计算机里创建本地磁盘分区,大神教你如何将