李見平
(首都經濟貿易大學,北京 100070)
隨著中國經濟的快速發展,證券市場在中國經濟領域的作用日益凸顯,股票市場非線性、非平穩性和高復雜性等特點,使得對股票市場的預測變得困難[1]。國內對于股票趨勢的研究,主要是利用機器學習模型或金融時間序列模型進行分析。戴德寶等[2]將技術指標和股票的文本信息融合,利用支持向量機(SVM)和人工神經網絡(ANN)對股票趨勢進行預測。徐浩然[1]對分形特征選擇方法進行改進,并和支持向量機(SVM)結合,對多個股票的趨勢進行預測,得到了比其他特征選擇算法更好的結果。柏萬寬[3]利用循環神經網絡(RNN)能處理時序問題的特性,將之應用于股票預測領域。但是RNN 容易發生梯度消失或者梯度彌散,長短時記憶網絡(LSTM)是對RNN 的改進,通過特殊的門限結構來有效緩解RNN 的問題。
本文以上證綜指為研究對象,構建了雙層LSTM 深度學習模型,對股票未來的價格漲跌進行了研究,最后將該模型與常見的機器學習模型(支持向量機、決策樹、神經網絡)進行對比,利用分類評價指標對各個模型的表現進行評價。
長短時記憶網絡(LSTM)是對RNN 的改進,由于其特殊的結構,能夠有選擇性地記憶過去重要的信息,而有效避免RNN 在很長的時間步長時發生梯度爆炸。LSTM 有三個重要的門限結構,其結構分別為:①遺忘門,決定細胞狀態丟失何種信息。遺忘門的更新公式為ft=σ(Wf·[ht-1,xt]+bf),其中,ft為遺忘門的輸出,σ為sigmoid 激活函數,Wf為遺忘門的權重,ht-1為上一刻的隱含層的狀態,xt為當前的輸入,bf為遺忘門的偏置。②狀態門,確定并更新信息到當前時刻的狀態中。狀態門的更新公式為,其中it=σ(Wi·[ht-1,xt]+bi),。③輸出門,目前的細胞狀態決定該時刻的輸出。輸出門的計算公式為ot=σ(Wo·[ht-1,xt]+bo),ht=ot×tanh(Ct)。
經過輸入門、狀態門、遺忘門的特殊結構,LSTM 就可以實現對信息的選擇性記憶,輸入在LSTM 模型上正向傳導,再利用梯度下降法反向優化參數,就可實現參數的更新,從而訓練出LSTM 模型。
本文實驗以Python3.7 作為編程語言,搭建雙層LSTM模型時,使用Google TensorFlow 框架,該框架是目前十分流行的框架,簡單、易用,能夠快速幫助研究人員實現自己的模型。
雙層LSTM 模型結構如下:①輸入層,輸入層的維度為(batchsize, timesteps, nfeatures),batchsize 表示數據的批大小,timesteps 表示預測的時間步,nfeatures 表示特征的維度;②LSTM 層,隱狀態的維度設置為64,dropout 概率設置為0.3,讓神經元以一定概率休眠,有效防止過擬合;③LSTM 層,隱狀態的維度設置為32,dropout 概率設置為0.1;④Dense 層,全鏈接層,10 個神經元,激活函數設置為sigmoid;⑤Dense 層,輸出層,1 個神經元,激活函數設置為sigmoid,將預測結果轉化為預測為正類的概率值。
本文的實驗數據來源于網易財經,股票交易的日數據包括開盤價、收盤價、最高價、最低價、成交量、交易額等,研究對象為上證綜合指數(代碼000001),共選擇了3 275條交易數據,時間跨度為2007-03-21—2020-08-31。共使用10 個技術指標,包括10 d 移動平均(MA10)、10 d 加權移動平均(WMA10)、動量指標(MTM)、威廉指標(WMS)、累計-派發指標(A/D)、順勢指標(CCI)、隨機 K 指標(SK)、隨機D 指標(SD)、相對強弱指標(RSI)、指數平滑異動平均線(MACD)。
預測的股票漲跌以yt表示,公式為其中,Ct表示第t日的收盤價;yt=1 表示預測第t+1 天股價漲;yt=0 表示預測第t+1 天股價跌。
數據預處理是大多數機器學習或深度學習的必要步驟,預處理方法很多,已有研究表明深度學習模型的輸入為正太分布有利于模型訓練和收斂,因而本文使用公式將每個特征轉化為標準正太分布,其中:μ(x)表示向量x的均值,σ(x)表示向量x的標準差。
數據集的劃分采用隨機抽樣的方式,訓練集、驗證集、測試集的比例分別為0.6、0.2、0.2,其中訓練集用于訓練模型,驗證集用于調整模型參數,測試集用于最終的模型評價。
模型分類效果評價的指標,包括準確率(Accuracy)、精確率(Precision)、召回率(Recall)、F1 值。記分類器將正例預測為正例的數量為TP,將正例預測為負例的數量為FN,將負例預測為正例的數量為FP,將負例預測為負例的數量為TN,則:

為驗證雙層LSTM 模型的預測有效性,以單層長短時記憶網絡(LSTM)、支持向量機(SVM)、人工神經網絡(ANN)、決策樹(DT)的對比,如表1 所示。
從表1 可以看出,本文所構建的雙層LSTM 模型的指標均要比傳統機器學習模型更好,如SVM、ANN、DT,而且雙層LSTM 模型也要優于單層LSTM 模型,從而證明了本文所提出的雙層LSTM 在股票趨勢預測方面的有效性和可靠性。

表1 模型對比(單位:%)
本文提出了雙層LSTM 模型,該模型能夠充分挖掘股票的歷史信息,以提高預測股票的精度,實驗證明了該模型的有效性和可靠性。但是目前的預測精度還不能令人滿意,未來可以進一步深入研究該模型,如增加LSTM 層數,在各層之間加入標準化層,優化目標函數等。