摘? 要:在長短期記憶網(wǎng)絡(luò)(LSTM)中引入自注意力機制應(yīng)用于股票指數(shù)預(yù)測中,使模型可以處理不同時期的權(quán)值,加強了模型對歷史數(shù)據(jù)趨勢信息的提取能力。利用LSTM和Attention機制結(jié)合的LSTM-Attention神經(jīng)網(wǎng)絡(luò)應(yīng)用于股票預(yù)測,對滬深300指數(shù)近10年數(shù)據(jù)進行預(yù)測研究。實驗結(jié)果表明,在LSTM改進的神經(jīng)網(wǎng)絡(luò)LSTM-Attention的預(yù)測效果優(yōu)于傳統(tǒng)LSTM神經(jīng)網(wǎng)絡(luò)模型的預(yù)測效果。
關(guān)鍵詞:自注意力機制;股票指數(shù)預(yù)測;長短期記憶網(wǎng)絡(luò)
中圖分類號:TP181? ? ? ? ? ? ? ? ? ?文獻標識碼:A文章編號:2096-4706(2021)16-0100-03
Research on Stock Index Forecast Based on Deep Model
DONG Shipeng
(Hebei University of Economics and Business, Shijiazhuang? 050061, China)
Abstract: The introduction of the self-attention mechanism in the Long Short-Term Memory (LSTM) is applied to the stock index prediction, so that the model can handle the weights of different periods, and it strengthens the model’s ability to extract historical data trend information. The LSTM-Attention neural network combined with the LSTM and Attention mechanism is applied to stock forecasting, and the data of the Shanghai and Shenzhen 300 index in the past 10 years is used for forecasting research. The experimental results show that the prediction effect of the LSTM-improved neural network LSTM-Attention is better than that of the traditional LSTM neural network model.
Keywords: self-attention mechanism; stock index prediction; Long Short-Term Memory
0? 引? 言
股票指數(shù)又名為股票價格指數(shù),是一種由證券交易所或金融服務(wù)機構(gòu)編制的反映股市行情的參考數(shù)值,可以作為一個國家經(jīng)濟形式的綜合反映。由于我國股票市場多為散戶,易受到多種因素的影響,致使股票市場內(nèi)部變化規(guī)律繁雜,穩(wěn)定性差,造成股票價格劇烈波動[1]。因此,如果能對股票價格進行較為準確的預(yù)測,引到股市良好的運行,最終將為金融市場的健康發(fā)展打下較為牢靠的基礎(chǔ)。
金融市場的預(yù)測方法大體上可分為基于時間序列模型的預(yù)測方法和基于機器學習的預(yù)測方法。但由于股票數(shù)據(jù)具有高噪聲、高不確定性、非線性和非平穩(wěn)性等特定,使得傳統(tǒng)的時間序列預(yù)測模型難以精確預(yù)測股票指數(shù)的變化[2]。因此本文主要是基于機器學習預(yù)測模型進行股票指數(shù)預(yù)測。
1? 研究方法
1.1? LSTM模型基本理論
LSTM神經(jīng)網(wǎng)絡(luò)是一種循環(huán)神經(jīng)網(wǎng)絡(luò),主要是為了解決時間序列數(shù)據(jù)在訓練過程中的梯度消失和梯度爆炸的問題,相比于BP神經(jīng)網(wǎng)絡(luò),LSTM神經(jīng)可以在更長的序列中取得更好的效果,能夠?qū)τ袃r值的信息進行長期的記憶[3]。LSTM憑借強大的特征提取和長時期數(shù)據(jù)處理能力在圖像數(shù)據(jù)和時間序列數(shù)據(jù)的預(yù)測任務(wù)中得到了成功應(yīng)用。
LSTM神經(jīng)網(wǎng)絡(luò)是一種特殊的RNN,在原來的RNN上的基礎(chǔ)上加入三個門:輸入門、遺忘門與輸出門,巧妙地解決了RNN在長時序序列預(yù)測中存在的梯度爆炸與梯度消失的問題。輸入門控制新的信息選擇性的記錄到細胞狀態(tài)中;遺忘門控制新狀態(tài)的前一步記憶單元中的信息選擇性的遺忘;輸出門則控制當前的輸出在多大程度上取決于當前的記憶單元。
由上述分析我們可以看出LSTM可以處理部分長序列數(shù)據(jù)的問題,通過三個門的控制以實現(xiàn)控制前一單元對當前單元的影響程度,加強了模型的預(yù)測能力。
1.2? LSTM-Attention基本理論
注意力集中模型是一種模擬人腦注意力的模型,該模型借鑒了人們在某個時刻對某一事物的關(guān)注會集中到某一個特定的地方,而減少甚至忽略了對其他部分的注意力。注意力集中模型通過對某些部分關(guān)注度的不同,使得模型的輸入特征賦予不同的權(quán)值,突出更為關(guān)鍵的影響因素,幫助模型更加準確的判斷。
Attention機制的基本思想是,打破了傳統(tǒng)編碼器-解碼器結(jié)構(gòu)在編碼時都依賴于內(nèi)部一個固定長度的向量。在特征關(guān)聯(lián)分析方面,利用LSTM神經(jīng)網(wǎng)絡(luò)模型分析前一刻隱藏狀態(tài)輸出和當前時刻的輸入特征,通過多層感知機構(gòu)建的注意力機制模型分析得到每一步的權(quán)值,來反映當前各輸入特征對預(yù)測信息的重要程度,提高模型的預(yù)測效果[4]。
在股票市場中,對股票價格的影響因素各種各樣,它們時刻對股票價格產(chǎn)生影響。為了探索這些因素對股票價格影響的高低程度,本文在傳統(tǒng)的LSTM神經(jīng)網(wǎng)絡(luò)模型上引入Attention機制,采用多層感知機的方法對各特征的影響力進行權(quán)值的量化[5]。加強了LSTM神經(jīng)網(wǎng)絡(luò)對歷史數(shù)據(jù)的提取能力,使預(yù)測效果更加精準。
2? 實驗與分析
2.1? 數(shù)據(jù)集介紹與數(shù)據(jù)預(yù)處理
本文選取滬深300近10年連續(xù)數(shù)據(jù)作為研究對象,選取2011年1月1日至2020年12月31日(除去節(jié)假日)內(nèi)共包含2 432組股票價格數(shù)據(jù)的股票價格作為研究樣本。共包含6個變量分別為:開盤價、收盤價、最高價、最低價、交易次數(shù)、金額。本文為了模型泛化誤差,選取后500組數(shù)據(jù)作為預(yù)測組,前1 932組數(shù)據(jù)作為訓練組。在將數(shù)據(jù)輸入到模型之前還需要對數(shù)據(jù)進行歸一化以消除量綱,從而提高模型的性能,本文所選取的數(shù)據(jù)歸一化方法為最大最小歸一化。
對所有股票數(shù)據(jù)進行處理,生成時間序列數(shù)據(jù),維度為(L,M,N),其中M表示樣本數(shù),N表示總特征數(shù),L表示序列長度,即已知的前L天的數(shù)據(jù),用前L天的數(shù)據(jù)來預(yù)測后一天收盤價。
2.2? 評估指標
為了評估模型的預(yù)測能力,本文選取了三種評估指標,分別為均絕對誤差(MAE)、均方誤差(MSE)、平均絕對百分比誤差(MAPE)。其中平均絕對誤差(MAE)是所有單個觀測值與算數(shù)平均值的偏差的絕對值的平均值。MAE可以避免誤差相互抵消的問題,因而可以準確反映實際預(yù)測誤差的大小。均方誤差(MSE)是各數(shù)據(jù)偏離真實值差值的平方和的平均數(shù),也就是誤差平方和的平均數(shù)。范圍[0,+∞),當預(yù)測值與真實值完全相同時為0,誤差越大,該值越大。平均百分比誤差(MAPE)常用于衡量預(yù)測準確性的統(tǒng)計指標。
2.3? 實驗結(jié)果與分析
本文首先應(yīng)用LSTM神經(jīng)網(wǎng)絡(luò)對滬深300指數(shù)進行訓練模型與預(yù)測,最終所得到的LSTM模型結(jié)構(gòu)及各項參數(shù)為:測試窗口序列長度為10,模型共包含2層LSTM層,各層的神經(jīng)元個數(shù)分別為64、10,為避免過擬合,增加兩層Dropout層,最后經(jīng)過2個ReLU激活函數(shù),輸出數(shù)據(jù)維度為1。將此訓練集輸入到LSTM神經(jīng)網(wǎng)絡(luò)模型中通過不斷調(diào)整權(quán)值達到期望輸出最終輸出結(jié)果。由表1的評估指標可以看出LSTM模型在訓練集上的評估指標較小,可以用于滬深300指數(shù)預(yù)測。下一步應(yīng)用上一步訓練好的LSTM模型測試測試集的預(yù)測效果,其預(yù)測效果如圖1所示。從中可以看出該模型總體預(yù)測效果較好,但是在極值點的預(yù)測效果較差。
本文應(yīng)用LSTM-Attention神經(jīng)網(wǎng)絡(luò)對滬深300指數(shù)進行訓練預(yù)測,訓練步驟如下:首先對滬深300數(shù)據(jù)進行數(shù)據(jù)預(yù)處理、數(shù)據(jù)歸一化,然后將輸入的時間序列數(shù)據(jù)輸入到原始的LSTM網(wǎng)絡(luò)中,經(jīng)過三層LSTM層后,將前一刻LSTM網(wǎng)絡(luò)的隱藏狀態(tài)ht-1和當前時刻輸入特征xMt作為特征注意力機制的輸入,通過當前時刻的各特征進行權(quán)值的計算,將得到的權(quán)值于前一時刻的輸入進行相乘得到新的網(wǎng)絡(luò)輸入,通過不斷調(diào)整某一時刻的權(quán)值來自適應(yīng)相關(guān)特征的影響力,直至達到最佳狀態(tài)輸出預(yù)測值、保存模型[6]。
滬深300指數(shù)開盤價、最高價、最低價、交易次數(shù)、金額作為輸入變量,收盤價作為輸出變量。首先通過Python軟件LSTM-Attention模型對滬深300訓練集進行訓練,輸入層為5個指標,輸入層為1個指標。初始權(quán)值采用隨機數(shù),訓練樣本一共1 932組,預(yù)測樣本500組,網(wǎng)絡(luò)訓練初始誤差較大,因此設(shè)定樣本學習結(jié)果條件誤差精度e=0.01,訓練樣本500次。通過不斷修正隱含層節(jié)點,得到最終訓練模型,由表1可以看出LSTM-Attention的評估指標更小。模型訓練結(jié)果良好。下一步,通過利用上一步訓練好的LSTM-Attention模型進行預(yù)測,其預(yù)測模型效果圖如圖2所示,可以看出模型在測試集中的前期預(yù)測效果較好,但是在后期存在一些預(yù)測誤差。
使用訓練集分別在BP神經(jīng)網(wǎng)絡(luò)、LSTM神經(jīng)網(wǎng)絡(luò)、LSTM-Attention神經(jīng)網(wǎng)絡(luò)上進行訓練研究,通過不斷改進模型參數(shù)使其預(yù)測效果更加準確。利用測試集進行模型的驗證,不同模型預(yù)測精度如表1所示。
綜上所述,通過上述分析我們可以大體上可以判斷出LSTM-Attention神經(jīng)網(wǎng)絡(luò)預(yù)測效果大于LSTM神經(jīng)網(wǎng)絡(luò)。通過比較LSTM、LSTM-Attention我們可以看出預(yù)測效果都還不錯,但是LSTM神經(jīng)網(wǎng)絡(luò)在預(yù)測股票有重大轉(zhuǎn)折點時預(yù)測效果較差,尤其是在測試集數(shù)據(jù)為200~300之間預(yù)測效果較差。而當我們在將Attention機制模型與LSTM神經(jīng)網(wǎng)絡(luò)模型結(jié)合后,Attention機制可以根據(jù)實際情況而給予不同的時間維度以不同權(quán)值,關(guān)注每一時刻的重要信息,使得LSTM-Attention神經(jīng)網(wǎng)絡(luò)模型的預(yù)測效果最后。因此,本文最終選取LSTM-Attention作為我們的股票指數(shù)預(yù)測模型,該模型在測試集上的MAE為0.008 352 39,MSE為0.000 158 05,MAPE為2.576 957 30。
3? 結(jié)? 論
本文應(yīng)用深度學習理論,基于金融時間序列數(shù)據(jù),使用LSTM神經(jīng)網(wǎng)絡(luò)、LSTM-Attention神經(jīng)網(wǎng)絡(luò)分別進滬深300指數(shù)進行預(yù)測,實驗結(jié)果顯示LSTM-Attention神經(jīng)網(wǎng)絡(luò)預(yù)測效果較好。作為LSTM模型給改進結(jié)構(gòu),LSTM-Attention繼承了LSTM在處理長時期時間序列模型的優(yōu)點,又進一步解決了不同時期對當前時期的影響程度,提高了預(yù)測的精度,其預(yù)測效果優(yōu)于傳統(tǒng)的LSTM神經(jīng)網(wǎng)絡(luò)模型。
由于中國股市中散戶占據(jù)股票市場的大半部分,而這其中又很容易受到外界其他因素的影響,因此本文下一步工作將考慮這些因素對股票指數(shù)的影響(如股票網(wǎng)站、論壇)。通過提取這些網(wǎng)站中股票變動的重大事件中的語言文字等相關(guān)信息,將其加入股票指數(shù)預(yù)測模型中,以進一步提高模型對股票指數(shù)的預(yù)測精度,使管理者可以更好地規(guī)劃股票市場,提高中國的市場經(jīng)濟。
參考文獻:
[1] 趙巖,楊立洪.基于CCA-BP神經(jīng)網(wǎng)絡(luò)的股票價格預(yù)測研究 [J].統(tǒng)計與管理,2020,35(3):66-69.
[2] 張康林,葉春明,李釗慧,等.基于Pytorch的LSTM模型對股價的分析與預(yù)測 [J].計算機技術(shù)與發(fā)展,2021,31(1):161-167.
[3] 陳可心.基于深度神經(jīng)網(wǎng)絡(luò)的股票走勢預(yù)測研究與應(yīng)用 [D].南京:南京郵電大學,2020.
[4] 李昭昱,艾芊,張宇帆,等.基于attention機制的LSTM神經(jīng)網(wǎng)絡(luò)超短期負荷預(yù)測方法 [J].供用電,2019,36(1):17-22.
[5] 趙紅蕊,薛雷.基于LSTM-CNN-CBAM模型的股票預(yù)測研究 [J].計算機工程與應(yīng)用,2021,57(3):203-207.
[6] 徐月梅,王子厚,吳子歆.一種基于CNN-BiLSTM多特征融合的股票走勢預(yù)測模型 [J].數(shù)據(jù)分析與知識發(fā)現(xiàn),2021,5(7):126-137.
作者簡介:董世鵬(1996.07—),男,漢族,河北邯鄲人,研究生在讀,研究方向:數(shù)據(jù)科學。