王云凱 藍(lán)金輝
(北京科技大學(xué),北京 100083)
量化投資因其本身量化模型多元、觀察視角廣和可分析海量數(shù)據(jù)的特點(diǎn),使得它能夠捕捉到更多的投資機(jī)會(huì);同時(shí)還能根據(jù)投資理念的變化、市場的變化,不斷發(fā)掘和優(yōu)化出能夠提供新的更大投資收益的統(tǒng)計(jì)模型;用量化思維進(jìn)行投資交易更可以克服投資者主觀判斷偏差。另一方面,在當(dāng)今人工智能迅猛發(fā)展的環(huán)境下,機(jī)器學(xué)習(xí)已經(jīng)能夠快速海量地對數(shù)據(jù)進(jìn)行分析、擬合、預(yù)測,人工智能與量化交易之間的聯(lián)系也越來越緊密。比如,在2013年,世界著名的橋水聯(lián)合(Bridge water Asspcoates)公司就基于人工智能建立了一個(gè)量化投資團(tuán)隊(duì),該團(tuán)隊(duì)利用最新的機(jī)器學(xué)習(xí)算法設(shè)計(jì)交易策略算法,結(jié)合歷史數(shù)據(jù)和統(tǒng)計(jì)概率對未來的金融市場進(jìn)行預(yù)測。
現(xiàn)有的股票基本面研究主要通過對基本面多因子進(jìn)行打分、排序,優(yōu)選股票以建立投資組合。例如,在國外的研究中,Joseph D.Piotroski(2001)從盈利因子、動(dòng)量因子及賬面市值比等方面建立股票多因子打分模型,獲得各因子綜合排名較高的一些股票,構(gòu)建收益較高的投資組合。Partha S.Mohanram(2005)從盈利能力和現(xiàn)金流表現(xiàn)、成長能力、賬面市值比影響因子三個(gè)方面選取8個(gè)指標(biāo)編制成一個(gè)指數(shù),依據(jù)此指數(shù)建立投資組合。在國內(nèi)的研究中,汪洋(2010)通過研究多因子量化選股模型發(fā)現(xiàn)估值指標(biāo)、業(yè)績指標(biāo)可以使投資組合產(chǎn)生一定的超額收益。吳荻(2011)結(jié)合A股市場分析多因子Z評分方法,研究發(fā)現(xiàn),該多因子打分模型在A股市場中是充分有效的。鄒運(yùn)(2012)在多因子選股模型中應(yīng)用市場風(fēng)格加權(quán)策略,通過遺傳算法求解市場最優(yōu)風(fēng)格的權(quán)重。研究發(fā)現(xiàn),投資組合表現(xiàn)更優(yōu)。
現(xiàn)有量化投資的機(jī)器學(xué)習(xí)方法研究主要體現(xiàn)在兩方面,第一,利用機(jī)器學(xué)習(xí)算法對股票價(jià)格在時(shí)間序列上進(jìn)行分析預(yù)測。第二,利用機(jī)器學(xué)習(xí)方法根據(jù)股票基本面多因子進(jìn)行股票分類。S.A.Bogle等(2015)通過決策樹、人工神經(jīng)網(wǎng)絡(luò)、支持向量機(jī)等機(jī)器學(xué)習(xí)方法對牙買加股票交易市場股票價(jià)格、成交量進(jìn)行預(yù)測。研究發(fā)現(xiàn),在該市場中,股價(jià)預(yù)測準(zhǔn)確率能夠達(dá)到90%,股票成交量預(yù)測準(zhǔn)確率超過70%。Michel Ballings等(2015)利用5767家公開上市的歐洲公司數(shù)據(jù)檢驗(yàn)集成算法(隨機(jī)森林、Adaboost、Kernel Factory)與單一分類器(人工神經(jīng)網(wǎng)絡(luò)、Logistic回歸、K近鄰、SVM)的股價(jià)預(yù)測效果,研究發(fā)現(xiàn),集成算法中的隨機(jī)森林算法表現(xiàn)最優(yōu)。在國內(nèi)的研究中,張偉(2014)將SVM應(yīng)用到股票多因子選股模型中,利用支持向量機(jī)SVM中的分類技術(shù)(SVC),將股票分為優(yōu)秀和糟糕兩組,選取表現(xiàn)優(yōu)異股票構(gòu)建投資組合;研究發(fā)現(xiàn),策略收益跑贏市場基準(zhǔn)。曹正鳳等(2014)采用隨機(jī)森林(Random Forest)算法實(shí)現(xiàn)了有效的股票分類,投資者可以據(jù)此調(diào)整投資組合;分析結(jié)果表明,該量化選股模型表現(xiàn)優(yōu)秀。
從現(xiàn)有的文獻(xiàn)可以發(fā)現(xiàn),第一,現(xiàn)有股票基本面多因子研究多以簡單多因子打分策略為主,缺乏對高維度、共線性因子的處理。第二,現(xiàn)有機(jī)器學(xué)習(xí)方法研究多局限于對股票時(shí)間序列上價(jià)格的預(yù)測以及根據(jù)股票多因子對股票進(jìn)行分類的問題上,缺乏其結(jié)合基本面多因子的股票漲跌幅預(yù)測方面的研究,同時(shí)也缺乏一套完整的量化投資策略。
本文設(shè)計(jì)了一套基于機(jī)器學(xué)習(xí)回歸方法和基本面因子分析的量化投資策略。該策略通過機(jī)器學(xué)習(xí)算法來挖掘基本面多因子與股票價(jià)格之間的相關(guān)性,進(jìn)而利用這一內(nèi)在動(dòng)態(tài)關(guān)聯(lián)模式預(yù)測股票漲跌幅,最后依據(jù)預(yù)測的漲跌幅來構(gòu)建投資組合策略。根據(jù)所采用機(jī)器學(xué)習(xí)算法的不同,ML-FFA模型可分為基于隨機(jī)森林回歸和基本面因子分析的策略(RF-FFA)、基于梯度提升回歸和基本面因子分析的策略(GB-FFA)。
1.隨機(jī)森林回歸。隨機(jī)森林回歸算法是一種集成學(xué)習(xí)回歸方法,它針對多個(gè)子樣本的不同特征組建多個(gè)決策樹對相同現(xiàn)象進(jìn)行相似的預(yù)測。其基本原理是,采用Bootstrap抽樣從總體訓(xùn)練樣本集S中隨機(jī)抽取多個(gè)子樣本,之后隨機(jī)選取特征進(jìn)行自助采樣,隨機(jī)產(chǎn)生每棵樹的每個(gè)節(jié)點(diǎn),并且每個(gè)節(jié)點(diǎn)的分割變量隨機(jī)產(chǎn)生,從而建立多個(gè)決策樹。模型建立好后,利用測試樣本對各決策樹進(jìn)行測試,最終預(yù)測結(jié)果取所有決策樹結(jié)果的平均值。隨機(jī)森林回歸模型結(jié)構(gòu)見圖1。
圖1 隨機(jī)森林回歸模型
2.梯度提升回歸。梯度提升回歸樹是一個(gè)典型的針對任意可微的損失函數(shù)的提升模型,它將弱的模型組合成一個(gè)強(qiáng)的模型。提升樹模型也可稱為集成模型,因?yàn)樗梢员硎緸橐詻Q策樹為基函數(shù)的加法模型,是決策樹的線性組合。本文設(shè)定最小二乘損失函數(shù)為回歸損失函數(shù),由公式(1)表示。
其中,y為真實(shí)值;f(x)為模型預(yù)測值。
3.主成分分析。主成分分析的基本原理為:設(shè)x1,x2,x3,…,xp是p個(gè)具有相關(guān)性的隨機(jī)變量,(經(jīng)標(biāo)準(zhǔn)化處理后),現(xiàn)將它們通過坐標(biāo)變換進(jìn)行線性組合,變成幾個(gè)不相關(guān)的變量yi,變換公式如下:變成的變量不相關(guān)的公式即=U,其中U是相關(guān)系數(shù)矩陣的特征向量所構(gòu)成的矩陣,而這一相關(guān)系數(shù)矩陣由p個(gè)隨機(jī)變量決定。yi叫作(關(guān)于的)第i個(gè)主成分(i=1,2, …,p), 將作為第i個(gè)主成分部分的貢獻(xiàn)值,將作為前k個(gè)主成分部分的累計(jì)貢獻(xiàn)值,將λi作為p個(gè)隨機(jī)變量相關(guān)系數(shù)矩陣的特征值。
本文基于對上市公司財(cái)報(bào)的分析,優(yōu)選并計(jì)算得到與上市公司股價(jià)緊密相關(guān)的33個(gè)基本面因子,如表1所示。
在分析過程中,因?yàn)檫@些基本面因子的取值范圍不同,量綱不同,為避免過大的回歸誤差,本文將對全部基本面因子值進(jìn)行Z-score方法標(biāo)準(zhǔn)化。
表1 ML-FFA量化投資策略基本面因子
本文建立的是采用滑動(dòng)窗口研究方法的在線學(xué)習(xí)量化選股模型,策略模型每次在一個(gè)固定長度數(shù)據(jù)區(qū)域內(nèi)進(jìn)行回歸和預(yù)測;在完成本數(shù)據(jù)區(qū)域預(yù)測期的模擬投資之后,窗口將會(huì)滑向下一個(gè)區(qū)間,進(jìn)行相同的回歸和預(yù)測。每移動(dòng)一個(gè)數(shù)據(jù)窗口,數(shù)據(jù)集就會(huì)進(jìn)行更新,所以挖掘出來的規(guī)則也不一樣。在每一個(gè)數(shù)據(jù)區(qū)域內(nèi),我們將其分為訓(xùn)練區(qū)間和測試區(qū)間。其中訓(xùn)練區(qū)間是用來利用歷史數(shù)據(jù)確定ML-FFA模型中各因子的權(quán)重;測試區(qū)間主要是測試所得模型在樣本外的預(yù)測效果,同時(shí)構(gòu)建并優(yōu)化相應(yīng)的投資組合策略以檢驗(yàn)所建立模型的投資績效。本研究每次取當(dāng)前交易日前22個(gè)交易日的基本面數(shù)據(jù)和股票收盤價(jià)作為訓(xùn)練集和測試集數(shù)據(jù),在訓(xùn)練區(qū)間中,利用前11個(gè)交易日的股票基本面數(shù)據(jù)和其后11個(gè)交易日的股票區(qū)間漲跌幅共計(jì)11組數(shù)據(jù)進(jìn)行模型訓(xùn)練,即利用機(jī)器學(xué)習(xí)回歸方法挖掘每個(gè)交易日的基本面截面因子與11個(gè)交易日后的股票漲跌幅之間的內(nèi)在聯(lián)系。測試區(qū)間為訓(xùn)練區(qū)間最后一個(gè)交易日,取此交易日的基本面因子數(shù)據(jù),利用訓(xùn)練好的模型進(jìn)行股票漲跌幅預(yù)測。
ML-FFA模型的選股思路如下:
(1)設(shè)置調(diào)倉參數(shù)I,每I=11個(gè)交易日進(jìn)行調(diào)倉;若不滿足調(diào)倉條件,則不進(jìn)行任何操作。
(2)獲取調(diào)倉日前22個(gè)交易日股票基本面數(shù)據(jù)和股票收盤價(jià)日頻數(shù)據(jù),并對股票基本面數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化和主成分分析;
(3)利用機(jī)器學(xué)習(xí)方法學(xué)習(xí)訓(xùn)練集數(shù)據(jù),獲得ML-FFA模型;
(4)利用ML-FFA模型,基于測試集數(shù)據(jù)對股票漲跌幅進(jìn)行預(yù)測,得到股票的預(yù)測漲跌幅;
(5)將股票的預(yù)測漲跌幅降序排列,剔除調(diào)倉時(shí)點(diǎn)漲停和跌停股票,等額買入前5只股票。
本文選取22個(gè)行業(yè)龍頭股共計(jì)140只股票(各行業(yè)見附錄1),時(shí)間自2014年1月1日到2017年12月31日的股票日頻數(shù)據(jù),進(jìn)行ML-FFA模型效果驗(yàn)證。股價(jià)均采用當(dāng)日股票交易真實(shí)價(jià)格。所有數(shù)據(jù)均取自JoinQuant聚寬量化交易平臺,并利用聚寬量化交易平臺進(jìn)行回測工作?;鶞?zhǔn)策略采用買入并持有HS300指數(shù)策略,基準(zhǔn)收益計(jì)算方式即為HS300指數(shù)從期初到期末的漲幅。調(diào)倉時(shí)間為交易日時(shí)間14:50。
本模型設(shè)定交易成本如下:傭金為0.03%,滑點(diǎn)為0.246%,印花稅為0.1%,初始開倉資金設(shè)定為50萬。同時(shí),為策略添加止損條件,當(dāng)上證指數(shù)日跌幅達(dá)6%時(shí),立即清倉,30個(gè)交易日后再進(jìn)行交易。
圖2、圖3分別細(xì)致展示出ML-FFA模型下兩策略在20140101-20171231時(shí)間段內(nèi)回測的策略收益。(指標(biāo)說明:Backtest是相應(yīng)模型策略的收益走勢,對應(yīng)為上方曲線;benchmark_returns是HS300指數(shù)的走勢,即基準(zhǔn)收益,對應(yīng)下方曲線。)
圖2 RF-FFA策略收益圖
圖3 GB-FFA策略收益圖
兩策略投資表現(xiàn)評價(jià)比率如表2所示。
表2 兩種策略交易回測評價(jià)指標(biāo)
結(jié)果表明,ML-FFA模型的兩策略收益遠(yuǎn)超同期HS300指數(shù)基準(zhǔn)。兩策略年化收益均超過40%,最大回撤均小于34%,說明ML-FFA模型在A股有效。同時(shí),對比隨機(jī)森林策略和梯度提升策略,發(fā)現(xiàn)隨機(jī)森林策略年化收益較高、最大回撤較小且具有較高的超額收益。
表3詳細(xì)統(tǒng)計(jì)了ML-FFA兩策略在2014-2017各年度的策略收益和最大回撤。結(jié)果顯示,兩個(gè)投資策略在2014年,投資策略收益與基準(zhǔn)收益相當(dāng),在2015年、2016年、2017年投資策略收益全部跑贏滬深300基準(zhǔn),展現(xiàn)出ML-FFA投資策略的優(yōu)勢性。兩策略的最大回撤均小于34%,僅在2015年股災(zāi)期間和2016年熔斷期間回撤較大,其余時(shí)間策略最大回撤較小。
表3 ML-FFA模型回測結(jié)果
本文通過兩種機(jī)器學(xué)習(xí)回歸算法,即隨機(jī)森林回歸、梯度提升回歸算法,探究股票基本面多因子與漲跌幅之間的關(guān)聯(lián)關(guān)系,并建立ML-FFA策略模型用以對股票未來漲跌幅進(jìn)行預(yù)測,構(gòu)建完善的量化投資組合。實(shí)證結(jié)果表明:ML-FFA模型兩策略收益遠(yuǎn)超同期HS300指數(shù)基準(zhǔn),可實(shí)現(xiàn)0.33的年化超額收益;最大回撤小于34%,勝率大于50%?;陔S機(jī)森林回歸和基本面因子分析的策略與基于梯度提升回歸和基本面因子分析的策略可有效提高證券資產(chǎn)組合收益,獲得較高的收益風(fēng)險(xiǎn)比。
同時(shí),本文也存在著其他可以改進(jìn)和創(chuàng)新的地方:第一,目前采用的是等權(quán)重投資,不能最大限度地發(fā)揮ML-FFA模型預(yù)測的能力,可以探索更為有效的股票組合權(quán)重設(shè)計(jì)方法。第二,可以嘗試測算基本面因子的月度IC,從而篩選出蘊(yùn)含更多股票信息,提升模型效果的基本面因子;第三,可以嘗試將量價(jià)因子加入到輸入變量中,從而可以更好地預(yù)測股票價(jià)格。
附錄:
附表1 ML-FFA股票池所屬自建行業(yè)