如何避免量化交易策略模型过度拟合
引言:量化交易建模最重要的一個方面是避免過度擬合。過度擬合是統計學和機器學習領域的概念,指的是模型在訓練數據中擬合程度很好,但在測試數據中表現卻不如人意。
一、過度擬合的影響
傳統的機器學習問題,此類過度擬合的不會很明顯。比如對于分類問題,一般訓練集準確度99%,測試集即使過度擬合也有95%,這其實影響并不會很大。但是對于金融數據而言,由于數據的高噪音及時間序列特征,訓練數據和測試數據往往會有較大差異,如果建模過程不是很嚴謹,很容易出現嚴重的過度擬合現象,結果就是樣本內穩定賺錢的策略,到了樣本外就穩定虧錢。
二、如何避免過度擬合
避免過度擬合的思想需要貫穿在量化建模的整個過程中,每一個步驟都需要遵循客觀嚴謹的原則。一個好的量化交易建模體系,必須能較好地克服過度擬合的情況,使得量化研究人員按照整個研發流程走下來得到的策略,就能夠很好地避免過度擬合。根據我們的經驗,可以通過以下幾點來實現:
1、保證一定的交易次數
對于商品期貨策略,如果分品種進行回測,部分不活躍品種可能一年都沒有20次交易,幾年下來總的交易次數不到100次,這樣就難以形成統計意義,非常容易過度擬合。如果是套利類策略,持倉時間更長,可能一年才幾次交易,結果的可靠性就更加存疑了。因此,對于這種情況,有必要多品種同時回測,增加策略的交易次數,一般有300次以上的交易次數才能比較好地證明策略有效性。
2、保證一定的平均利潤
有些策略雖然交易次數多,效果也不錯,但是平均利潤過低,實盤交易中如果受到滑點的影響,很可能從穩定盈利變成穩定虧損。因此,需要保證一定的平均利潤,最好有10倍買賣價差以上,才能更好地避免滑點帶來的影響。
3、避免重復使用測試數據
一般來說測試數據只使用一次才是最準確的,否則,反復使用測試數據也會導致過度擬合的問題。即使建模后進行模擬交易,中低頻一個月也沒有很多交易,很難評價策略的好壞。因此,只能在建模中保證過程的嚴謹性,保證有1、2年完全樣本外的測試數據,最后的結果才會真實可靠。
三、如何提高模型質量
當然,很多過度擬合的情況之所以會發生,是因為研究過程中難以得到令人滿意的結果,比如正常套路建模得到的策略在樣本外總是表現不好,很難得到樣本外表現好的策略,久而久之,只好把樣本外的數據放到樣本內進行優化,才能得到好的結果。或者說交易次數多了平均利潤就少了,兩個條件無法同時滿足。為此,我覺得有如下幾個方法可以提高模型質量:
1、提高因子質量
因子是建模的基礎,如果因子質量太差,無論模型再復雜,也無法得到好的結果。因此,可以逐個考察因子的質量。例如用單個因子建模,看是否會出現過度擬合的情況。正常來說,單個因子是結構最簡單的模型,不會過度擬合的。如果單個因子建模質量不佳,說明這個因子或許只是隨機噪音,可以及時剔除,不必放入模型。
2、優化篩選標準
在樣本內挑選策略的時候,不必設置太苛刻的標準。如果標準太苛刻,反而會過度擬合到樣本內的數據,很多時候無法泛化到樣本外。而且,當個品種的策略與品種走勢高度相關,如果品種走勢不理想,策略長時間不盈利反而是正常現象,如果非要選擇在不利行情都能表現好的策略,那么就大大增加了過度擬合的風險。
3、增加策略多樣性
金融市場有句話說“過去的業績不代表未來”,那么放到策略上就是“過去好的策略不代表未來還會好”。過去的投資組合理論喜歡用均值方差模型,但困難在于收益均值很難預測。因此,最近幾年人們逐漸使用風險平價模型來代替。在選擇策略的時候,不必對過往業績做出過于苛刻的規定,否則容易得出相關性極高的策略。可以從各個維度來篩選策略,增加策略多樣性。
4、金融數據的時間序列特征
由于金融數據的時間序列特征,建模的時候最好采取滾動向前的方法。為了保證訓練集有足夠的交易次數,訓練時間也要足夠長。如果測試結果對訓練、測試集的劃分過于敏感,很可能是長度不夠交易次數不夠導致的,這些都要小心。
綜上所述,金融量化建模需要建立嚴謹的研究框架,從因子構造到投資組合優化整個流程都需要時刻避免過度擬合,這樣最后的結果才會更為可靠。
來源:七禾網
推薦閱讀:?|?量化交易??|?期貨模擬交易?|?python量化交易?|?股票數據??|?量化交易策略?|?機器學習算法??|?多因子選股?|??
? ? ? ? ? ? ? ? ? ?|?雙均線策略?|??網格交易法?|??海龜交易法??|??跨期套利??|?行業輪動??|?指數增強??|?跨品種套利?|?日內交易?|
?
總結
以上是生活随笔為你收集整理的如何避免量化交易策略模型过度拟合的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Docker (1) 基本概念和安装
- 下一篇: 2ASK调制解调