均值回歸與資金管理

(截自 量化思維臉書粉絲專頁,我大部分的閒聊都在那裡,建議大家平常就看那裡就好)

[補一下之前關於WalkForwardOptimization那個坑]

以下截圖自該篇文章

有來信問說能不能補一下圖中紅色框那個坑……..

我簡單地補一下,基本上WFO這個概念跟動態資金管理(評價函數)實際上運作的概念是相似的,都是為了盡量減少統計偏差而出現的一種管理架構,差別只在於一個是單期、一個是動態。但他們實際上在實際運作時都會遇到一個問題,就是這樣的架構本身不帶噪音或商品特徵處理(很正常,因為噪音或商品的個別特徵本來就不應該是管理架構要處理的問題),所以很容易帶來一些誤解,像是你會發現使用了WFO變更參數的結果可能反而會造成短期內運作的結果還不如原本沒更改的參數(像前陣子X5兄做的那個回測測試結果),放到動態資金管理(評價函數)這邊來也是一樣,可能有的同學會發現為什麼有時候常常評價跟著行情上去了,排序或權重上去了卻反而要開始盤整了。

其實背後的原因都是相同的,因為噪音(或商品特徵)沒有被妥善處理就跟著進入了管理層。而剛好多數人目前所涉略的商品都是指數類的商品為主,而恰好指數類型商品最大的噪音來源或商品特徵就是”均值回歸”,所以要解決這個問題,其實應該從策略或商品上來處理會有比較好的效率,當然管理層處理也行只是效率不會比直接對策略或商品那麼好。

所以如果要從管理層來處理,WFO排序所使用的目標函數或動態資金管理所使用的評價函數可以選用具有Robust特性的函數(參考評價函數的Robust特性一文),可以減緩均值回歸特性所造成的影響,請不要使用前端平台(如MC)預設的 netprofit 作為排序函數。

如果從策略層處理,效果會好很多,如果你手中有管理平台的話,基本上在我們平台內已經有範例可以直接使用,請直接參考風險位階跟DD管理(建議你6種mode的源碼都要看一下),另一個是波動率這個我還沒放(因為跟DD管理有點殊途同歸,同質性高)。本來以前Xeus沒有放這些均值回歸處理的東西進平台是因為我感覺這些不是管理層應該要做的事情,但後來發現蠻多同學在使用管理的時候還是會遇到這個問題(畢竟指數類商品確實還是多數人在做的東西),所以就在去年趁Xeus升級到QuantBrains的時候加強了這個部分,但我其實還是把他歸類在策略層。所以如果你有習慣使用WFO的模式選參數後才掛入平台中進行管理的話,可以直接使用平台內的風險位階與DD管理的功能來處理均值回歸特性。

如果你只有在使用WFO,但手中又沒有管理平台,一般我會建議兩個方式可以參考,一個是策略面,策略裡一定要有風險平價處理(參考我寫的風險平價相關文章),使用跟均值回歸有明確關聯的PiskParity函數,像是”標準差”來做部位標準化之後才來跑WFO,這點真的很重要,一個是資料面,如果剛好是漂亮行情結尾,那一段資料不要用,直接截掉。