設(shè)為首頁 | 加入收藏 | 今天是2024年11月18日 星期一

聚合智慧 | 升華財(cái)富
產(chǎn)業(yè)智庫服務(wù)平臺(tái)

七禾網(wǎng)首頁 >> 程序化交易 >> 程序化交易技巧心得體會(huì)

李洋、陳道:有沒有完美量化投資參數(shù)尋優(yōu)方式?

最新高手視頻! 七禾網(wǎng) 時(shí)間:2016-07-01 11:19:25 來源:知乎 作者:李洋、陳道明

這個(gè)問題肯定是見仁見智的,沒有什么定論。我這里給出兩個(gè)分享和討論,一個(gè)是自己的一點(diǎn)思考,另一個(gè)是MATLAB技術(shù)論壇會(huì)員fosu_cdm(論壇ID)陳道民(Chandeman)以前就我的這幾個(gè)問題發(fā)過的一個(gè)文章。兩個(gè)分享供大家參考,見仁見智,沒有定論,歡迎斧正、討論、交流。大家互相學(xué)習(xí)。


1. 參數(shù)優(yōu)化、過擬合問題芻議(by李洋faruto)

在量化投資中,定量投資模型的設(shè)計(jì)好壞無疑是成功的關(guān)鍵,單純從數(shù)學(xué)角度來看,一個(gè)交易系統(tǒng)(交易模型)僅僅是一個(gè)從行情序列到資金曲線的映射:

f(ts, para) = E其中f是一個(gè)交易系統(tǒng),ts是某一個(gè)投資標(biāo)的(股票、期貨、期權(quán)、外匯等等)的行情時(shí)間序列,para是交易系統(tǒng)的參數(shù)組,E是資金曲線。

任何一個(gè)模型幾乎都會(huì)有參數(shù)(包括所謂的自適應(yīng)模型)。有參數(shù)的話,那么就會(huì)碰到參數(shù)尋優(yōu)、過擬合等問題。參數(shù)優(yōu)化基于歷史數(shù)據(jù)進(jìn)行的策略優(yōu)化。而歷史并不能完全重演。歷史中表現(xiàn)優(yōu)秀的參數(shù),在未來交易中未必會(huì)表現(xiàn)很好。


先來看下幾種常見的參數(shù)優(yōu)化的方法:


(1)InSample-Out Sample 法


分割回測(cè)分析區(qū)間,將In Sample 區(qū)間的優(yōu)化參數(shù)應(yīng)用于Out Sample區(qū)間,分析收益、風(fēng)險(xiǎn)是否穩(wěn)定的回測(cè)分析法。具體形式見下圖:

這種來源于數(shù)據(jù)挖掘中的方法,看起來很美,但在量化投資中應(yīng)用會(huì)碰到一堆的實(shí)際問題:In Sample和Out Sample樣本大小的確定,合理有效地確定,針對(duì)不同的模型,日內(nèi)、隔夜模型;長(zhǎng)、中、段線模型。


(2)ForwardTest 前進(jìn)分析法Walk Forward Analysis (WFA)


具體形式見下圖:

WFA與DataMining中的CV過程本質(zhì)是一樣,但DM中CV方法很有效,可以在一定程度上避免over fitting問題,但是DM中的數(shù)據(jù)形式算是比較固定化的,CV折數(shù)的確定也可以進(jìn)行可列的嘗試。


但在量化中,情形卻大不通,策略類型的多樣化(主要是長(zhǎng)、中、短周期的不通導(dǎo)致不通模型的平倉持倉周期不通),那么問題就來了,在使用WFA的過程中,無法有效的給出針對(duì)不同類型的模型的一個(gè)合理的滑動(dòng)窗口的確定方案,所以WFA僅僅是看上去很美。


到具體測(cè)試環(huán)節(jié),以前針對(duì)一些常見的模型(ORB,均線等等),我系統(tǒng)性的詳細(xì)做過一些WFA的測(cè)試,結(jié)果也不盡人意,由于金融市場(chǎng)中的行情都是人交易出來的,所以量化交易系統(tǒng)要比DM中的模型復(fù)雜很多,參數(shù)的分布區(qū)域也是隨時(shí)間變化的一個(gè)函數(shù),WFA并不能非常有效的避免過擬合 和選出合理參數(shù)區(qū)間。


