評價函數的穩健特性(Robustness)

今天來稍微花點時間聊一下評價函數的魯棒特性(Robustness,我也不知道為什麼有人翻譯成魯棒性,還是叫穩健性比較直覺),直接先從討論區裡幾年前的舊文(怎麼現在動不動一開口就是幾年前,真的是老了)開始好了

上面我們對所謂的<穩健>下了一個定義

穩健的定義是:如果我們對數據稍做改變,而不會顯著影響這個統計指標的數值,我們就稱其為穩健(Robust)。

這定義如果我沒記錯的話應該在上面講到的那本書(海龜投資法則)裡會有比較詳細的說明,雖然我已經好幾年沒翻了,放到哪去了呢 XD

穩健的定義不特別只用來形容評價函數,也可以用來形容策略或任意時間序列的走勢

在我們討論區裡有列了一些評價函數或網路上大家比較常看到一些評價指標,我們大概可以用這個特性做區分簡單地把他們分成兩類(好像是廢話),一種就是穩健型(一般常見的是綜合指標類,也就是多個指標混在一起評價的結果、均值類、回歸分析類),一種就是非穩健型(netprofit/Kelly/Optimal-F/MAR/CAGR/Sharpe Ratio)

只講定義比較模糊,看張圖就比較容易理解了

圖表的最下方有兩條評價函數指標所產生的數值,其中黃線跟紅線在表現上就有非常明顯的差異,黃線(Opt-F)代表的就是非穩健的狀態,紅線則是穩健的狀態

非穩健(non-robust)的狀態非常容易受到移動窗格的起始點跟結束點產生明顯的變化(但還是會在一定的範圍之內),穩健(robust)的狀態則呈現鈍化的狀態(對窗格的移動或損益的變化反應不明顯)

那我們應該選用哪一種評價函數好,雖然我前面截圖內有些武斷地說robust比較好,但其實還是有討論的空間。要選擇哪一種好,從細節上來說應該回到我們之前在討論的關於評價函數的設計來做決定,也就是你想選擇的是風險還是利潤

要講風險(雜訊)跟利潤,我們先暫時從 資金管理層 跳到 策略層 這邊來好了

不好的權益曲線跟好的權益曲線

(或應該說新手跟老手的權益曲線? anyway)

通常隨著我們在市場的時間越久,我們會開始學到該怎麼辨別不同的時間或是不同的狀態下,市場的風險(噪音/不確定性)機率分布高低大概是怎麼樣,然後我們會開始知道哪些訊號在哪些時間或哪些狀態要做或不要做(濾鏡)

下圖可能就是我們一開始的策略(新手),照著指標(均線/RSI/KD…..etc.),每個訊號都做

非多即空,反正就機械式操作,訊號跟緊就對了,長期來看還是會賺,虧損(不好做)跟獲利(好做)就是一個循環,我們會告訴自己跟緊就對了,一定要有信心信心信心,只要有信心,市場不會虧待你的,只要撐過去盤整,終究會再迎來曙光

隨著時間過去,一次又一次的磨合,一次又一次的信心重建,一次又一次的觀察,我們開始會對市場有比較多的了解,對週期的掌握、辨識風險(噪音)的能力也會慢慢增加

我們可能開始知道策略多空不要寫在一起,或是什麼時候風險會增加,哪些機會寧願放掉不要做(不同時間的風險機率分布,不同區域的風險機率分布)

然後你會發現隨著你從新手變成老手(每個人頓悟的時間可能不同,有人帶的話確實快一點,然後你還會發現真是江湖一點訣,說破好像也很簡單怎麼以前都沒看出來),上面幾個圖都是同樣一個均線買賣指標卻在你的風險(噪音)辨識能力(濾鏡)提升之後越來越呈現階梯狀(低噪音,出手有效率)。

(你可以思考一下為什麼好的權益曲線不是那種新手用一堆參數搞出來的45度螢光毛毛蟲,而是階梯狀,因為市場正常的循環常態是”盤整””波段””盤整””波段”,其中盤整(噪音段)的時間甚至占了更大的那一部分)

通常階梯狀的權益曲線代表你大致上已經可以抓到或掌握某個(不是全部)大厚尾發生的時間,而盡量閃過盤整的時間(辨識波段與循環的發生時機)。(為了怕有人誤解,還是說明一下,我們不太可能只交易最後那張圖,那可能兩年都不用作單XD,但我們實際操作還是會依據實際風險機率分布的不同,給予相應大的注碼。不過市場上確實還是有人平常都不怎麼做單,專門等這種大條事件壓大注,但如果只做一個商品會等的很無聊,通常會做一籃子商品或股票)

這裡其實只是要大概講一個東西,即使是上面那些圖原始指標都是同一個,但每個訊號其實是會因為不同的時間點,不同的分布區域,會伴隨著不同的噪音(風險)(這裡講的風險機率分布現象還要通過一籃子商品共同檢驗,在不同的商品(樣本空間)都可以看到類似的特性,而不是拿一堆指標兜在一起過度最佳化XD)

關於策略真要寫好像可以寫很多,還是先打住好了,沒在開課講這些太虧了,哈XD

