濾網開發--當沖策略

讓策略原型再進化的模組,如穩健性測試、濾網、多重進場等等
回覆文章
X5Super
文章: 102
註冊時間: 週六 9月 06, 2025 5:00 pm

濾網開發--當沖策略

文章 X5Super »

在論壇的學習區有一個ORB當沖系統建構的系列課程,其中有一篇是濾網開發,採用的是第一篇(1階)策略原型線上課程的最終範例。

濾網的意義,是把策略結果變的更有效能。

濾網開發課程中的濾網採用函數來開發,以降低對原策略的干擾,課程提供了6個濾網範例,1個是從AI開發與程式撰寫的示範得到的範例,其他5個是超五的範例,但課程並不僅止於提供濾網範例,還從效能的選擇到未來效能的預估性,提供了演繹示範來做更廣泛的思考。

當我們開發出濾網後,接著要思考2個問題:
  1. 策略原型加上濾網後,績效是不是變好?
  2. 在未來的表現中,濾網是不是仍然可以讓策略績效變好?
關於第1個問題,直接比較套入濾網前後的績效就可以知道了,當然,也可以把濾網的套用與否與參數值1與0來表示,然後做最佳化測試,在最佳化報表中列出了績效指標,我們就可以一目了然。

第2個問題,是我們比較容易忽略的:

回測的效能不代表未來的效能

就算我們把套入濾網的策略,做樣本外分析是有效能的,也不代表這效能來自濾網。

論壇的超五專欄「進階模組」版面中的文章「穩健測試:如何看待策略的回測結果?」,提到參數最佳化測試的3個穩健測試方法:
  1. 參數高原:由於最佳化測試參數是濾網別,數值沒有敏感度意義,因此不適用參數高原分析
  2. 樣本外分析:當我們選擇了樣本內學習期最佳績效的濾網,在樣本外的表現會如何?這個表現,濾網貢獻了多少?
  3. Walk-Forward Test:經驗上,濾網別的參數選擇不適合做。濾網並非是在要某些行情才使用,而是所有行情套上濾網後,剔除掉的交易大部分是不利的。
雖然只用了簡單的樣本外分析,卻採用2種不同樣本外期間的定義,並自行定義參數值選取的學習規則,得到合理的穩健性評估。

如同第1個方法,參數高原提到的,濾網別的參數值不具有敏感度分析意義,通常也不適合做WF,因為在不同期間採用不同濾網,似乎是過度匹配,但是當我們選定濾網後,是可以針對濾網本身採用的參數做WF測試分析的。

只不過,策略原型也有參數需要做穩健性測試,加上濾網後,合併的參數數量若太多,WF的結果也不容易掌控了。

所以,超五的開發程序是先對策略原型做穩健性測試,然後在這個基礎下,再針對套入的進階模組如濾網,個別做穩健性測試。

濾網開發線上課程,原本應該是在第3篇(3階)的進階模組中,策略原型做過穩健測試後的程序,但是前面還有第2篇(2階)資金管理,進階模型必須建構在一個合理的資金管理模型基礎下,特別是自己實際會採用的資金管理模型。合理的程序,未必是每個人可以跟隨的,而且基於教育訓練政策,第1篇(1階)策略原型結業人數達100人,才會開放2階資金管理線上課程。

所以,提前上架了濾網開發線上課程,並且以單口的資金管理模型當範例,也略過策略原型的穩健測試,直接在濾網開發課程中,處理原型與濾網的穩健性評估。

濾網穩健性評估.png

上圖是6個濾網的64個組合結果,加上沒有濾網的原型(Test #1),#4是最佳ROA,淨利從8,261提升到12,499,但是經過穩健性評估後,超五選擇的是#19,淨利是9,405,只有增加1成左右,這符合不選擇最佳結果的原則,但不選最佳,到底要選第幾呢?濾網開發課程會示範如何建模型對規則做學習。
============================================
臉書帳號:超五
臉書粉專X5Super交易系統
超五系統交易實作論壇 著作《超五系統交易:竹科工程師絕處逢生的量化交易世界》
============================================
回覆文章