anyway,WFA作為參數(shù)魯棒性的輔助測(cè)試方法工具還是可以使用。


在最后交易層面,在最終確定實(shí)際交易參數(shù)(組)時(shí),可能可能好多團(tuán)隊(duì)或Quant會(huì)選擇那些所謂的“參數(shù)平原”,來避免“參數(shù)孤島”。比如下面的參數(shù)分布的某些區(qū)域。

但實(shí)際上這種方式也是有指的商榷和思考的地方,我做過相關(guān)測(cè)試,如果把時(shí)間參數(shù)看出自變量,把參數(shù)的穩(wěn)定區(qū)域看出因變量,你會(huì)發(fā)現(xiàn):不同模型的參數(shù)穩(wěn)定區(qū)域會(huì)隨著時(shí)間的變化發(fā)生遷移,即那些我們?cè)V信的參數(shù)穩(wěn)定區(qū)域會(huì)隨著市場(chǎng)節(jié)奏和市場(chǎng)參與主體的變化而變化,那些在過往測(cè)試中穩(wěn)定的區(qū)域,未來也非常有可能變得極其不穩(wěn)定。


或者換句話說,如果你的目標(biāo)函數(shù)不是個(gè)穩(wěn)態(tài)函數(shù),你找到的參數(shù)分布區(qū)域也不一定是穩(wěn)態(tài)的,那么什么樣的目標(biāo)函數(shù)是穩(wěn)態(tài)函數(shù)呢?理論層面可以根據(jù)泛函分析進(jìn)行相關(guān)的分析和驗(yàn)證,但在實(shí)戰(zhàn)層面這個(gè)沒有定論,哪怕是看起來很好的sharpe ratio指標(biāo)。

那么到最后在實(shí)戰(zhàn)層面,參數(shù)的選擇有可行且有效的解決方案嗎?這個(gè)我也仍然在思考,我當(dāng)下能給大家分享的解決方案是:


參數(shù)分散化、在盤子足夠大的情況下盡量將參數(shù)打散,不要單純篤信那些所謂的歷史參數(shù)穩(wěn)定區(qū)域。


2.關(guān)于參數(shù)優(yōu)化的一些膚淺認(rèn)識(shí)(by陳道民Chandeman)


一,關(guān)于參數(shù)問題


參數(shù)問題可以描述為:f(M,S,P)=Output ,即對(duì)于M(或者是品種及品種組合),使用S交易策略(或組合),采用P參數(shù)(或組合),得到output輸出(包括收益、勝率、盈利因子等等)。由于M是歷史數(shù)據(jù),S是你所使用的交易策略,那么在給定的M和S下,output就依賴于P的輸入。在此基礎(chǔ)上,那么過度擬合就表現(xiàn)為,f(Mi,S,P)=f(Mj,S,P)+e  ,即在給定的策略S和最優(yōu)化參數(shù)P下,不同的M(對(duì)于同一個(gè)市場(chǎng)或同一個(gè)品種,Mi 和Mj 我們也可以理解為訓(xùn)練集合測(cè)試集。 )有不同的output,并且其誤差 e 趨于正無窮或超過我們可接受的范圍。


二,關(guān)于模式問題


討論參數(shù)優(yōu)化問題,其實(shí)可以在一定程度上理解為希望在給定的S和P下,在不同的M下測(cè)試得到的output具有一致性,即把M給常數(shù)化。我們的解決方法是把M給抽象掉,引進(jìn)模式識(shí)別,從而跳出M的視野,找到不同M的共性,然后從pattern的角度來考量參數(shù)優(yōu)化的問題,即f(S,P;pattern(i))=output  。這樣一個(gè)好的策略S或者參數(shù)P在不同的pattern中所得到的output應(yīng)該是相對(duì)穩(wěn)定的(或者至少在有利的pattern中表現(xiàn)出色,在不利的pattern其風(fēng)險(xiǎn)(最大資金回撤深度和長(zhǎng)度)應(yīng)該是在我們的控制范圍之內(nèi)的,并且基于歷史統(tǒng)計(jì)的有利pattern發(fā)生的概率要顯著大于不利的pattern發(fā)生的概率),我們可以用標(biāo)準(zhǔn)差std(output(i))  (實(shí)際中,我們往往只需要output中的某些信息而已,例如收益、盈利因子或者最大資金回撤等等)來描述其穩(wěn)定性程度。因此,參數(shù)的尋優(yōu)就表示為在參數(shù)Pj下,Min(std(output(i,j))) 。 我們?cè)趯?shí)際中往往需要對(duì)原始樣本進(jìn)行隨機(jī)化處理,然后進(jìn)行大量的模擬和比較。


