?

基于BiLSTM-SA-TCN時間序列模型在股票預測中的應用

2023-12-16 04:46楊智勇葉玉璽周瑜
南京信息工程大學學報 2023年6期
關鍵詞:股票注意力卷積

楊智勇 葉玉璽 周瑜

股票價格預測;長短期記憶網絡;注意力機制;時間卷積網絡

0 引言

20世紀90年代,中國證券市場重新開放并正式改革,中國股市隨之進入新的發展階段.隨著市場經濟改革的深化,股票市場不僅擴大了經濟活動的規模,同時也提高了人們的投資意識[1-2].中國股市總市值從1990年的3.3億美元增長到2022年的12萬億美元,中國股市已經成為世界第二大股市.股票因其交易便利、高風險和高回報吸引了廣大投資者,如何在股票市場中獲取高收益則成為投資者們津津樂道的話題.股票預測是一種預測股價的方法和有效的投資方式,它通過分析股票市場的歷史數據,來預測未來股票價格的運動趨勢.

股票預測研究早期主要通過技術分析和統計學模型來預測股票走勢,如道氏理論、自回歸移動平均模型(Autoregressive Integrated Moving Average,ARIMA)、量價理論等,但面對日益壯大的股票市場及其存在的海量數據,僅僅依賴傳統的技術分析不能滿足市場的需求.隨著機器學習的興起,很多新興的技術都廣泛地應用在股票數據研究中,如決策樹(Decision Tree,DT)、支持向量機(Support Vector Machine,SVM)、隨機森林(Random Forest,RF)等[3-5].然而,股票價格數據具有非線性、高噪聲、強時變性等特點[6],機器學習模型通常會因過擬合而降低預測模型的泛化能力,以及模型在訓練數據上表現良好,但在新數據上表現不佳.在時間序列預測中,由于數據隨時間的變化而變化,基于機器學習的模型可能無法很好地適應所有類型的數據.

近幾年來,深度學習技術不斷發展,在語音和圖像識別方面取得的成果,遠遠超過先前相關技術.研究表明,深度學習方法能夠更好地預測股票未來走勢,有更高的泛化能力,如文獻[7-11]分別使用單一結構的深度學習模型,對股票價格進行預測.然而,單一結構網絡模型預測精度不高,因此,學者們對單一網絡結構進行了改進.Kim等[12]利用CNN(Convolutional Neural Network)提取股票蠟燭圖特征、LSTM提取股票時間特征,CNN-LSTM模型在標準普爾500指數上的實驗均優于單個模型.Lee等[13]提出一種結合門遞歸單元(Gate Recurrent Unit,GRU)和注意力機制(Attention Mechanism,AM)的股票預測模型(GRU-Attention),將股票基礎數據作為模型輸入,預測未來交易日的漲跌概率.Lu等[14]使用一維卷積神經網絡提取輸入數據的特征,將提取的特征輸入基于注意力機制的雙向長短期記憶網絡,最后通過全連接層輸出預測值,實驗結果表明CNN-BiLSTM-AM模型具有較好的泛化能力.但上述預測模型功能單一,大多只針對特定的股票或單一股指,同時,預測模型存在時效性問題.因此,股票預測模型的網絡結構在精度和深度方面還有很大的優化空間.

有鑒于此,本文提出雙向選股策略選取股票實驗對象,以長短期記憶網絡(Long Short-Term Memory,LSTM)為基礎,提出融合自注意力機制(Self-Attention,SA)和時間卷積網絡(Temporal Convolution Network,TCN)的雙向長短期記憶神經網絡(BiLSTM-SA-TCN)股票預測模型,通過在多個股票數據集的實驗,驗證了本文模型的可行性和有效性.實驗結果表明,本文模型具有良好的泛化能力,并解決了股票預測模型存在的時效性問題.

1 算法介紹

1.1 BiLSTM

LSTM是循環神經網絡(Recurrent Neural Network,RNN)的一類變種結構,采取遞歸的網絡架構,結合適當的基于梯度的學習算法,解決了RNN模型由于輸入序列過長而產生的梯度消失問題[15].LSTM層由一組循環連接的存儲單元組成,每個存儲單元包含一個或多個細胞結構,每個細胞結構通過三個“門”(即輸入門、輸出門、遺忘門)保留或遺忘數據信息.

ft=σ(Wf*ht-1+Wf*xt+bf),

