量化金融分析師(AQF)|量化交易建模如何避免過度擬合?
量化交易建模最重要的一個方面是避免過度擬合。過度擬合是統(tǒng)計學和機器學習領域的概念,指的是模型在訓練數(shù)據(jù)中擬合程度很好,但在測試數(shù)據(jù)中表現(xiàn)卻不如人意。
一、過度擬合的影響
傳統(tǒng)的機器學習問題,此類過度擬合的不會很明顯。比如對于分類問題,一般訓練集準確度99%,測試集即使過度擬合也有95%,這其實影響并不會很大。但是對于金融數(shù)據(jù)而言,由于數(shù)據(jù)的高噪音及時間序列特征,訓練數(shù)據(jù)和測試數(shù)據(jù)往往會有較大差異,如果建模過程不是很嚴謹,很容易出現(xiàn)嚴重的過度擬合現(xiàn)象,結果就是樣本內穩(wěn)定賺錢的策略,到了樣本外就穩(wěn)定虧錢。
二、如何避免過度擬合
避免過度擬合的思想需要貫穿在量化建模的整個過程中,每一個步驟都需要遵循客觀嚴謹?shù)脑瓌t。一個好的量化交易建模體系,必須能較好地克服過度擬合的情況,使得量化研究人員按照整個研發(fā)流程走下來得到的策略,就能夠很好地避免過度擬合。根據(jù)我們的經驗,可以通過以下幾點來實現(xiàn):
1、保證一定的交易次數(shù)
對于商品期貨策略,如果分品種進行回測,部分不活躍品種可能一年都沒有20次交易,幾年下來總的交易次數(shù)不到100次,這樣就難以形成統(tǒng)計意義,非常容易過度擬合。如果是套利類策略,持倉時間更長,可能一年才幾次交易,結果的可靠性就更加存疑了。因此,對于這種情況,有必要多品種同時回測,增加策略的交易次數(shù),一般有300次以上的交易次數(shù)才能比較好地證明策略有效性。
2、保證一定的平均利潤
有些策略雖然交易次數(shù)多,效果也不錯,但是平均利潤過低,實盤交易中如果受到滑點的影響,很可能從穩(wěn)定盈利變成穩(wěn)定虧損。因此,需要保證一定的平均利潤,較好有10倍買賣價差以上,才能更好地避免滑點帶來的影響。
3、避免重復使用測試數(shù)據(jù)
一般來說測試數(shù)據(jù)只使用一次才是最準確的,否則,反復使用測試數(shù)據(jù)也會導致過度擬合的問題。即使建模后進行模擬交易,中低頻一個月也沒有很多交易,很難評價策略的好壞。因此,只能在建模中保證過程的嚴謹性,保證有1、2年完全樣本外的測試數(shù)據(jù),最后的結果才會真實可靠。
三、如何提高模型質量
當然,很多過度擬合的情況之所以會發(fā)生,是因為研究過程中難以得到令人滿意的結果,比如正常套路建模得到的策略在樣本外總是表現(xiàn)不好,很難得到樣本外表現(xiàn)好的策略,久而久之,只好把樣本外的數(shù)據(jù)放到樣本內進行優(yōu)化,才能得到好的結果?;蛘哒f交易次數(shù)多了平均利潤就少了,兩個條件無法同時滿足。為此,我覺得有如下幾個方法可以提高模型質量:
1、提高因子質量
因子是建模的基礎,如果因子質量太差,無論模型再復雜,也無法得到好的結果。因此,可以逐個考察因子的質量。例如用單個因子建模,看是否會出現(xiàn)過度擬合的情況。正常來說,單個因子是結構最簡單的模型,不會過度擬合的。如果單個因子建模質量不佳,說明這個因子或許只是隨機噪音,可以及時剔除,不必放入模型。
2、優(yōu)化篩選標準
在樣本內挑選策略的時候,不必設置太苛刻的標準。如果標準太苛刻,反而會過度擬合到樣本內的數(shù)據(jù),很多時候無法泛化到樣本外。而且,當個品種的策略與品種走勢高度相關,如果品種走勢不理想,策略長時間不盈利反而是正常現(xiàn)象,如果非要選擇在不利行情都能表現(xiàn)好的策略,那么就大大增加了過度擬合的風險。
3、增加策略多樣性
金融市場有句話說“過去的業(yè)績不代表未來”,那么放到策略上就是“過去好的策略不代表未來還會好”。過去的投資組合理論喜歡用均值方差模型,但困難在于收益均值很難預測。因此,最近幾年人們逐漸使用風險平價模型來代替。在選擇策略的時候,不必對過往業(yè)績做出過于苛刻的規(guī)定,否則容易得出相關性極高的策略??梢詮母鱾€維度來篩選策略,增加策略多樣性。
4、金融數(shù)據(jù)的時間序列特征
由于金融數(shù)據(jù)的時間序列特征,建模的時候較好采取滾動向前的方法。為了保證訓練集有足夠的交易次數(shù),訓練時間也要足夠長。如果測試結果對訓練、測試集的劃分過于敏感,很可能是長度不夠交易次數(shù)不夠導致的,這些都要小心。
綜上所述,金融量化建模需要建立嚴謹?shù)难芯靠蚣埽瑥囊蜃訕嬙斓酵顿Y組合優(yōu)化整個流程都需要時刻避免過度擬合,這樣最后的結果才會更為可靠。


.png)
.png)