這時(shí)我們還需要關(guān)注ei,sum(ei)應(yīng)該落在我們可接受的范圍之內(nèi),并且奇異的ei越少越好。


當(dāng)然在實(shí)際操作當(dāng)中,有很多細(xì)節(jié)需要處理:


(1)如何定義pattern,這個(gè)依賴于各自的交易理念、規(guī)則和交易級(jí)別等等;

(2)如何識(shí)別你定義的pattern,大家需要去看看神經(jīng)網(wǎng)絡(luò)算法和模式識(shí)別方面的東西,強(qiáng)烈建議看看faruto在MATLAB論壇錄的一個(gè)關(guān)于SVM神經(jīng)網(wǎng)絡(luò)的視頻(好像是09年錄的,當(dāng)時(shí)我還在念高中啊...);

(3)行情的隨機(jī)化處理,可以參考一下錢德的超越技術(shù)分析一書當(dāng)中介紹的幾種方法;三,一些問題的初步回答


1.有沒有最完美的參數(shù)尋優(yōu)方式?有沒有最完美的參數(shù)選擇方式?

我們使用的參數(shù)尋優(yōu)和選擇的方式,是基于pattern比較下的尋優(yōu)和選擇方式,當(dāng)然這種方法也不盡完善,還有很多問題,就當(dāng)作是一種交流吧。


2.參數(shù)尋優(yōu)時(shí)對(duì)于不同的時(shí)間周期,多長(zhǎng)的回測(cè)數(shù)據(jù)具有說服力?

我們并不關(guān)心回測(cè)樣本的大小,而更關(guān)心樣本所包含的pattern的數(shù)量,一個(gè)能夠在更多的pattern中存活的參數(shù)或者策略,我們更放心去使用它,因?yàn)樗梢赃m應(yīng)未來行情的變異,即pattern的轉(zhuǎn)換。


3.對(duì)于整體樣本,是否有必要區(qū)分樣本內(nèi)和樣本外,若有必要,那么樣本內(nèi)和樣本外的長(zhǎng)度分別是多少合適?

我們一般并不直接從整體樣本中劃分訓(xùn)練集和測(cè)試集,而直接把原樣本作為訓(xùn)練集,并將其隨機(jī)化處理后的數(shù)據(jù)作為測(cè)試集,我們可以隨機(jī)構(gòu)造巨量的行情數(shù)據(jù)。


4.如何避免過度優(yōu)化?

這個(gè)問題我覺得要先對(duì)過度優(yōu)化進(jìn)行定義噢,一般情況下把訓(xùn)練集的測(cè)試結(jié)果和測(cè)試集的測(cè)試結(jié)果不一致認(rèn)為是一種過度優(yōu)化的結(jié)果。但我們的作法是在pattern條件下考慮兩者是否一致。舉個(gè)例子說,如果某個(gè)策略S對(duì)某一類的行情有很好的表現(xiàn),但也有它的軟肋時(shí),那么當(dāng)樣本內(nèi)和樣本外的pattern不一致時(shí),很可能它的最優(yōu)參數(shù)的差異可能很大。這時(shí)的結(jié)果不一定是過度擬合的結(jié)果,只不過是遇上不利的行情而已,當(dāng)然這個(gè)問題不僅僅是個(gè)參數(shù)優(yōu)化的問題,還是個(gè)策略設(shè)計(jì)的問題。


5.給出不同參數(shù)下的資金曲線,選取什么目標(biāo)函數(shù)來進(jìn)行參數(shù)選擇?為什么選擇該種目標(biāo)函數(shù),是否有更加有效的目標(biāo)函數(shù)?

