最佳化很容易上手,很多人剛接觸程式交易時,使用最佳化來開發策略,以為已經找到聖杯了,上線後才發現竟是所謂的靠杯,之後就再也不敢碰最佳化了,避之唯恐不及,一朝被蛇咬十年怕草繩,自此在草繩禁區蓋上封印;另外也有一些人雖然沒用過最佳化,但聽聞前人最佳化的慘痛教訓後,也自動的在草繩禁區蓋上封印了
最佳化確實是要謹慎使用的,不然容易走火入魔,但最佳化也並非邪魔歪道,只是要由統計的角度切入才是正道(需了解Overfitting概念且熟悉假設檢定、自由度等的統計核心意涵,不過細節就不討論了,請自行意會),唯有如此才能借助最佳化的威力來進行模型的提煉,以下提供一個最佳化提煉與驗證的成功例子,用以解開草繩禁區的封印
最佳化參數可直接用視覺化檢視的只有2個,但此交易策略使用的參數卻高達7個,參數雖多,但其交易邏輯卻十分簡單(主要只有兩個IF進場敘述、三個出場指令,結束),大部分人看到7個參數,大概就認定一定會有過度最佳化的問題,不過此最佳化範例跑完的結果或許可以讓你改觀(除了Out-of-Sample驗證外,本策略同時具有市場穿透性,所以更值得信賴,詳情請參考此篇『市場穿透性的迷思』)
Out-of-Sampe Testing
- 商品:那斯達克(NQ)
- 傭金設定:$2.03
- 滑價設定:每口$2.15
- 策略類型:當沖
- 進場單:限價單
- 出場單:限價單、停止單、市價單
- 限價單回測設定:穿價1 tick才算成交(此設定實際交易,會比回測績效好)
- 最佳化參數:7個
- 最佳化解空間:19,575,270
- In-Sample:2007~2018(12年,約75%的資料)
- Out-of-Sample:2019~2022的7月(不到4年,約25%的資料)