朱星星
關鍵詞:股價漲跌;機器學習;實證研究;XGBoost
一、文獻綜述
與傳統時間序列模型相比,機器學習模型對數據沒有嚴格的假設條件,受到研究者的喜愛。王燕基于參數尋優后的XGBoost模型對中國平安等股票收盤價的短期預測在多個評價指標上較SVM模型和GBDT模型有更好的效果。王禹利用boosting級聯多棵決策樹算法預測儀器儀表領域的股票漲跌走勢,結合股票的行情指標和技術指標,預測結果對比單一決策樹的預測準確率有明顯的提升。王亞紅利用隨機森林算法基于12個財務指標對隨機選取的股票價格預測的準確率超過70%。何錚認為任何單一因素都難以完全解釋股票價格水平和波動,通過結合基本面因素和技術面因素作為輸入特征構建股價模型,可以獲得較好的預測能力。
二、模型分析
(一)數據處理和指標選擇
量化投資特征選取一般分成基本面指標和技術指標兩大類。基本面指標主要由盈利因子、成長因子、流動性因子、估值因子和品質因子等組成。盈利因子技術指標主要有趨勢因子、均線因子和交易因子。通過查閱相關文獻最終在基本面指標和技術指標兩大類指標中選取了12個基本面指標、25個技術指標。部分指標如表1所示。
將去除缺失值后的股票數據的所有特征進行標準化處理,以消除不同量綱帶來的影響。
(二)模型理論概述
本文是對股票價格漲跌標簽進行預測,所以選擇監督學習里面的二分類學習算法。接下來對邏輯回歸、決策樹和XGBoost算法模型設置為二分類有關的內容。
1.機器學習算法理論
(1)邏輯回歸。邏輯回歸是一種主要用于分類的統計分析方法。通過引入sigmoid函數得到邏輯回歸表達式:
將上式對數變換后,通過極大似然估計得到其損失函數:
(2)決策樹。決策樹通常只有一個根節點,是所有訓練數據集合。測試實例中的某一屬性,依據不同的測試結果進
(3)XGBoost。XGBoost是一種基于樹模型的Boosting集成算法。其特點是逐一構建弱評估器,經過多次迭代逐漸累積多個弱評估器。XGBoost的目標函數構成如下所示:
2.模型評價標準
模型的評價標準是檢驗模型有效性的重要指標。混淆矩陣如表2所示:
準確率指所有的預測正確(包括正例負例)的所占比重。精準度指所有被預測為正例中實際為正例的概率。召回率指實際為正例且被預測為正例的概率。
(三)模型的預測與評價
實驗一:使用個股2015年1月5日至2019年6月28日作為訓練期,2019年7月1日至2019年12月10日為測試期。將未來第15天的收盤價減去當天的收盤價,若大于0,標簽記為1;若小于0,標簽記為0。A組以12個財務指標和25個技術指標作為輸入特征,以股票收盤價的漲跌作為預測對象分別建立邏輯回歸、決策樹和XGBoost模型。以準確率、精準度和召回率作為模型的評價指標。為了形成對比,B組除了將輸入特征改為25個純技術指標,其他與A組類似。評價指標結果如表3所示。
實驗二:c組以12個財務指標和25個技術指標作為輸入特征,分別對另外四只A股收盤價的漲跌作為預測對象建立模型。D組除了將輸入特征改為25個純技術指標,其他與c組類似。評價指標結果如表4所示:
(四)模型結果分析
實驗一中除邏輯回歸模型以外,A組中決策樹和XGBoost模型分別比B組中對應的模型的準確率降低了近3%。B組決策樹模型的精準度比A組降低了近4%。A組中XGBoost模型召回率比B組提高了26%,通過分析實驗一的結果說明了加入財務指標后模型的優良性。
為了驗證輸入特征以財務指標和技術指標相結合的有效性設計實驗二,對比實驗二中的c組和D組結果,四只股票的各個預測模型在D組中的準確率較c組都有一定的降低,除了股票1在決策樹模型上有不明顯的提高,但在邏輯回歸和XGBoost模型上預測的準確率分別降低了約30%和20%。其他三只股票,在模型上的預測準確率均出現一定程度降低。進一步說明加入財務指標后的股票預測模型的有效性。
三、結論與建議
本文結合財務指標和技術指標,對股票價格漲跌建立一種短中期預測模型。從以上實驗得出:第一,以財務指標和技術指標作為輸入特征,模型的預測準確率均超過50%,體現了模型的可靠性和股票市場的可預測性;第二,剔除財務指標的模型的預測精度會發生明顯的降低,進一步驗證同時選取兩類指標作為模型輸入特征的有效性,為廣大投資愛好者提高更有價值的參考。