FireShot Capture 028 - MultiCharts .NET 14.0 Beta 3 - MultiCharts, Beta, .NET - Blog MultiCh_ - www.multicharts.com.png
FireShot Capture 028 - MultiCharts .NET 14.0 Beta 3 - MultiCharts, Beta, .NET - Blog MultiCh_ - www.multicharts.com.png (51.27 KiB) 已瀏覽 221 次
最近跟同學聊到了MultiCharts 14 Beta 3版的dynamic trading,感覺起來它其實就是在做我之前的文章所講的這件事情!

文章在此↓↓↓↓↓↓↓
交易系統開發的質變以及量變

剛好,今天跟學生又去聊到在這個部分上面我自己的經驗 這個東西其實當初我在測試的時候他有一個很大的盲點, 就是你如何決定你動態調整的參數它的“上限跟下限”,假設你真的把上限跟下限定出來, 但是,最佳參数在調整的過程中碰到上限值或下限值的時候或是動態調整到整個高原都跑掉了,那這個時候策略是要用還是不要用?這個就是要去解決的問題!
因為我自己沒有使用MC,所以MC14不曉得有沒有考慮到以下幾個狀況:
1. 如何"協助"使用者設定最佳參數的上限以及下限值?
2. 調整過程中如果抵達上限值或抵達下限值的時候應該如何應對?
3.高原整個跑掉的時候,有沒有處理的方法?
上面這幾個問題如果可以解決的話這個功能我認為才是有效的!
因為在我針對普遍的策略進行測試的過程當中,我發現一個現象就是最後的最佳參数值都會被無限放大, 因為參數的數值越大高原就會越明顯,但是這其實是沒有意義的, 因為數字越大,每一個參数所產生的遞增對於策略的影響程度幾乎等於沒有!
例如:
參數1到10間距為1之下有高原, 每個參數的影響程度是10%
但是參數100到110間距為1之下有高原, 每個參數的影響程度卻只有1%!(等同於自然高原)
所以參數值過大會有高原變成是一種自然現象,可是這其實是不對的!
出現這種情況的時候我反而認為應該要把時間框架加大然後把參數範圍縮小再去做重新的檢測! 但是目前我的研究還沒有確認這個動作有沒有意義!
所以我覺得假設參數真的抵達上限值的時候應該就是策略應對的商品本身已經產生了質地上的變化,這個時候這個商品或者是這個策略應該就要先暫停交易!
但是這是一種策略管理的方法 現在來說說WFM這個動作到底有沒有意義? 舉例來說 如果你拿黃金的十年歷史資料去最佳化,那你就會得到一組最佳化結果的績效表現,我們把它設定為100分, 但是現在最大的問題是你不知道這個最佳參數在未來能不能夠一樣做得到?
所以就算你拿歷史最佳參數去交易未來可能也沒有意義!
那WFM真正的功能是什麼?
WFM真正的功能就是如果我把這10年的歷史分段切割然後每隔一段時間去進行最佳化來去交易未來,我最終會取得一個WFM完的績效報表,那我再拿這個WFM的績效報表來去跟這十年的最佳化結果報表進行比對,如果這十年的最佳化結果是100分那我這十年如果用WFM方法,我可以比這100分高還是低?

"如果我的WFM結果可以比這十年高那就代表WFM有效,如果我的WFM結果比這十年低那就代表WFM無效!"
但是,上面這句話是正確的嗎???

根據我目前的統計起來我拿168支黃金的策略去做這樣子的分析, 然後把參數的最佳範圍都設定在相同的範圍內, 我目前得到的結果是168支策略的WFM結果平均大概落最佳結果的70到80分左右!
因為,事實上就算你拿10年最佳參數去交易未來,你在未來也是不可能拿到100分的,但是如果我持續使用WFM方法來去進行未來交易的話 我至少平均來說可以拿到100分中的70分或80分!

在套用到我之前人工開發的交易策略表現,我之前自己開發的策略實際上線之後大概可以做到60分以上的水準!
而且當時是沒有用WFM, 我只有把10年的最佳參數拿去直接交易未來,中間完全沒調整!

但是這個時候還是要去檢查WFM的參數結果,因為要去避免策略出現我講的參数被無限放大的現象!

所以不管是人工還是SQ在開發的時候,參數都不要放太大,參數的範圍如果給太大了就有可能出現這種現像,看起來好像有高原實際上是自己在騙自己!

當參數被無限放大到一定程度之後我認為就代表商品已經產生質地上的變化, 這個時候可能就要先停止交易然後準備重新開發這個商品的策略! 因為他有可能代表以前的概念你已經不能用了!