已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
西蒙斯的賺錢秘籍:隱馬爾科夫模型(HMM)的擇時應用之前做過相關方面的研究,針對的是國外的期貨市場。也有朋友建議說拿A股來試試看。所以有了下面的這篇東西。扯上西蒙斯前輩,是因為確實不少猜測認為文藝復興用的就是HMM模型。一、從大獎章講起Renaissance & Medallion(文藝復興科技和大獎章)量化圈都非常熟悉了。Simons一群物理學家和數(shù)學家碰撞在一起,1989年到2008年的yearly return達到35.6%。文藝復興大概一百多個員工,AUM:50億美金,在全球金融危機的08年,大部分對沖基金都虧損,而大獎章的return高達80%。神秘的文藝復興科技和神秘的大獎章基金,到底一群數(shù)學家和物理學家聚在一起搞出了什么賺錢利器?外界猜測眾說紛紜。而隱馬爾科夫模型也由于一些原因被推舉出來。成立初期的創(chuàng)始人中,有一位科學家發(fā)明了廣泛應用在語音識別等領域的鮑姆-威爾士算法,用來確定不可確知的變量可能出現(xiàn)的概率。今天要介紹的HMM模型,也是在語音識別中運用非常成功的模型,最早是由鮑姆等人提出的。之前拜讀人大的一位教授14年寫的一本書,解密復興科技:基于隱蔽馬爾科夫模型的時序分析方法,書中介紹了為什么覺得HMM是Renaissance使用的模型,并且含有詳細的公式推導和運算,以及附上了一些些實證結(jié)果(個人認為還有很多有待補充和粗糙的地方)。感興趣推薦研讀。二、認識模型HMM模型,又叫隱馬爾科夫模型。要正確的理解和搞懂模型,教材里有很多經(jīng)典的例子。我從自己理解后的角度盡量淺顯的給大家做一個解釋,方便大家快速理清概念投入應用。我們能觀測到的序列(Y1,.,Yn)稱為可觀測序列,如股價,成交量,資金凈額等等。而每一個可觀測值的產(chǎn)生對應著市場狀態(tài)序列(Z1,.,Zn),每個狀態(tài)通過不同的分布函數(shù)來產(chǎn)生觀測值。通過HMM模型,可以用簡單的輸入,來得出對目前市場狀態(tài)的判斷,從而幫助我們進行擇時選擇。因為市場狀態(tài)不是顯性可觀測的,屬于隱藏狀態(tài),我們通過對可觀測變量的處理來進行推測。這里對HMM模型進行了擴展得到HMS-GMD模型,因為收益率序列尖峰厚尾的特性導致的非正態(tài)分布,引入了混合高斯分布作為狀態(tài)到觀測值之間產(chǎn)生關系的分布函數(shù)。將HMM模型看作一個黑箱子,這個黑箱子可以利用極其方便、簡潔的數(shù)據(jù),處理后得出:1. 每個時刻對應的狀態(tài)序列;2. 混合分布的均值和方差矩陣;3. 混合分布的權重矩陣;4. 狀態(tài)間轉(zhuǎn)移概率矩陣。而黑箱子需要事先給定兩個參數(shù):狀態(tài)數(shù)目、混合高斯分布的成分數(shù)目。當然,輸入這里是拿單一的價格序列舉例。輸入也可以是并行的數(shù)據(jù)矩陣,比如從價格、成交量、資金凈額等多個角度來看??偨Y(jié)一下,使用模型需要在初期設定:1. 隱藏狀態(tài)數(shù)目2. 輸入的觀測變量3. 混合高斯分布成分數(shù)目三、A股市場實證下面拿A股市場來做檢驗。模型的設定如下:1. 隱藏狀態(tài)數(shù)目:62. 輸入變量:當日對數(shù)收益率,五日對數(shù)收益率,當日對數(shù)高低價差(其他備選因素成交量、成交額等大家可以自行嘗試)3. 混合高斯分布成分數(shù)目:1(為了簡便,假定對數(shù)收益率服從單一高斯分布)In 1:from hmmlearn.hmm import GaussianHMMimport datetimeimport numpy as npimport pandas as pdimport seaborn as snsfrom matplotlib import cmfrom matplotlib import pyplotstartdate = 2012-06-01enddate = 2016-04-07df = get_price(000300.XSHG, start_date=startdate, end_date=enddate, frequency=daily, fields=close,volume,high,low)close = dfclose000300.XSHGhigh = dfhigh000300.XSHG5:low = dflow000300.XSHG5:volume = dfvolume000300.XSHG5:money = dfvolume000300.XSHG5:datelist = pd.to_datetime(close.index5:)logreturn = (np.log(np.array(close1:)-np.log(np.array(close:-1)4:logreturn5 = np.log(np.array(close5:)-np.log(np.array(close:-5)diffreturn = (np.log(np.array(high)-np.log(np.array(low)closeidx = close5:X = np.column_stack(logreturn,diffreturn,logreturn5)len(X)Out1:931In 2:hmm = GaussianHMM(n_components = 6, covariance_type=diag,n_iter = 5000).fit(X)latent_states_sequence = hmm.predict(X)len(latent_states_sequence)Out2:931In 3:sns.set_style(white)plt.figure(figsize = (15, 8)for i in range(hmm.n_components): state = (latent_states_sequence = i) plt.plot(dateliststate,closeidxstate,.,label = latent state %d%i,lw = 1) plt.legend() plt.grid(1)Out 3:以上。我們看到了六個狀態(tài)的HMM模型輸出的市場狀態(tài)序列。需要注意的是:HMM模型只是能分離出不同的狀態(tài),具體對每個狀態(tài)賦予現(xiàn)實的市場意義,是需要人為來辨別和觀察的。下面我們來用簡單的timming策略來識別6種latent_state所帶來的效果。In 4:data = pd.DataFrame(datelist:datelist,logreturn:logreturn,state:latent_states_sequence).set_index(datelist)plt.figure(figsize=(15,8)for i in range(hmm.n_components): state = (latent_states_sequence = i) idx = np.append(0,state:-1) datastate %d_return%i = data.logreturn.multiply(idx,axis = 0) plt.plot(np.exp(datastate %d_return %i.cumsum(),label = latent_state %d%i) plt.legend() plt.grid(1)Out 4:上圖可以看出:1. 狀態(tài)0藍色震蕩下跌2. 狀態(tài)1綠色小幅的上漲3. 狀態(tài)2紅色牛市上漲4. 狀態(tài)3紫色牛市下跌5. 狀態(tài)4黃色震蕩下跌6. 狀態(tài)5淺藍色牛市下跌以上的意義歸結(jié)是存在一定主觀性的。因為HMM模型對輸入的多維度觀測變量進行處理后,只負責分出幾個類別,而并不會定義出每種類別的實際含義。所以我們從圖形中做出上述的判斷。四、擇時策略我們根據(jù)模擬出來的隱藏狀態(tài),來進行擇時。(1)理論版:股指期貨可賣空。策略是這樣設計的:1. 當天處在狀態(tài)0,3時,買入指數(shù)基金;2. 當天處在狀態(tài)1,2,4,5時,賣空股指期貨;我們來看一下收益效果:4年7倍。In 5:buy = (latent_states_sequence = 1) + (latent_states_sequence = 2)buy = np.append(0,buy:-1)sell = (latent_states_sequence = 0) + (latent_states_sequence = 3) + (latent_states_sequence = 4) + (latent_states_sequence = 5)sell = np.append(0,sell:-1)databacktest_return = data.logreturn.multiply(buy,axis = 0) - data.logreturn.multiply(sell,axis = 0)plt.figure(figsize = (15,8)plt.plot_date(datelist,np.exp(databacktest_return.cumsum(),-,label=backtest result)plt.legend()plt.grid(1)Out5:(2) A股版鑒于賣空指數(shù)對散戶來說沒什么可操作性,我們單看能做多的A股市場。選擇嘉實滬深300基金來復制滬深300指數(shù)。策略是這樣設計的:1. 當天處在狀態(tài)0,3時,買入指數(shù)基金;2. 當天處在狀態(tài)1,2,4,5時,空倉;看一下回測效果回撤和收益都看起來很漂亮。雖然我也沒太懂為什么跟可賣空的結(jié)果差不多= =,可能是單純算收益率的偽回測不太準吧。第二是狀態(tài)5(淺藍色)有漲有跌,賣空它也有虧錢的時候。五、最后的結(jié)論搞量化的小伙伴們每每總是以為發(fā)現(xiàn)了天上掉錢的秘籍法寶,但仔細
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年外貿(mào)公司員工勞動合同范本含社會保險繳納
- 二零二五年度新材料研發(fā)項目投資合作居間協(xié)議合同范本
- 2025年度軟裝設計行業(yè)人才培養(yǎng)合同范本2篇
- 二零二五年度總經(jīng)理聘用合同:高端裝備制造業(yè)高層管理人員聘用合同
- 二零二五版農(nóng)村污水處理設施建設與運維合同4篇
- 2025年度二零二五年度個人雇傭員工勞動合同(遠程工作)專項范本4篇
- 二零二五版門窗安裝與綠色建筑認證合同7篇
- 2025年山地承包與生態(tài)保護一體化合同4篇
- 2025年度個人租賃合同規(guī)范樣本2篇
- 2025年度個人醫(yī)療貸款合同及費用報銷清單4篇
- JB-T 8532-2023 脈沖噴吹類袋式除塵器
- 深圳小學英語單詞表(中英文)
- 護理質(zhì)量反饋內(nèi)容
- 山東省濟寧市2023年中考數(shù)學試題(附真題答案)
- 抖音搜索用戶分析報告
- 板帶生產(chǎn)工藝熱連軋帶鋼生產(chǎn)
- 鉆孔灌注樁技術規(guī)范
- 2023-2024學年北師大版必修二unit 5 humans and nature lesson 3 Race to the pole 教學設計
- 供貨進度計劃
- 國際尿失禁咨詢委員會尿失禁問卷表
- 彌漫大B細胞淋巴瘤護理查房
評論
0/150
提交評論