【量化投資】基金擇時策略淺析(4) ——參數優化和模型穩定性


參數優化

回顧一下之前我們列舉的自下而上擇時方法的實例:1)首先計算目標集合S中每隻成分股近K=30日的收盤價極大值和極小值,2)然後統計昨日收盤價等於極大值的股票數量M1和昨日收盤價等於極小值的股票數量M2,3)計算指標F=(M1-M2)/size(S)用來表示股票集合S的市場熱度,4)設定閾值T=50%,如果F>T則市場狀態爲牛市,反之爲熊市。

在這個策略框架下,可調整的參數有兩個:個股的近期股價極值取最近K=30日還是其他區間,以及閾值T應該設爲50%還是其他值。其中K的變動要作用到集合中的每一隻股票,所以它的優化比較麻煩一些,在實際操作中可以直接根據經驗將K固定到少數幾種取值上進行對比測試,而不是進行大範圍的調整,就像機器學習模型中的超參數。因此我們這裏以T爲例來闡述模型參數的優化過程。

在上文中我們曾經提到,如果簡單的將T設爲50%,那麼策略出入場信號會比較頻繁,導致較高的交易成本,而將T拆分成出場閾值和入場閾值,可以起到緩衝的作用,在保證策略總收益的前提下,可以大幅降低交易成本。因此我們將優化問題的可變參數設定爲2個,即入場閾值t1和出場閾值t2。完整的優化問題描述如下:

上述優化問題是一個典型的量化策略優化問題,由於這類問題的場景定義比較自由,所以一般不容易套用嚴謹的數學優化方法。實際操作中可以選用各類編程或數據分析工具來解決這個問題,比如目前流行的基於python或者java的雲端量化策略開發工具,或者使用python/R語言自行開發回測系統,對於不熟悉編程工具的初學者也可以用excel的規劃求解工具來實現。下面以excel爲例簡要介紹參數優化的過程。

圖1:用excel求解策略參數最優化問題示例

其中第三列爲指標原值,即F=(M1-M2)/size(S)的值;第四列爲出入場信號,由F值通過公式計算得到,公式邏輯爲“如果當前已經入場,並且F達到出場閾值t2,那麼賣出資產,賣出後每日的淨值增長率爲1,如果當前沒有入場,並且F達到入場閾值t1,那麼買入資產,買入後每日的淨值增長率等於目標資產的日增長率”;第五列爲策略累計淨值,即爲第四列日增長率的累乘值。可變參數爲t1和t2,目標變量爲策略期末累計淨值增長率與滬深300增長率的差。工具選擇規劃求解加載項,優化方法選擇演化。設定好參數之後運行規劃,很快會得到最優的可變參數值t1=0.536,t2=0.522,最大超額收益526%(年化收益約12%)。

模型穩定性

金融市場雖然看似數據豐富,但在實際的建模應用中數據並不總是“豐富”的:一方面,金融市場屬於由人的行爲構成的社會科學,其本身的規律性和可預測性比較差,大量的不可預測因素主導着市場的波動;另一方面,數據的豐富程度還受模型週期的影響,模型頻率越高可用樣本數據就相對越豐富,而對於本文討論這類基於技術指標的低頻率交易策略來說,其捕獲的行情模式和交易機會在訓練數據(歷史數據)中的出現次數都十分有限,因此從統計意義上講樣本數據並不豐富。

數據的相對缺失使得這類交易策略在訓練過程中很容易發生過擬合,常見的情景可能是這樣的:參數的微調導致交易系統恰好捕捉到某次大級別的行情,而這一筆成功的交易使回測的整體收益大幅度提高,建模人員非常開心的上線實盤模擬,然而這個策略在實盤中並沒有預期那樣出色的表現。因此,在建立量化交易模型的時候,必須要重視模型的穩定性,避免過擬合。

圖2顯示的是上述策略在最優參數附近的表現,其中底面的座標分別是t1和t2,高度表示期末總收益。紅色圈的位置就是優化工具找到的全局最優點T=(0.536,0.522)(由於作圖精度的問題,真實的最高點比圖中要高一些),紅色箭頭表示全局最優點沿三個不同方向變化的梯度,很容易看出參數值的微小變化將導致總收益明顯下降,另外一個局部最高點(藍色圈)也存在類似的問題,參數每變動0.05,總收益的可能從500%下降到400%。

圖2:自下而上策略參數的局部最優及梯度變化

圖3顯示的是雙均線交易策略的最優參數以及其附近的表現,在其最優點附近也存在梯度急劇變化的情況。

圖3:雙均線策略參數的局部最優及梯度變化

上述局部最優值的尖峯特徵說明回測期間的最高收益通常來自於偶然事件,不能直接推廣到未來的實盤應用。如果把策略參數優化看成是對真實最優參數進行估計的話,那麼回測結果最優的那個極值點往往不是最優的估計值。我們應該找到參數的一個合理範圍——在這個範圍內,策略總能有不錯的表現,最終選定的參數值應滿足“在任何一個方向上的小幅度變化都不能使策略崩潰”——這樣才能降低參數估計錯誤的代價。

行情簡評

我們實現了一個基於自上而下指標的大盤熱度模型,模型近期(4月份至今)的熱度判斷見圖4,圖中暫以0.5作爲出入場判斷的分界線(實際操作中可以加上緩衝區間),綠色箭頭表示模型的賣出時點,紅色箭頭表示買入時點。在圖中所示區域,模型成功躲避了長達一個月的下跌行情以及個別短期暴跌的行情。同時模型顯示當前時點(2017年7月28日收盤)是一個潛在的入場機會。

圖4:大盤熱度模型4月份至今的表現

結語

在股票市場的建模過程中,樣本數據是相對稀缺,回測很容易受過擬合的影響,因此模型的穩定性比參數最優化更重要。在實際的建模過程中應避免直接將最優回測參數應用於實盤,應該重點考察參數的穩定性。



微信掃一掃
關注該公衆號

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章