葉殷如
(深圳市前海匯富聯(lián)合基金管理有限公司,廣東 深圳 518000)
量化投資,即根據金融邏輯或統(tǒng)計規(guī)律等建立數學模型,并通過計算機進行策略的實現,近年來在國內金融市場上的地位日漸提高,在A 股市場中越來越多的機構與個人投資者開始使用量化方式指導投資決策。A 股市場中,量化策略按頻率分類主要分為高頻策略與中低頻策略,高頻策略數據最小時間單位為1tick(3 秒),中低頻策略數據最小時間單位為天。中低頻策略主要由交易型策略和基本面策略組成,而基本面量化最常見的一種模型大類為多因子模型,例如回歸模型、機器學習模型等。
對于A 股中低頻策略,多因子模型中的中低頻因子多為財務因子或財務衍生因子,由于因子眾多,因子間相似程度較高,計算機處理相關因子數據時有過多噪聲和不必要的運算,影響策略運行效率與質量,因此有必要對因子進行降維處理。在現行市場上中低頻因子逐漸失效的現實背景下,機器學習方法可以通過對大量歷史數據進行統(tǒng)計、回測、總結、計算和預測,達到提高勝率的目的。本文提出PCA_Adaboost 模型,即首先通過PCA 算法對多因子進行降維,得到的新因子作為Adaboost 的弱分類器,最終迭代學習出強分類器。
Adaboost 是一種常用的分類模型。Adaboost 算法是boosting 算法的一種改進[1],對多個弱分類器通過迭代進行權重的調整,最終合并成強分類器,提高分類性能,降低誤差。具體過程如下:
(1)假設測試數據為{(x1,y1),(x2,y2),…,(xn,yn)},其中y 為樣本標簽,y∈{-1,1};
(3)迭代T 次,得到強分類器
從模擬公式可以看出,弱分類器數量越多,迭代次數T 越大,計算冗余越多,模型運行耗時越長,計算精度越低。因此可結合PCA 方法對Adaboost 算法進行降維處理。
傳統(tǒng)的Adaboost 模型首先將每個特征值對應一個簡單分類器,再進行弱分類器的計算[2],但當特征值數量多且可能存在一定相關性的情況下,容易出現計算冗余,從而降低計算速度與計算精度,因此,可通過降維的手段,使用涵蓋信息量大且相關性低的新特征值進行替換。
PCA 算法是一種用于降維的無監(jiān)督學習方法,其原理為基于變量的協(xié)方差矩陣進行線性變換,基礎為K-L(Karhunen-Loeve)變換理論[3]。該方法根據多個因子面板數據,構成因子的協(xié)方差矩陣并進行變換計算,以達到將多因子轉換成相關性低的少數幾個主因子。具體過程如下:
假設有m 個上市公司,n 個因子,對數據進行去極值和標準化處理,記該矩陣為
求相關性矩陣R,R=(rij)n×n,則
其中,rij=rji,rii=1。
求R 的特征方程det(R-λE)=0 的特征根λ1≥λ2≥λ3≥…≥λn>0。
確定主成分個數p,根據實際問題確定
其中,a 為信息量比例置信度。
計算p 個單位對應的特征向量,計算公式為
所求主成分為
本文基礎股票池為中證500 內所有上市公司,對比標的為中證500 指數。測試時間段為2018 年7月1 日至2019 年12 月31 日。使用因子庫中涵蓋估值、財務質量、成長性、量價指標等全部134 個因子,采用PCA 算法對其進行數據優(yōu)化處理。
此次試驗中,換倉周期取為21 天,每期學習樣本窗口取為半年。為了降低數據噪聲對模型精度造成的影響,學習樣本僅取當天對應的未來21 天收益最高與最低的股票,即將未來21 天的超額收益按降序排列,取最高10%的股票標簽值記為1,最低的10%記為-1。因此,Xm×n矩陣由該樣本窗口內每一天對應的因子數據構成,Ym×1矩陣由樣本窗口內每一天對應的未來21 天收益所對應的標簽值構成。
檢驗(預測)樣本數據為第di天的因子數據,利用學習樣本窗口期的因子數據進行學習并得預測矩陣Y,根據預測的y 值選擇第di+1天買賣的股票,持有21 天后統(tǒng)計超額收益等相關指標,記錄后進行下一輪計算。
對全部134 個因子進行主成分分析,以確定主成分個數,如圖1 所示,信息量比例為各主成分的方差值占總方差的比例之和,可觀察到隨著主成分數量的增加,信息量比例同步增加,但增加的幅度逐漸減緩,為保證信息量比例在80%以上,此處選擇主成分的個數為30 個。
圖1 總方差-主成分數量統(tǒng)計圖
Adaboost 中有參數葉子節(jié)點最小深度、決策樹最深層數等參數需要設置,以使學習效果最好并降低過度擬合的風險,其中MD 為決策樹最大深度,MSS 為子樹再劃分最小樣本數,MSL 為葉子節(jié)點最小深度,NE 為弱學習器最大個數,LR 為權重調整系數為0.8。對上述參數進行優(yōu)化組合,以使超額夏普率最高?;販y結果中,AlphaSharp 為超額夏普比率,AlphaRtn 為超額收益,AlphaDrawdown 為超額收益在回測時間段中的最大回撤。
如表1 所示,所有參數組合結果與標的指數相比皆有明顯的正收益與正的超額夏普比率。當MD=3,MSS=30,MSL=5,NE=250 時,策略組合的超額夏普比率最高,超額收益最高,最大回撤較低。對于其他參數組合的結果,策略皆表現為具有超額收益與正的夏普率,模型有一定魯棒性。
表1 組合優(yōu)化結果
如圖2 所示,組合策略對于中證500 指數有明顯的正阿爾法收益,阿爾法策略回撤相比純多頭策略或指數明顯減小,且收益穩(wěn)定。在急跌的市場環(huán)境中仍具有正的收益,抗風險能力較強。
圖2 PCA-Adabbost 與中證500 收益圖
圖3 為每次換倉的勝率分布圖,按次統(tǒng)計平均勝率為51.5%,絕大部分次數勝率超過50。第2 類錯誤比例高于第1 類錯誤,且在大盤下跌時勝率會有所降低,存在改進空間。
圖3 勝率統(tǒng)計圖
如圖4 所示,對不進行主成分分析,直接將所有因子輸入Adaboost 模型所得策略與PCA_Adaboost策略比較,純Adaboost 策略累計收益較小且回撤較大,總體效果不如后者,PCA_Adaboost 策略對純Adaboost 策略有明顯提升。
圖4 PCA-Adabbost 與Adaboost 收益圖
如圖5 所示,預測標簽值為1 的多組合比預測標簽值為-1 的空組合收益更高。若交易規(guī)則允許做空或通過融券做空,做多多組合,做空空組合,測試結果在回測時間段內收益為10.55%,夏普比率為2.88,組合最大回撤-2.6%。多空組合策略收益穩(wěn)定,效果顯著。
圖5 多空組合效果圖
以上實驗可觀察出PCA_Adaboost 策略對標的指數中證500 有明顯的超額收益,當決策樹最大深度為3,子樹再劃分最小樣本數為30,葉子節(jié)點最小深度為5,弱學習器最大個數為250 時,策略換倉平均勝率超過50%,且收益最高,回撤較小,組合阿爾法的夏普率最高,對比純Adaboost 的策略效果更佳,優(yōu)化效果明顯。做多預測標簽值為1,做空預測標簽值為-1 的多空策略亦保持高收益率。綜上所述,PCA_Adaboost 投資策略具有穩(wěn)定的超額收益,小的波動,在A 股上市公司投資中有一定的應用前景。另一方面,此策略仍有改進空間。通過對比觀察圖2 與圖3,急跌行情中勝率下降,但Alpha 收益卻穩(wěn)步上升,代表個股權重或行業(yè)偏離對選股策略結果仍有所影響,而本次PCA_Adaboost 并未加以考慮。后續(xù)研究中,可結合權重修正、行業(yè)中性化等方向對模型進行優(yōu)化。