0702a.jpg

 

 

這樣的績效報表 你相信有可能嗎?

191005.png

 在Multicharts有個功能,就是幫助我們快速挑出交易策略裡面的參數值,稱之為參數最佳化。只要是你寫的策略裡面有用到數字,都可以針對這些數字給予一定的範圍測試,跑出一組最好的成績

191005-1.png

最佳化又可以分為暴力演算法 基因演算法移動窗格 
跑出一連串的數字後 再利用最佳化圖表排序,找出績效最好或是勝率最高的參數值

暴力演算法,是依序將所有可能的組合代入策略找尋最佳答案。好處是所有組合都會被計算並找出絕對最佳解;缺點是會花費比較多的時間。
基因演算法 只計算較精準的組合,在處理大量的參數運算上速度較快,使得基因演算法最佳化足以分析較多參數的策略,缺點是比較沒有那麼精細。
移動窗格 則是分割資料數列成多個區段,每個區段分隔為樣本內(in-sample) 和樣本外(out-of-sample);參數最佳化使用第一個區段的樣本內資料執行,同樣的參數套用同一個區段的樣本外資料。

191005-2.png

就像一碗麵  個人喜好不同 喜歡什麼味道就自己加調味料,酸甜苦辣就會不同;回測時有些人重視報酬率有些人重視勝率,代表著不同意義 都各自有偏好的人。我們寫了一隻策略,常常會對程式碼裡面的每個數值去挑選一組最優參數 希望得到一條往右上45度角的曲線,卻往往忽視了最佳化的結果也是最假化

最佳化應該注意哪些原則? 

  • 參數越少越好 同一個策略最佳化的參數盡量少於5個
  • 回測檢驗的參數範圍不要太細
  • 取一段時間當樣本內 不要剛好回測到最近的交易日

如何避免過度優化(overfitting)  

  • 策略邏輯清晰
  • 參數最普佳化而非最佳化
  • 多時間架構檢驗

除此之外,我覺得針對樣本內優化之後的參數再打開其他的時段,觀察樣本外績效曲線的變化

191005-3.png

你是否也和我一樣 曾經開發出印鈔機的策略,但不知道為什麼實際上線後就GG了

191005-4.png

所以……不要太在意華麗的外表  要看清楚卸妝後的真面目;也不要過度相信回測績效,真正在乎的是真實上線後的表現~~0086.gif

 

arrow
arrow

    元大期貨楊宗儒 發表在 痞客邦 留言(0) 人氣()