(1)

it=σ(Wi*ht-1+Wi*xt+bi),

(2)

(3)

(4)

ot=σ(Wo*ht-1+Wo*xt+bo),

(5)

ht=ot*tanh(Ct).

(6)

1.2 自注意力機制

注意力機制起源于人腦,人類視覺可以快速聚焦在注意力權重高的關鍵區域.注意力機制可以計算輸入序列中每個元素的重要性,并根據重要性為不同的特征分配不同的權重[16].注意力機制的計算圖1所示,主要為如下3個部分:

圖1 注意力機制Fig.1 Attention mechanism

1)計算每個查詢(Query)和關鍵字(Key)之間的相似度,以獲得相應的權重值(Value);2)使用Softmax函數對權重進行歸一化,獲得權重系數;3)將權重系數和相應值加權求和,以獲得最終的注意力值.如式(7)所示:

(7)

而自注意力機制是注意力機制的一種特例,它的Query、Key、Value 3個矩陣為同一個輸入,自注意力機制能把輸入序列的不同信息聯系起來,更擅長捕獲重要數據.

1.3 時間卷積網絡

TCN是Lea等[17]在卷積神經網絡的基礎上提出的一種可以用于處理時間序列數據的網絡結構.TCN的網絡結構是由堆疊的一維全連接卷積層組成,每個卷積層具有獨特的因果卷積結構,如圖2所示,它可以接受任意長度的輸入序列,并輸出相同長度,在T時刻的輸出只與T之前的元素進行卷積,這避免了未來信息的“泄露”.因果卷積計算公式如下:

圖2 時間卷積網絡Fig.2 Temporal convolution network

(8)

其中,x為輸入,f為過濾器,d為擴張系數,k為卷積核大小,s-di決定了只對過去的輸入數據做卷積操作.

1.4 BiLSTM-SA-TCN預測模型

為了解決股票預測模型預測功能單一化和時效性問題,本文在LSTM神經網絡基礎上進行改進,提出一種融合自注意力機制和時間卷積網絡的BiLSTM股票預測模型.通過引入自注意力機制可以從眾多股票特征信息中選擇出當前任務中更重要的信息,即能夠有效解決循環神經網絡的時效性問題;通過引入時間卷積網絡,使得模型可以并行處理時間序列信息,提高模型預測準確度和訓練效率.預測模型結構如圖3所示.

圖3 股票預測模型結構Fig.3 Structure of the proposed stock price prediction model

本文使用BiLSTM作為輸入序列數據的特征提取和預處理的網絡層,輸入序列數據為3D張量,即樣本(Samples)、時間步長(Time_steps)、特征(Features).BiLSTM不僅能將長輸入序列轉換成強化集合特征,而且,通過使用兩個LSTM網絡,一個從前向后處理序列,另一個從后向前處理序列,可以捕獲序列中的雙向信息.因為前面的股票數據可能會對后面的產生影響,可以有效學習股票數據中長期依賴關系、挖掘輸入序列的特征規律,從而提高序列建模的準確性.

在股票預測分析的過程中,股票序列數據的時間范圍通常較大,LSTM在處理較長的時序序列時會出現梯度衰減過快的問題,這會影響LSTM網絡學習股票數據中的重要特征信息,導致模型出現重要特征信息丟失的情況,從而導致模型的預測準確率下降.針對上述情況,本文改進了網絡結構,引入自注意力機制,使得模型可以優先考慮隱藏層中與股票數據的重要特征信息,忽略其他無關信息,通過計算多源特征融合股票序列中每個元素的重要性,并根據重要性為不同的特征分配不同的權重,使得模型可以關注到時間序列其他位置的內容,并將這些內容作為幫助指引,提高模型的預測準確率.

隨著網絡層數的增加,以及迭代次數增加,神經網絡在訓練過程中梯度更新的幅度過大,導致權重變化過快,從而導致模型出現網絡退化效應,即模型在處理新數據時表現不佳,因為它沒有很好地捕捉訓練數據之間的潛在關系.為此,本文引入TCN網絡層處理時間序列,通過TCN中的卷積層來捕獲序列的依賴關系,揭示數據內部的隱藏關系.同時,殘差連接可以減少網絡深度和參數數量,提高模型的泛化能力和訓練效率.最后,將TCN網絡層計算結果通過Dense層輸出,輸出結果為次交易日的股票收盤價預測值.

