王 鈞 張 鵬 袁 帥
(寧夏大學,寧夏 銀川 750021)
隨著我國市場經濟的快速發展,股票作為金融產品的重要部分,不僅是人們生活水平的體現,也是市場經濟的“晴雨表”,對股票走勢的預測已成為研究者越來越關注的課題[1]。因此,不論是對政府宏觀管理,還是對于投資者都有很強的現實意義。
人工智能技術的快速發展,基于深度神經網絡對金融市場進行研究成為該領域研究的熱點。考慮到金融數據的時序性,RNN和LSTM神經網絡存在梯度消失、過擬合等問題,本文使用Seq2Seq模型對股票時序數據進行預測。在相同的條件下,通過多組對比實驗,研究影響模型精度的因素,以此來提高模型的預測精度,根據實驗結果發現Seq2Seq對于不定長的序列數據具有更好的預測性能。
遞歸神經網絡(RNN)是一類由各單元連接形成的有向循環的神經網絡,它是前饋神經網絡在處理時間序列數據的延伸,通過各單元之間的連接,RNN神經網絡可以存儲神經元當前時刻的輸入和前一時刻的輸出關系。[2]根據這一性質,時間序列信息可以在該網絡模型中循環任意長時間。
循環神經網絡(RNN)模型包括輸入層、輸出層、隱藏層。每個節點表示序列中,代表RNN網絡的一層,當給定輸入向量序列計算隱藏層的一組序列通過迭代下列公式中的輸出序列
長短時間記憶網絡(LSTM)是一種基于遞歸神經網絡(RNN)模型的改進,它由一組特殊的記憶模塊單元替換遞歸神經網絡的隱藏層神經元,這些模塊可以記憶隱藏層的任意時間狀態,從而解決梯度消失等問題。當使用長短時間記憶模型進行相應數據反向傳遞時,使得序列數據在循環神經網絡中很長一段時間的學習,從而保證信息進行遠距離傳遞,將誤差保持在更為恒定的水平。
通常長短時間記憶單元模塊包括輸入門、輸出門、遺忘門和記憶單元。根據門用進行保存和調節存儲單元和環境之間的相互作用,這樣保證存儲單元的狀態從一個單元到另一個單元保持不變。當信息通過長短時間記憶模型的門控制單元,記憶單元根據們開關控制信息進行增加、修改、刪除。LSTM網絡通過遞歸方程更新網絡單元,激活從輸入到輸出的映射。
不論是RNN網絡模型,還是長短時間記憶(LSTM)網絡模型,它們都存在處理固定長度序列數據的限制。為了解決不定長的序列數據提出了Seq2Seq模型,該模型將一個序列作為輸入映射到另一個輸出序列時,主要完成編碼輸入與解碼輸出兩個基本環節。其中:編碼端根據輸入序列數據進行編碼,并在網絡末端輸出編碼后的狀態。解碼端接收編碼端最后的狀態,將其作為初始狀態,同時解碼得到的每一步輸出值是下一步的輸入值。因此Seq2Seq模型訓練過程能夠更好的學習數據之間時序關系,也能夠有保持更強的魯棒性。
解碼層采用此編碼的特征向量,并生成標記的輸出序列。此層通常也用RNN架構(LSTM或RU)構建。
當使用固定序列的情況下,通過編碼器-解碼器框架進行整個模型的聯合訓練,獲得目標序列的概率最大化。但是由于固定長度編碼的特征向量包含信息數量的限制,Seq2Seq模型性能會隨著源序列長度的增加而降低。為解決此問題,Bahdanau等提出了關注機制。在關注機制中,解碼器試圖在編碼器序列中查找最重要信息所在的位置,并使用該信息和以前解碼的單詞來預測序列中的下一個標記,如下圖所示:
圖1 關注機制結構
實驗數據來源于tushare提供的數據接口,收集相關數據進行驗證分析。為了使得測試數據具有代表性,選取上證50指數成份股所在股票于2015-01-01至2017年12月30日作為測試集評估數據,在每一輪的訓練中,過去5天的數據構造的輸入序列的80%作為訓練集,20%作為驗證集,隨后3個月的數據構造的序列作為測試集。根據其歷史交易數據,預測未來5天的價格趨勢。
本實驗采用tensorflow作為深度學習框架,實驗環境在E5-2620v4雙CPU、內存為64GB操作系統為Ubuntu18.04的的PC機上進行。
為了評估預測模型的性能,本文選取了平均絕對誤差(Mean Absolute Error,MAE)、平均絕對百分誤差(Mean Absolute Percentage Error,MAPE)和標準誤差(Root Mean Square Error,RMSE)三個指標衡量模型的預測精度,其中:
本實驗將Seq2Seq網絡與傳統的RNN,LSTM神經網絡進行對比分析,并在次基礎上使用Seq2Seq+attention模型進行優化。傳統RNN模型的準確率只有78.36%,比LSTM模型的準確率低了5個百分點,隨著訓練次數的增加,RNN模型幾乎沒有改進,模型出現了梯度消失,而LSTM模型可以改善梯度問題。LSTM神經網絡可以解決傳統RNN容易梯度消失的問題。從LSTM模型的準確率只有82.69%,比Seq2Seq模型的準確率低了3個百分點。雖然LSTM神經網絡從理論上說具備了時序性,當輸入不定長時序的信息,LSTM也容易出現梯度消失問題,此時LSTM網絡并不具備任何優勢。但是采用Seq2Seq網絡模型進行不定場時間序列信息進行預測的情況下,其預測的精度明顯高于LSTM神經網絡,也說明了Seq2Seq模型對不定長序列具有一定的優勢。
綜上,相比于傳統RNN與LSTM網絡,Seq2Seq深度神經網絡能夠有效解決不定長序列數據的梯度消失問題,并且能夠提高預測精度,對于股市時間序列的預測具有明顯的優勢。
為了比較4種網絡模型的性能,將每個模型對上證50成分股數據做訓練與預測,設定每個模型epoch為100,通過訓練輸出每只股票未來5天的價格趨勢,和該模型預測輸出的RMSE值。下圖為選取中信證券(600030.SH)作為分析對象。
(d)seq2seq+attention預測價格
通過圖(a)到圖(d)綜合分析得知,RNN和LSTM網絡模型在股價波動較大的時段預測輸出與實際輸出現嚴重偏離,而且預測效果比較差。基于Seq2Seq神經網及其優化模型對上證50成分股指數預測效果,比其它兩種網絡模型效果較好。
本文選取A股上證成份指數,使用RNN、LSTM、Seq2Seq及其優化模型進行股票價格短期預測,核心內容主要引入Seq2Seq及其優化模型,并使用該網絡模型對數據進行挖掘學習。實驗表明,深度學習能夠更好的發現和利用數據之間的相互作用。同時,通過使用Seq2Seq網絡模型提高了預測的準確性,并且在解決不定長時間序列的數據方面更有優勢。雖然Seq2Seq模型的損失值比較高,但是Seq2Seq模型能較好的預測金融時間序列的趨勢,并且在數值上也與真實的金融時間序列較為接近,提高該模型的預測精度是未來研究的重點。