徐凱,趙旋,王杰平,嚴(yán)芬芳,胡文芳
(1.貴州財(cái)經(jīng)大學(xué)信息學(xué)院,貴陽(yáng) 550025;2.貴州財(cái)經(jīng)大學(xué)大數(shù)據(jù)應(yīng)用與經(jīng)濟(jì)學(xué)院,貴陽(yáng) 550025)
國(guó)內(nèi)A股總市值成長(zhǎng)迅速,從20世紀(jì)90年代僅僅24億元,8個(gè)公司上市,GDP占比0.13%,到2020年A股上市公司規(guī)模居世界第二,共計(jì)83.83萬(wàn)億元,有4112家公司上市,GDP占比增長(zhǎng)為66.41%[1]。全球資產(chǎn)和財(cái)富管理規(guī)模,預(yù)計(jì)將從2016年的84.9萬(wàn)億美元增長(zhǎng)到20251年的145.4萬(wàn)億美元[2]。隨著國(guó)內(nèi)、外投資市場(chǎng)的發(fā)展,對(duì)投資策略的研究和需求迅速增加。
Fama等人[3]最早提出因子投資模型,通過(guò)實(shí)證研究影響美國(guó)股市回報(bào)率的因素,發(fā)現(xiàn)市盈率。市值以及市值比這三個(gè)因素會(huì)影響美國(guó)股票市場(chǎng)的回報(bào)率。大量的投資策略研究基于Fama等人的因子模型。Wendong等人[4]使用遺傳算法對(duì)因子特征進(jìn)行加權(quán),分別增大和減少影響較大和影響較小因子的權(quán)重,同時(shí)結(jié)合支持向量機(jī)模型,建立了GA-SVM多因子選股模型。該模型可以識(shí)別股價(jià)波動(dòng)趨勢(shì),通過(guò)對(duì)中國(guó)A股數(shù)據(jù)進(jìn)行模型驗(yàn)證,可以有效識(shí)別出股價(jià)的波動(dòng)趨勢(shì)。相關(guān)研究表明,更多的因子有利于提升投資模型的表現(xiàn)。Fama等人[5]進(jìn)一步,采用五因子模型,整合了投資、盈利指標(biāo),研究發(fā)現(xiàn),運(yùn)營(yíng)盈利能力較高且總資產(chǎn)增長(zhǎng)率較低的公司具有高于平均水平的回報(bào)。Chen等人[6]結(jié)合深度信念網(wǎng)絡(luò)和卷積神經(jīng)網(wǎng)絡(luò)的優(yōu)點(diǎn),通過(guò)深度信念網(wǎng)絡(luò)構(gòu)建多個(gè)隱藏層,增強(qiáng)模型的學(xué)習(xí)能力,通過(guò)卷積神經(jīng)網(wǎng)絡(luò)提升數(shù)據(jù)的特征提取能力,將模型用于預(yù)測(cè)股指期貨價(jià)格變動(dòng),預(yù)測(cè)精度達(dá)到了60%以上。
相關(guān)研究已經(jīng)證明多因子投資模型的有效性,如何更好的選取因子值得進(jìn)一步研究。但多數(shù)的研究提出的因子分析模型往往較為復(fù)雜,可解釋性不夠明確。例如利用支持向量機(jī)或者深度神經(jīng)網(wǎng)絡(luò)進(jìn)行因子分析,往往無(wú)法直觀地看出因子對(duì)模型的影響。Chen[7]等人利用可解釋性更強(qiáng)的隨機(jī)森林模型,構(gòu)建了結(jié)合隨機(jī)森林模型,以及情感分析的投資模型RF-SA,獲得了比上證指數(shù)更高的收益率。梯度提升樹(shù)模型作為一種可解釋較強(qiáng)的機(jī)器學(xué)習(xí)模型,可以有效地對(duì)投資因子進(jìn)行分析。本文結(jié)合梯度提升樹(shù)和多因子分析模型的優(yōu)點(diǎn),用以解決投資決策問(wèn)題。首先構(gòu)建出投資因子,然后通過(guò)信息增益對(duì)因子進(jìn)行排序,對(duì)投資因子進(jìn)行排序分析,最后通過(guò)梯度提升樹(shù)模型對(duì)投資標(biāo)的進(jìn)行分類。通過(guò)設(shè)計(jì)合理的交易策略,分析近一年半的A股數(shù)據(jù),對(duì)3101只股票進(jìn)行了投資分析。和上證指數(shù)的收益相比,本文提出的投資策略收益高出20%,能夠較好的提升投資收益。
信息熵定義如公式(1)所示,可以度量樣本集合純度。若樣本集合A的第i類樣本比例為P i(i=1,2,…,m),則A信息熵IE(A)定義為:
這里信息熵IE(A)值越小,則A純度越高,顯然IE(A)最小值和最大值分別為0和log2m。假設(shè)屬性集為C={a1,a2,…,a N},即對(duì)于屬性a,取值有N個(gè),屬性a有N個(gè)分支結(jié)點(diǎn),這些結(jié)點(diǎn)劃分了樣本集A。序號(hào)為c的分支結(jié)點(diǎn)定義為Ac。
屬性a的信息增益Gain(A,a)如公式(2)所示。其中分支結(jié)點(diǎn)的權(quán)重為
決策樹(shù)屬性劃分選擇通過(guò)信息增益評(píng)估,如公式(3)所示。通過(guò)計(jì)算出最大的信息增益選擇出對(duì)應(yīng)的屬性。
使用先驗(yàn)信息來(lái)初始化分類器,分類器初始為F0(x),如公式(4)所示,其中訓(xùn)練樣本中的y=1占比為P(Y=1|x)。
損失函數(shù)負(fù)梯度r m,i如公式(5)所示,m=1,2,3,…,M。
最佳擬合值c m,j如公式(6)所示。使用回歸樹(shù)擬合數(shù)據(jù)(x i,r m,i),其中i=1,2,3,…,N,第m棵的回歸樹(shù)下的葉子結(jié)點(diǎn)為R m,j,其中j=1,2,3,…,J m,J m為第m棵回歸樹(shù)葉子結(jié)點(diǎn)數(shù)量。
通過(guò)公式(7)計(jì)算出分類器F m(x):
通過(guò)公式(8)計(jì)算出最好的分類器F M(x):
分類模型最后的計(jì)算形式如公式(9)所示。
多因子投資模型通過(guò)使用多種指標(biāo),用來(lái)對(duì)投資標(biāo)的進(jìn)行評(píng)估,評(píng)估指標(biāo)也稱為評(píng)估因子。多因子模型假設(shè)投資的收益率,會(huì)受到因子指標(biāo)的影響。多因子模型需要先研究因子選取策略,根據(jù)選取的多個(gè)因子,通過(guò)設(shè)計(jì)因子分析模型,得到最終的投資標(biāo)的評(píng)估結(jié)果。多因子投資模型通過(guò)投資標(biāo)的共有的相關(guān)因子,可以建立有效評(píng)估模型,可以對(duì)眾多投資標(biāo)的按照評(píng)估模型的評(píng)級(jí)進(jìn)行排序,從而組合出最優(yōu)的投資策略。
對(duì)于多因子投資模型的建立,首先要選擇有效的因子,在備選的因子里,找到對(duì)投資優(yōu)化具有積極作用的因子。然后分析投資因子對(duì)投資收益的影響,通過(guò)量化投資因子影響,對(duì)多個(gè)因子進(jìn)行排序,因子的排序依據(jù)根據(jù)公式(2)的信息增益的計(jì)算方法,換算出對(duì)決策樹(shù)分裂的權(quán)重。最后通過(guò)模型對(duì)投資結(jié)果進(jìn)行綜合分析,綜合考慮交易成本,因子的選擇和排序,利用梯度提升樹(shù)算法,計(jì)算出投資標(biāo)的是否適合投資,最后確定投資標(biāo)的。
本文投資標(biāo)的以股票為例。首先加載股票數(shù)據(jù),根據(jù)每只股票的因子,結(jié)合梯度提升樹(shù)模型,輸入歷史股票價(jià)格來(lái)訓(xùn)練模型的參數(shù),評(píng)估收益率在10%以上、遠(yuǎn)期20天所有股票的概率。閾值我們定義為0.6,高于閾值則符合投資預(yù)期。如果不符合設(shè)置的條件,就放棄這只股票。
每天都進(jìn)行交易分析,其中持續(xù)持股最多不超過(guò)20天,每次買(mǎi)入20%的倉(cāng)位。持股的止盈和止損點(diǎn)分別進(jìn)行設(shè)置,止盈點(diǎn)為15%,止損點(diǎn)為-5%。最后計(jì)算出所有符合交易條件的股票的概率,對(duì)概率大小的進(jìn)行排序,從大到小買(mǎi)入。
3.1.1 數(shù)據(jù)獲取
通過(guò)wind數(shù)據(jù)庫(kù),獲取wind股票數(shù)據(jù)。數(shù)據(jù)涵蓋了近一年半的A股數(shù)據(jù),日期從2020年1月1日至2021年8月13日,總共有3101只股票入選股票池,模型訓(xùn)練數(shù)據(jù)從2020年1月1日至2021年4月30日,回測(cè)時(shí)間從2021年5月1日至2021年8月13日。股票數(shù)據(jù)主要包括:
(1)股票基礎(chǔ)信息。
(2)日線數(shù)據(jù),含股票的開(kāi)盤(pán)價(jià)、收盤(pán)價(jià)、最高價(jià)、最低價(jià)、換手率等。
(3)所有股票的每日漲停跌停情況。
3.1.2 數(shù)據(jù)標(biāo)注
通過(guò)標(biāo)注每只股票,我們將投資的選股模型定義為分類問(wèn)題。這里我們把20天平均最高收益在15%以上,同時(shí)把虧損在-5%以下的股票,標(biāo)注為T(mén)rue,其他的股票標(biāo)注為False。
3.2.1 因子重要性分析
對(duì)數(shù)據(jù)進(jìn)行訓(xùn)練后,對(duì)特征重要性進(jìn)行分析,圖1為投資因子的重要性排序結(jié)果圖。其中,換手率、個(gè)股成交量的歷史前1天和2天、當(dāng)日最高價(jià)個(gè)股收盤(pán)價(jià)歷史前1天、當(dāng)日最低價(jià)、成交量、漲跌停數(shù),重要度比較大。
圖1 投資因子重要度排序結(jié)果
3.2.2 投資收益分析
投資收益(Reurns)通過(guò)公式(10)進(jìn)行計(jì)算,其中Pstart和Pend分別是投資模型開(kāi)始和結(jié)束時(shí)所持有的總價(jià)值。
我們?cè)O(shè)定投資的初始資金為10萬(wàn)元人民幣。在一年半的A股數(shù)據(jù)中,對(duì)股票池中的3101只股票進(jìn)行投資分析,交易日期區(qū)間設(shè)置為2021年5月1日到2021年8月13日。
投資收益的情況部分統(tǒng)計(jì)結(jié)果如表1所示。從表1中可以看出,按照投資模型的分析結(jié)果,選擇符合投資條件的股票進(jìn)行持有和賣(mài)出,可以有效地篩選出正向收益的股票。同時(shí),由于股票市場(chǎng)具有高風(fēng)險(xiǎn)、高收益的屬性,對(duì)于股價(jià)下跌的股票,模型會(huì)根據(jù)預(yù)先設(shè)定的止損方案進(jìn)行及時(shí)止損,避免擴(kuò)大損失。
表1 投資收益部分示例表
對(duì)投資模型的收益進(jìn)行分析,這里對(duì)比的基線為上海證券交易所綜合股價(jià)指數(shù)收益。如圖2所示,投資策略的收益超過(guò)了上證指數(shù)。
圖2 投資策略的收益趨勢(shì)
從投資策略的收益趨勢(shì)圖可以看出,模型在開(kāi)始的時(shí)候稍好于上證指數(shù)收益,在第10個(gè)交易日到第18個(gè)交易日之間,略低于上證指數(shù)。在第20個(gè)交易日后,和上證指數(shù)相比,策略收益高出接近20%,可以看出模型可以顯著提升投資收益。
本文首先通過(guò)信息增益,對(duì)投資因子進(jìn)行排序分析,然后根據(jù)預(yù)先設(shè)定的交易策略,結(jié)合梯度提升樹(shù)模型,對(duì)投資標(biāo)的進(jìn)行分析,篩選出符合交易策略投資標(biāo)的。通過(guò)分析近一年半的A股數(shù)據(jù),梯度提升樹(shù)多因子模型收益高于上證指數(shù)20%以上。提出的投資模型可以有效提升投資收益,同時(shí)模型可以有效對(duì)因子進(jìn)行分析。該模型可廣泛應(yīng)用在投資決策問(wèn)題上,用于解決投資標(biāo)的選擇等問(wèn)題。