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