2 實驗結果及分析

2.1 股票數據集構建

通過Tushare(https://tushare.pro/)提供的接口獲取股票歷史交易數據,其中,歷史交易數據主要包括開盤價(open)、收盤價(close)、最低價(low)、最高價(high)、成交額(amount)、成交量(volume)、漲跌幅(change_percent)和漲跌額(change),并通過每日收盤價計算得到5日均線和布林線,兩個技術指標分別表示股價的周、月趨勢.以往的研究[18-21]僅選取滬深指數或滬深股市中的幾只股票進行實驗,所選股票的價格趨勢較為穩定,缺乏波動性,且實驗覆蓋面較差,導致模型實驗結果不具說服力.因此,本文提出雙向的選股策略選取實驗對象,使得實驗覆蓋面更廣.橫向,通過公司市值大小進行選擇,分為大盤股和中小盤股;縱向,按照股票分類進行選擇,包括金融、房地產、煤炭、鋼鐵、有色金屬、石油化工、汽車等7大總類.選取的股票如表1所示.

表1 實驗所選股票

本實驗選取每只股票最近2 300個交易日的股票數據進行實驗,時間范圍2012年8月—2022年8月.

將股票交易數據和相關技術指標(5日均線、布林線)作為股票數據集.但由于股票數據集的數據存在較大差異,為了消除量綱,需要對數據作歸一化處理[22],即將數據按比例縮放到一個較小的特定區間內.數據的歸一化可以方便數據的處理,以及保證模型訓練時收斂加快,有助于提高模型的性能.

(9)

其中,Xmin和Xmax分別為數據集中的最小值和最大值.

2.2 神經網絡模型訓練策略

本文實驗在Windows 10操作系統下搭建,使用GPU(Graphics Processing Unit)版本的Tensorflow框架,實驗環境配置如表2所示.

表2 實驗環境配置

在本實驗中,滑動窗口周期大小為10,即通過前10天的股票數據預測后一天的股票收盤價.在訓練配置參數中,首先需要更新神經網絡中的權重和偏置,使用隨機梯度下降法使損失函數最小化,其次需要控制訓練過程的迭代次數以便逐步提高模型的準確性,epoch設置為100.為了有效地利用計算資源和加速模型的訓練,batch size設置為5,學習率設置為0.001,其大小會影響模型的訓練速度和穩定性以及最終的訓練效果.具體模型參數設置如表3所示.

表3 模型參數設置

評價指標包括均方根誤差(RMSE)、平均絕對誤差(MAE)和決定系數(R2):

(10)

(11)

(12)

2.3 實驗及結果分析

首先使用本文模型對不同時期的股票數據進行實驗,其次使用現有的股票預測模型與不同的基準模型進行對比.

2.3.1 股票預測

使用本文模型對14只股票進行實驗,并通過不同時期(2012-08—2021-08、2012-08—2022-02、2012-08—2022-07、2012-08—2022-08)的股票數據,來驗證本文模型的有效性,同時檢驗本文模型是否存在時效性的問題,實驗結果如圖4所示.由圖4可以發現,BiLSTM-SA-TCN模型在不同時期的RMSE的平均值分別為0.087、0.085、0.083和0.083,R2的平均值分別為0.938、0.939、0.937和0.94,MAE的平均值分別為0.035、0.037、0.032和0.032,表明BiLSTM-SA-TCN模型處理新數據時表現良好,預測結果較為平穩,能夠捕捉訓練數據之間的潛在關系,具有較高的準確性和泛化能力,且不存在時效性問題.

圖4 BiLSTM-SA-TCN模型的預測性能Fig.4 Prediction performance of the proposed BiLSTM-SA-TCN model

2.3.2 預測模型對比實驗

為了進一步驗證BiLSTM-SA-TCN模型的有效性和先進性,需要與其他基準模型進行對比實驗.基準模型選擇如下:CNN-LSTM[12],利用長短期記憶模型(LSTM)建立一個預測未來股票市場價值的模型;GRU-Attention[13],結合門控循環神經網絡和注意力機制的預測模型,對股票未來的漲跌進行預測;CNN-BiLSTM-AM[14],CNN用于提取輸入數據的特征,BiLSTM用來提取的特征數據來預測股票第2天的收盤價,利用AM捕捉特征狀態對過去不同時刻股票收盤價的影響.實驗結果如表4—10所示.

表4 不同預測模型在招商銀行和國金證券的評價指標對比

表6 不同預測模型在中國神華和電投能源的評價指標對比

表7 不同預測模型在中信特鋼和方大炭素的評價指標對比

表8 不同預測模型在天齊鋰業和云南銅業的評價指標對比

表9 不同預測模型在中國石油和岳陽興長的評價指標對比

表10 不同預測模型在比亞迪和東風汽車的評價指標對比

從表4—10可以發現,LSTM模型的評價指標大多低于CNN-BiLSTM-AM、GRU-Attention和BiLSTM-SA-TCN模型,且訓練效率較低.雖然LSTM能夠保留或遺忘序列特征信息,但單一的LSTM模型的網絡結構存在缺陷,導致LSTM模型只能大致擬合股票走勢,預測值與真實值存在較大誤差,模型的擬合度也較低.對于CNN-LSTM模型而言,通過CNN提取股票數據特征,再通過LSTM網絡進行學習,能較好地提高股票預測模型預測精度,且模型訓練效率較高,但在部分數據集出現了預測失準的情況,如比亞迪和東風汽車.如何提高預測模型的精度,這需要神經網絡模型重點關注與股票價格相關的特征信息,利用注意力機制可以很好地解決這一問題.

從實驗中能夠發現CNN-BiLSTM-AM和GRU-Attention模型的各項評價指標在64%的數據集上明顯優于LSTM和CNN-LSTM模型,表明結合了注意力機制的神經網絡模型在一定程度綜合了局部重要信息特征,提高了模型的泛化能力,能夠讓模型的預測結果更加準確,同時提高模型的訓練效率.但股票價格處于驟漲或驟跌的時段,CNN-BiLSTM-AM和GRU-Attention模型擬合度較低,出現較大的預測誤差,表明這兩個模型無法學習到股票價格驟漲或驟跌的特征信息.鑒于以上的基準預測模型的實驗結果,它們可能不適用于發展中經濟體的股票市場.

對于BiLSTM-SA-TCN模型,實驗結果表明在78%的股票數據集中R2評價指標最優,在71%的數據集中MAE評價指標最優,RMSE的平均指標比LSTM、CNN-LSTM、GRU-Attention和CNN-BiLSTM-AM模型分別提高14%、25%、14.2%和7.8%,在模型訓練方面,BiLSTM-SA-TCN模型展現了卓越的特性,其收斂速度較快,加速了模型訓練過程,從而更迅速地解決了問題并提高了預測性能.表明BiLSTM-SA-TCN模型比其他基準模型擁有更準確的表達能力,符合股票價格變動的基本趨勢.同時,在股票價格驟漲或驟跌的時段下,BiLSTM-SA-TCN模型的擬合效果更優,表明BiLSTM-SA-TCN模型可以重點關注并學習時序序列的股票重要特征信息,使得神經網絡模型能夠在股票價格發生劇烈波動的情況下,預測結果更加精準.

3 結論

在LSTM神經網絡的基礎上,提出了融合自注意力機制和時間卷積網絡的BiLSTM神經網絡股票預測模型.在股票預測模型中加入自注意力機制能夠有效學習股票數據相關性,同時,加入TCN可以更容易處理長時間序列信息,提高模型預測準確率.通過在不同股票數據集上與多個模型實驗對比,結果表明本文模型具有更小的誤差、更高的準確率、更好的擬合度和較高的訓練效率,解決了股票預測模型預測功能單一和存在時效性的問題.

下一步將從兩個方面進一步研究:一是增加次新股或上市幾年的股票數據,對現有的預測模型進行修正和優化,以提高其對這些股票的預測效果;二是重點考慮政策、突發新聞事件、經濟形勢和公司財報等因素對于股票價格的影響,建立一個更為全面的預測模型,以更好地應對市場變化.

猜你喜歡
股票注意力卷積
讓注意力“飛”回來
基于3D-Winograd的快速卷積算法設計及FPGA實現
從濾波器理解卷積
基于傅里葉域卷積表示的目標跟蹤算法
“揚眼”APP:讓注意力“變現”
本周創出今年以來新高的股票
本周創出今年以來新高的股票
A Beautiful Way Of Looking At Things
本周連續上漲3天以上的股票
近期連續漲、跌3天以上的股票
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合