嘗試調降交易模型的回撤風險(2 合理的目標函數)
昨天我們說了建模測試的環境,突出幾個關鍵字:各品種等資金分配(手數固定),全品種建模,無參數優化,引入日頻振幅或ATR控制止損等。其實都是為了提升模型的可信程度,讓樣本容量儘可能大,讓倖存者偏差儘可能少。
今天簡單談談合理的目標函數。我在大概2年前建模的時候,眼睛裡只有凈利潤,因為當時手工交易實際上頻率很高,帶來的單筆回撤不大,而且手工交易難成長期貫穿的體系,所以利潤是第一追求目標,認為模型一定要達到極高的收益,忽略了回撤。
後來開始關注收益風險比。從這時開始,我們開始考慮每一次交易中,利潤從最高點回撤到最低點的過程。我們同時看到,如果單一追求利潤,可能導致單筆交易利潤貢獻不穩定,以及在盤整震蕩時期的資金曲線回撤很大。
當我們觀察到現象,就可以採取應對措施了,比如模型本體的平倉條件信號過慢,我們用回落幅度追蹤止損加速其平倉信號值發出。再比如,我們調整任何一個模塊的時候,都可以觀察其是否有能力降低每一次的利潤回落速度,我們稱之為平均回撤。
與平均回撤對應的是:調整後收益風險比。這個目標函數相當有趣,在我們看來它才是真正的風險(回撤)表達方式,它不僅考慮最壞的那一次或者那段時間,而是考慮每一段時間,每一次的利潤回吐。當我們用各種方法調升調整後收益風險比的同時,最大回撤也得到控制,收益風險比得到提升。
再後來我們關注了夏普比率,理論上夏普比率越大,就說明獲得同樣投資收益率的波動性比較小,也意味著投資回報率的可複製性也越高。但是鑒於測試樣本的不足,以及夏普比率僅是對每一次平倉後的收益做分析,對於價格回撤這個動作的控制依然不足,所以它作為參考指標之一。
勝率呢?勝率我們作為不同類型模型的判別標準,比如趨勢類勝率在35%左右,震蕩類勝率在65%左右,而勝率在同一類模型中,是沒有太重要的評比意義的。
交易次數呢?理論上交易次數不能太多,但是恰巧交易次數是模型和行情發生了一次「關係」,如果發生了很多次「關係」,依然能夠保持較好的收益風險比,我們是不是可以更加確信這個模型的穩健呢?顯然是這樣,所以在較高的手續費率設置下(這個問題昨天忘記說明,我們通常設置萬5~萬10的費率+開平各1跳滑點),只要資金曲線穩健,交易次數多一些,沒有太大問題。
在等手數開倉的測試環境下,我們還會考慮一個目標函數,資金曲線的R平方值,R-square來描述數據對模型的擬合程度的好壞,在資金曲線測試中,是資金曲線和直線的擬合度指標。R平方值可以表示出你的模型是否基業長青,還是說在某些時段出現了嚴重衰減。R平方值在同一個類型模型中,差別不大,在模型迭代過程中,可能由於我們多品種的關係,差別也不大。但是在針對單品種測試中,和複雜模型測試中,R平方值有模型鑒別能力。
健全的測試環境,健康的目標函數,是程序化交易模型逐漸走上正規的起點。
當然你的水平逐漸提高時,還可以構建複雜目標函數,它是幾個傳統目標函數的組合關係,或者僅是權重打分。利於迭代模型和一些機器優化。
推薦閱讀:
※明明努力練背,卻依然不夠寬 為什麼不嘗試這些訓練?
※幾款自製糯米滋的美味做法,香糯爽口的美食喜歡嘗試一下
※訂閱 | 絕對不要輕易嘗試的整形手術
※提升你的跑步能力,你需要嘗試這種超燃的訓練方法
※新刊首發 關曉紅 | 清季引入近代文官考試的醞釀與嘗試(一)