還是先拉回我們的資金管理主題

上面說那些,其實只是要說一件事情 — "噪音"

噪音是不會憑空消失的,只是有時候高有時候低

也就是說如果你的策略層訊號噪音高,他是會跟著進入管理層的

現在我們可以回到原題了,評價函數的穩健特性

最前面我們說到非穩健特性(non-robust)的評價函數(netprofit/OptF/SharpeRatio)容易因為窗格的移動或價格的起點/終點的不同而有比較劇烈的變化(敏感)

這樣的特性就導致評價函數容易背到一個黑鍋

FAQ:用了評價函數似乎很常遇到一個狀況,當策略賺錢的時候,分數越來越高,造成資金配置拉升或Ranking的名次升高,反而因為進入了盤整循環(噪音),卻變成了大部位開始賠錢

這其實是對<策略層>跟<資金管理層>的預設前提與目標不熟悉所產生的一個誤解誤會誤用

在策略層我們的預設目標可能很多,像是捕捉商品的微觀特徵(週期特性/買賣量特性/波動率特性/波段與盤整循環等等),辨識風險機率分布(資金管理層也是可以,但通常放在Level-2,巨觀的)

在資金管理層的目標則著重於挑選/獎勵制度(加減碼)/大部門的資金流動分配(Rebalance)/辨識巨觀的風險機率分布。

其實所謂的管理很簡單,用公司制度去思考就可以了,表現好,公司就給予你比較多的獎金,表現不好公司就扣你的獎金,你是部門的業績之星,公司就再給予你額外的獎勵。

但如果你(策略)的業績表現不穩定怎麼辦? 這一季好,下一季不好,下下一季又好了,甚至可能不怎麼規律,一下一季好,一下兩季不好

很顯然只有兩條路可以選,一個是改善你自己(策略)的風報體質,增加抗躁與風險辨識的能力,另一個則是公司制定更為有鑑別力或穩健的評鑑指標

前者(改善策略降噪體質)說實在………我會比較建議同學走這一條比較正規的道路,盡量學會各種過濾高噪音的技巧(濾鏡),分辨哪些訊號該放掉,但確實也急不來,沒有人帶的話通常需要比較久的時間做進化(別誤會,目前沒有理由也沒有打算開課講這些XD),盡量往階梯狀去進化減少無效率的進場,而不是放著忍耐波段跟盤整都同時在裡面喇

後者(改善評鑑指標鑑別能力),又可以講回原題了,透過穩健特性來盡量避免短期內錯誤的分配(無法完全解決,畢竟噪音還是進來了),穩健特性簡單講就是透過”鈍化”來減輕短期內產生的噪音風險(相對地也會鈍化獲利與加碼的速度)

既然如此,關於前面那個問題是不是選具有穩健特性的評價函數來做管理比選用非穩健特性的評價函數會比較好? 不一定。這又回到我們之前所說的,評價函數的設計跟選用,主要是依據你自己的狀態跟需求來進行設計或選用,風險還是利潤?

穩健特性(有鈍化的性質)會抑制短期內的風險上升,相對地也會抑制你的潛在(加碼)獲利,這只是一種tradeoff,如果你的策略本身具有非常良好的抗躁能力,選用非穩健性的評價函數可以讓你在大行情中迅速反應(加碼),但對一般新手或對於策略抗噪能力的掌握還不是那麼好(不是那麼漂亮的階梯狀權益曲線)的同學,改為選用穩健特性的評價函數則比較能避免(或許用減輕這個詞比較好,畢竟噪音還是會跟著策略進來資金管理層)前面那個FAQ的狀況。(不知道為什麼,穩健特性會讓我聯想到Direct-sequence spread spectrum,可能不一定有什麼關係,但讓我像到那個原理的畫面,別理我XD 工科的murmur)

所以,如果你發現策略總是因為在波段獲利之後透過評價配了大部位或好排名,卻又在下一個盤整循環加速吐回去,上面兩條方向給你參考。

(謎之音:那專注在前者把策略寫好就好了啊,幹嘛還要專注在管理?好策略何必管理?)

基本上兩層沒有衝突,如果永遠只交易幾個策略或少少的商品,那確實靠你自己人肉管理也行,不過我自身經驗,其實路都不會是白走的,做到後來我覺得策略跟管理裡面還蠻多概念可以互用的,後期有段時間專注在管理的概念跟架構上,卻發現一些觀念拿回策略內用也不錯(也很合理,其實都是時間序列的處理,不過管理可以有更多發揮,可以讓金流在不同的樣本空間流轉,更有效地提高資金利用率),小孩才做選擇,我兩個都要精進,策略專注在進場質量的精進(單一時間序列),管理則放在策略品質的篩選或商品間交互的關係(多時間序列)

其實好像還有穩健特性與風險的進一步應用還沒講,這個應用挪到策略裡正好就是很好的風險機率辨識的工具(濾鏡),這部分我會再找時間補在討論區裡給同學,公開場合這部分就先保留了。

粉絲專頁: https://www.facebook.com/quantbrains.club

進化特區