朱玉輝 中國人民大學(xué)
預(yù)測滬深300 股指期貨的走勢,在研判經(jīng)濟(jì)趨勢和量化投資領(lǐng)域具有重要意義[11]。單一機(jī)器學(xué)習(xí)算法已經(jīng)在金融領(lǐng)域應(yīng)用中被廣泛研究。陳磊和何國輝(2016)通過訓(xùn)練C4.5 決策樹算法,使用結(jié)算價、漲跌、成交量和持倉量4 個屬性建模[7],對期貨價格進(jìn)行預(yù)測,具有一定的借鑒價值。陳添杰和陳雨桐(2002)將支持向量機(jī)模型用于上證50 股指期貨的實證分析[8],并獲得了較高的精度。陳標(biāo)金和王鋒(2019)將技術(shù)指標(biāo)和宏觀經(jīng)濟(jì)指標(biāo)共計10 個指標(biāo)作為國債期貨價格的預(yù)測變量[6],使用隨機(jī)森林模型預(yù)測,證實了宏觀經(jīng)濟(jì)指標(biāo)和技術(shù)指標(biāo)均對國債期貨價格具備一定的預(yù)測效果。組合機(jī)器學(xué)習(xí)算法也有初步進(jìn)展,王維紅和聶爽爽(2009)將三種機(jī)器學(xué)習(xí)算法進(jìn)行Bagging組合,對股票預(yù)測進(jìn)行預(yù)測[10],取得良好的組合效果。
文章分別運(yùn)用了梯度提升決策樹(GBDT)、決策樹(DT)與隨機(jī)森林(RF)三種機(jī)器學(xué)習(xí)算法分別對滬深300 股指期貨進(jìn)行擇時預(yù)測,并創(chuàng)新地通過對三種算法的預(yù)測結(jié)果和優(yōu)選兩種算法的預(yù)測結(jié)果進(jìn)行邏輯回歸集成學(xué)習(xí),加權(quán)集成計算新的預(yù)測概率,以獲取更高的準(zhǔn)確率,利用強(qiáng)分類器進(jìn)行集成學(xué)習(xí)和目標(biāo)優(yōu)選算法集成學(xué)習(xí)是在金融領(lǐng)域應(yīng)用的進(jìn)一步發(fā)展與完善。
1.決策樹
決策樹[1](Decision Tree,DT)模型是一種基于實例的歸納型機(jī)器學(xué)習(xí)算法,通過遞歸的特征選擇,不斷的生成樹形結(jié)構(gòu),并通過剪枝減少過擬合問題,從而通過樹形結(jié)構(gòu)的規(guī)則對未知樣本進(jìn)行分類。
Breiman 等人在1984 年介紹了一種CART算法[1],使用基尼系數(shù)(Gini Impurity,GINI)度量屬性分裂的優(yōu)劣。Quinlan 在1986 年提出了ID3 的算法[4],通過選擇最大化信息增益的特征,不斷的遞歸成樹。Quinlan 在1993 年又提出了基于C4.5 的決策樹算法[5],通過選擇能夠使信息增益比最大化的特征,不斷的遞歸成樹。
2.隨機(jī)森林
隨機(jī)森林[2](Random Forest,RF)算法本質(zhì)是Bagging,總體思路是通過多個決策樹模型組合,對模型的預(yù)測結(jié)果進(jìn)行少數(shù)服從多數(shù)的投票,可以增加模型的整體準(zhǔn)確度和魯棒性,效果比單個模型要好。同時,在單個的決策樹模型中,隨機(jī)選擇部分特征用于決策樹的構(gòu)建,一般情況下,推薦隨機(jī)選擇log2A個[2](A為特征總數(shù))。
其中,H(X)是隨機(jī)森林的分類結(jié)果,hk(X)是每一個決策樹模型的分類結(jié)果,Y是分類結(jié)果,I(●)是示性函數(shù)。
3.梯度提升決策樹
梯度提升決策樹[3](Gradient Boosting Decision Tree,GBDT),是一種基于決策樹作為基模型的Boosting 算法,Boosting 的思想是通過某種方式使得每一輪學(xué)習(xí)器在訓(xùn)練中更加關(guān)注上一輪學(xué)習(xí)錯誤的樣本,不同Boosting 之間的區(qū)別在于是采用何種方式訓(xùn)練,GBDT 是采用殘差迭代訓(xùn)練上一輪的決策樹模型。
GBDT 模型最終可以表示為CART 算法的加法模型:
其中,h(x;θm)表示第m個決策樹,θm為第m個決策樹的參數(shù),M為決策樹個數(shù)。
4.邏輯回歸
邏輯回歸(Logistic 回歸)模型雖然簡單,但是是一種非常重要的機(jī)器學(xué)習(xí)模型之一,常用于分類問題[9]。
按照邏輯回歸的思路,將上述三種單一算法的預(yù)測概率作為三個因子進(jìn)行輸入,進(jìn)行集成學(xué)習(xí)的Stacking 處理,公式為:
其中,y為滬深300 股指期貨的漲跌,x1為梯度提升決策樹模型預(yù)測的概率結(jié)果,x2為隨機(jī)森林模型預(yù)測的概率結(jié)果,x3為決策樹模型預(yù)測的概率結(jié)果,βi(i=0,1,2,3)為模型的估計系數(shù)。當(dāng)優(yōu)選兩種算法(梯度提升決策樹、決策樹)進(jìn)行集成時,β2=0。
分別計算AUC、平均年化收益率、復(fù)合年化收益率、最大回撤率、年化波動率、Calmar 比率和夏普比率,對模型的結(jié)果進(jìn)行評價。
從公開二級市場信息中下載滬深300 股指期貨指數(shù)(IF 主連,IFL8)2010 年4 月16日 至2020 年12 月31 日期間550 周的周線數(shù)據(jù),選取開盤價(Open)、最高價(High)、最低價(Low)、收盤價(Close)、成交量(Vol)、MACD.DIF、MACD.DEA 和MACD.MACD 數(shù)據(jù),并計算周內(nèi)最高價與最低價價差(Range)、周內(nèi)收盤價與開盤價價差(Intra_Return)和一周收盤收益率(Weekly_Return),共計11 個因子,下一周周收益率是漲是跌作為預(yù)測值,采取用過去10 周預(yù)測未來一周漲跌的滾動預(yù)測方法進(jìn)行擇時買入,即如果預(yù)測為1,則按照次周開盤價進(jìn)行買入,于次周收盤價進(jìn)行賣出,并計算收益;如果預(yù)測為0,則次周空倉等待,最終形成凈值曲線。
首先,使用梯度提升決策樹、隨機(jī)森林和決策樹三種單一分類方法分別對滬深300股指期貨進(jìn)行了漲跌的預(yù)測,滾動回測的結(jié)果畫圖(見圖1),并計算上述的算法評價指標(biāo)(見表1),然后通過對三種算法的預(yù)測結(jié)果進(jìn)行邏輯回歸集成,計算新的預(yù)測概率,按照上述的買賣和空倉邏輯進(jìn)行回測,凈值曲線的畫圖和算法評價指標(biāo)見圖1 和表1。
其次,考慮到文章中使用的因子較少,無法發(fā)揮隨機(jī)森林在因子選擇上進(jìn)行多重組合的優(yōu)勢,僅僅通過對決策樹和梯度提升決策樹兩種優(yōu)選算法的預(yù)測結(jié)果進(jìn)行邏輯回歸集成,計算新的預(yù)測概率,同樣按照上述的買賣和空倉邏輯進(jìn)行擇時并計算算法評價指標(biāo),凈值曲線的畫圖和算法評價指標(biāo)見圖2和表1。
如圖1、圖2 和表1 所示。
表1 指數(shù)、單一模型和Stacking 集成模型的評價指標(biāo)對比
圖1 梯度提升決策樹(GBDT)、隨機(jī)森林(RF)、決策樹(DT)與基于這三種機(jī)器學(xué)習(xí)Stacking集成模型(Combined 3ML)的滾動回測凈值圖(IFL8為滬深300股指期貨走勢圖)
圖2 梯度提升決策樹(GBDT)、決策樹(DT)與基于這兩種機(jī)器學(xué)習(xí)Stacking集成模型(Combined 2ML)的滾動回測凈值圖(IFL8為滬深300股指期貨的走勢圖)
1.預(yù)測準(zhǔn)確度
不管是選擇全部算法結(jié)果進(jìn)行集成,還是優(yōu)選兩個算法進(jìn)行集成,集成學(xué)習(xí)模型預(yù)測準(zhǔn)確率比單個的機(jī)器學(xué)習(xí)模型預(yù)測準(zhǔn)確率都更高。
2.年化收益率
(1)所有用機(jī)器學(xué)習(xí)預(yù)測的模型收益率均戰(zhàn)勝指數(shù)本身,如果對收益率做簡單平均,差距會更大;
(2)集成模型收益率優(yōu)于單個機(jī)器學(xué)習(xí)模型的收益率;
(3)在單個機(jī)器學(xué)習(xí)模型中優(yōu)選兩個收益率更高的機(jī)器學(xué)習(xí)模型(DT 和GBDT)進(jìn)行邏輯回歸集成,收益率優(yōu)于直接對三個模型進(jìn)行集成。
3.最大回撤率
(1)所有用機(jī)器學(xué)習(xí)預(yù)測的模型最大回撤率均比指數(shù)本身回撤更?。?/p>
(2)集成學(xué)習(xí)模型回撤比率均小于單個機(jī)器學(xué)習(xí)模型的最大回撤率;
(3)對三個機(jī)器學(xué)習(xí)模型進(jìn)行集成的最大回撤率小于優(yōu)選兩個機(jī)器學(xué)習(xí)模型集成的最大回撤率,符合收益越高,風(fēng)險越大的經(jīng)濟(jì)理論。
4.年化波動率
(1)所有用機(jī)器學(xué)習(xí)預(yù)測的年化波動率均比指數(shù)本身更低;
(2)集成模型年化波動率略高于單個機(jī)器學(xué)習(xí)模型的年化波動率,以稍高的年化波動率換取更高的收益和更低的最大回撤率。
5.Calmar 比率
(1)所有用機(jī)器學(xué)習(xí)預(yù)測的Calmar 比率均比指數(shù)本身更大;
(2)集成模型Calmar 比率均遠(yuǎn)大于單個機(jī)器學(xué)習(xí)模型的回撤率;
(3)對三個機(jī)器學(xué)習(xí)模型進(jìn)行集成的Calmar 比率大于優(yōu)選兩個機(jī)器學(xué)習(xí)模型集成的Calmar 比率。
6.夏普比率
(1)所有用機(jī)器學(xué)習(xí)預(yù)測的模型夏普比率均跑贏指數(shù);
(2)集成模型夏普比率均大于單個機(jī)器學(xué)習(xí)模型的夏普率;
(3)對三個機(jī)器學(xué)習(xí)模型進(jìn)行集成的夏普比率略小于優(yōu)選兩個機(jī)器學(xué)習(xí)模型集成的夏普比率。
文章通過對梯度提升決策樹、隨機(jī)森林和決策樹三種單一方法分別對滬深300 期貨指數(shù)(IFL8)進(jìn)行了擇時預(yù)測,準(zhǔn)確率分別為53.48%、52.96%和55.90%,三個模型最高凈值為3.3975。然后,對三種算法的預(yù)測結(jié)果進(jìn)行邏輯回歸集成,重新產(chǎn)生新的預(yù)測結(jié)果,預(yù)測準(zhǔn)確率為59.87%,累計凈值4.3509;考慮到收益率、AUC,也考慮到隨機(jī)森林更適合因子個數(shù)非常多的情況,優(yōu)選出梯度提升決策樹和決策樹兩種算法的預(yù)測結(jié)果進(jìn)行邏輯回歸集成,重新產(chǎn)生新的預(yù)測結(jié)果,預(yù)測準(zhǔn)確率為60.21%,累計收益凈值為4.9049。機(jī)器學(xué)習(xí)模型集成的預(yù)測準(zhǔn)確率相對三種單一算法有較大的提升,滾動回測的凈值相比三個單一模型中最高凈值提升了1.5074,且顯著增加了策略的Calmar 比率和夏普比率,適合追求更高收益率的基金策略。
總體實驗的滾動回測結(jié)果表明,將多種單一機(jī)器學(xué)習(xí)模型的預(yù)測結(jié)果,使用邏輯回歸(Logistic 回歸)再次進(jìn)行全部集成預(yù)測或通過優(yōu)選機(jī)器學(xué)習(xí)算法進(jìn)行邏輯回歸,可以提升算法的準(zhǔn)確率和魯棒性,為機(jī)器學(xué)習(xí)在量化投資領(lǐng)域的應(yīng)用開辟了新的道路,滾動回測同時也避免了隨機(jī)分組成訓(xùn)練組和測試組所導(dǎo)致的用未來數(shù)據(jù)來預(yù)測歷史數(shù)據(jù)的問題,同時滾動的方式更加符合實際的操盤。
本次研究的不足之處在于僅僅探索了較少的因子,把重心放在了機(jī)器學(xué)習(xí)集成的新算法上。影響金融和經(jīng)濟(jì)發(fā)展的因子非常復(fù)雜,較少的因子對走勢的描述勢必不夠全面,可以嘗試將成百上千的指標(biāo)因子運(yùn)用于上述算法中,以期獲得更好的效果。另外,結(jié)合期貨等衍生品的特性,將預(yù)測為0 時的空倉,轉(zhuǎn)換成做空的信號,更好地利用衍生品的多空優(yōu)勢,更能增加策略的收益和收益回撤比。