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