濾網的意義,是把策略結果變的更有效能。
濾網開發課程中的濾網採用函數來開發,以降低對原策略的干擾,課程提供了6個濾網範例,1個是從AI開發與程式撰寫的示範得到的範例,其他5個是超五的範例,但課程並不僅止於提供濾網範例,還從效能的選擇到未來效能的預估性,提供了演繹示範來做更廣泛的思考。
當我們開發出濾網後,接著要思考2個問題:
- 策略原型加上濾網後,績效是不是變好?
- 在未來的表現中,濾網是不是仍然可以讓策略績效變好?
第2個問題,是我們比較容易忽略的:
回測的效能不代表未來的效能
就算我們把套入濾網的策略,做樣本外分析是有效能的,也不代表這效能來自濾網。
論壇的超五專欄「進階模組」版面中的文章「穩健測試:如何看待策略的回測結果?」,提到參數最佳化測試的3個穩健測試方法:
- 參數高原:由於最佳化測試參數是濾網別,數值沒有敏感度意義,因此不適用參數高原分析
- 樣本外分析:當我們選擇了樣本內學習期最佳績效的濾網,在樣本外的表現會如何?這個表現,濾網貢獻了多少?
- Walk-Forward Test:經驗上,濾網別的參數選擇不適合做。濾網並非是在要某些行情才使用,而是所有行情套上濾網後,剔除掉的交易大部分是不利的。
如同第1個方法,參數高原提到的,濾網別的參數值不具有敏感度分析意義,通常也不適合做WF,因為在不同期間採用不同濾網,似乎是過度匹配,但是當我們選定濾網後,是可以針對濾網本身採用的參數做WF測試分析的。
只不過,策略原型也有參數需要做穩健性測試,加上濾網後,合併的參數數量若太多,WF的結果也不容易掌控了。
所以,超五的開發程序是先對策略原型做穩健性測試,然後在這個基礎下,再針對套入的進階模組如濾網,個別做穩健性測試。
濾網開發線上課程,原本應該是在第3篇(3階)的進階模組中,策略原型做過穩健測試後的程序,但是前面還有第2篇(2階)資金管理,進階模型必須建構在一個合理的資金管理模型基礎下,特別是自己實際會採用的資金管理模型。合理的程序,未必是每個人可以跟隨的,而且基於教育訓練政策,第1篇(1階)策略原型結業人數達100人,才會開放2階資金管理線上課程。
所以,提前上架了濾網開發線上課程,並且以單口的資金管理模型當範例,也略過策略原型的穩健測試,直接在濾網開發課程中,處理原型與濾網的穩健性評估。
上圖是6個濾網的64個組合結果,加上沒有濾網的原型(Test #1),#4是最佳ROA,淨利從8,261提升到12,499,但是經過穩健性評估後,超五選擇的是#19,淨利是9,405,只有增加1成左右,這符合不選擇最佳結果的原則,但不選最佳,到底要選第幾呢?濾網開發課程會示範如何建模型對規則做學習。