這應(yīng)該是個(gè)參數(shù)優(yōu)化目標(biāo)的選擇問題,我們一般用的主要評(píng)價(jià)指標(biāo)是Min(MaxDrowDownDuration),當(dāng)然也可以給定一定限制條件,例如盈利因子大于2,等等。


6.給定目標(biāo)函數(shù)的情況下,如何選取最穩(wěn)定的參數(shù)(參數(shù)區(qū)間),選定參數(shù)的過程能否量化? 

我們往往是直接選擇最優(yōu)的那一個(gè),當(dāng)然這個(gè)與我們的事前的參數(shù)控制工作有關(guān)。


7.外推時(shí),參數(shù)表現(xiàn)不好怎么辦?再重新改進(jìn)參數(shù)、調(diào)整策略?

(1)不改變參數(shù)下,重新校驗(yàn)前面的pattern的識(shí)別

(2)在(1)校驗(yàn)后如果效果仍然不行,則對(duì)參數(shù)重新調(diào)整

(3)前面工作仍然無法奏效時(shí),需要對(duì)策略進(jìn)行修改

(4)來論壇拋磚引玉,學(xué)習(xí)別人的思想和方法


8.有沒有不依靠參數(shù)的策略?或參數(shù)自適應(yīng)的策略?可否實(shí)戰(zhàn)?靠譜否?

其實(shí)不依賴參數(shù)的策略不一定好吧,一個(gè)策略的生命和靈活性就體現(xiàn)在參數(shù)的調(diào)整過程中,當(dāng)然這也涉及策略類型的相互轉(zhuǎn)換問題,一下子講不清楚,建議看一下Browm的Technical Analysis For the Trading Professional一書,好像有中文版的。

責(zé)任編輯:張文慧

【免責(zé)聲明】本文僅代表作者本人觀點(diǎn),與本網(wǎng)站無關(guān)。本網(wǎng)站對(duì)文中陳述、觀點(diǎn)判斷保持中立,不對(duì)所包含內(nèi)容的準(zhǔn)確性、可靠性或完整性提供任何明示或暗示的保證。請(qǐng)讀者僅作參考,并請(qǐng)自行承擔(dān)全部責(zé)任。

本網(wǎng)站凡是注明“來源:七禾網(wǎng)”的文章均為七禾網(wǎng) levitate-skate.com版權(quán)所有,相關(guān)網(wǎng)站或媒體若要轉(zhuǎn)載須經(jīng)七禾網(wǎng)同意0571-88212938,并注明出處。若本網(wǎng)站相關(guān)內(nèi)容涉及到其他媒體或公司的版權(quán),請(qǐng)聯(lián)系0571-88212938,我們將及時(shí)調(diào)整或刪除。

聯(lián)系我們

七禾研究中心負(fù)責(zé)人:劉健偉/翁建平
電話:0571-88212938
Email:57124514@qq.com

七禾科技中心負(fù)責(zé)人:李賀/相升澳
電話:15068166275
Email:1573338006@qq.com

七禾產(chǎn)業(yè)中心負(fù)責(zé)人:果圓/王婷
電話:18258198313

七禾研究員:唐正璐/李燁
電話:0571-88212938
Email:7hcn@163.com

七禾財(cái)富管理中心
電話:13732204374(微信同號(hào))
電話:18657157586(微信同號(hào))

七禾網(wǎng)

沈良宏觀

七禾調(diào)研

價(jià)值投資君

七禾網(wǎng)APP安卓&鴻蒙

七禾網(wǎng)APP蘋果

七禾網(wǎng)投顧平臺(tái)

傅海棠自媒體

沈良自媒體

? 七禾網(wǎng) 浙ICP備09012462號(hào)-1 浙公網(wǎng)安備 33010802010119號(hào) 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證[浙B2-20110481] 廣播電視節(jié)目制作經(jīng)營(yíng)許可證[浙字第05637號(hào)]

認(rèn)證聯(lián)盟

技術(shù)支持 本網(wǎng)法律顧問 曲峰律師 余楓梧律師 廣告合作 關(guān)于我們 鄭重聲明 業(yè)務(wù)公告

中期協(xié)“期媒投教聯(lián)盟”成員 、 中期協(xié)“金融科技委員會(huì)”委員單位