






摘 要:針對傳統股價預測模型未考慮市場投資者情緒對股票價格的影響以及難以較好的處理股價預測任務的問題,提出融合情感特征的時序深度學習模型BERT-TCN-LSTM。首先,對從股吧爬取投資者的評論信息進行情緒分析,提取出每日情緒的平均值作為模型的輸入;其次,將每日情感均值與股票價格數據、技術指標輸入構建的TCN-LSTM模型中進行訓練;最后,在滬深300以及四只個股股票數據的數據集上進行實驗。結果表明,相較于時間卷積網絡(TCN)、LSTM和CNN-LSTM,BERT-TCN-LSTM在滬深300數據集上的平均絕對誤差(MAE)平均降低了54%。BERT-TCN-LSTM模型可以有效提升股票價格預測的精度。
關鍵詞:時間序列預測;情緒分析;時間卷積網絡;長短期記憶網絡
中圖分類號:TP183 文獻標識碼:A 文章編號:2096-4706(2024)17-0068-05
0 引 言
準確的股價預測一直是廣大投資者和學者關注和研究的課題,然而股票市場是一個錯綜復雜且規模龐大的體系,影響股票價格的因素眾多,如市場因素、經濟因素、企業因素等。隨著互聯網技術日益革新,信息交流渠道日益呈現多元化和豐富化的特點,投資者開始傾向于在社交網絡上抒發自己和獲取他人對股票市場的情緒,因此,輿論情緒對投資者交易情緒的影響越來越大,易導致投資者非理性交易,增加股價波動不確定性,對股價的預測難度加大[1]。
就目前的學術界來說,目前較多是使用傳統統計學方法和機器學習方法來預測股價,但是由于一些時間序列數據的非穩定性和非線性特征,自回歸模型不具有普適性。時間序列數據的預測工作實質上與機器學習中的回歸分析密切相關,與傳統統計學方法相比機器學習方法更好的處理非平穩性、高信噪比的金融時間序列[2]。長短期記憶網絡(Long Short-Term Memory, LSTM)于1997年由Hochreiter等[3]提出,可以很好的實現時間序列數據的長期上下文且具備良好的擴展性。一些學者[4-5]通過LSTM模型,采用多變量輸入對股票價格或者股票指數進行預測,進一步對比多個方法,驗證了LSTM模型的預測精度最優。隨著研究推進,衍生出很多基于LSTM模型的混合預測模型,Kim等[6]構建LSTM與卷積神經網絡(Convolutional Neural Network, CNN)組合模型對股票價格進行預測,并驗證了該組合模型在預測精度上超越了單一模型。一些學者[7-9]通過CNN-LSTM模型在股價上的預測效果均優于LSTM或CNN等單一模型。由于CNN無法捕捉時間序列中的時間尺度的信息,于是Shaojie Bai等[10]提出了時間卷積網絡(Temporal Convolutional Network, TCN),TCN核心是一維卷積層和空洞因果卷積結構,能捕捉不同時間尺度的特征,并更好理解時序數據的長期依賴關系。
盡管先前有很多方法可以預測股價,但是這些工作都忽視了輿論情緒對投資者交易情緒的影響。隨著互聯網的迅猛發展,信息傳播速度加快且渠道多樣化,社交媒體成為股票市場輿論情緒的重要載體,其誘導放大了投資者的態度傾向。一些學者[11-12]的研究證明了在社交媒體上大眾對股票市場的情緒變化影響著投資者個人的收益。
為了提高股價預測的精確性,本文構建了一種新的股票價格預測模型。該模型將情感信息、價格信息和技術指標信息結合起來。首先,利用BERT模型分類股市評論中的情感傾向。其次,對提取到的當日的所有情感傾向求得每日情感均值。最后,利用每日情感均值與股票價格數據、技術指標融合通過運用TCN-LSTM模型實現了對股價的預測,最終提升了預測的正確率。
1 基于情感分析和TCN-LSTM的股價預測
1.1 基于BERT的股評情感特征提取
BERT模型是谷歌公司在2018年提出的一種基于Transformer的雙向語言模型,利用Self-Attention機制來計算文本表示,相較詞向量技術(Word2Vec)有更好的泛化能力,同時更準確地處理上下文邏輯關系。由于本文金融股評文本信息為中文,因此本文選擇BERT-base-Chinese模型,該模型使用中文文本進行預訓練可以取得較好的成效。
本文將東方財富網股吧抓取的10 000條數據并手工打上情緒標簽作為模型微調的數據集,數據集按70%、15%和15%分割訓練集、驗證集和測試集。模型微調采用學習率為0.000 01的Adam優化器,使用交叉熵損失函數,批大小設置為32。
將爬取到的股評數據通過分詞、去停用詞等預處理操作后,使用微調完成后的BERT-base-Chinese模型進行情感特征提取,首先輸入BERT-base-Chinese模型的嵌入層中添加位置編碼信息,隨后經過多頭自注意力機制層進行多頭自注意力計算,然后通過前饋網絡層和兩層殘差連接以及歸一化層,后將信息傳遞到下一個編碼器,最后在輸出層,使用Sigmoid函數輸出在0~1之間的情感值,情緒值越接近1說明市場對股價態度越積極。如表1所示為隨機選取的部分滬深300股評數據。
為了量化當天股民的情緒值,對每日消極、積極情緒數求對數平均的方法求出每日情緒值:
(1)
其中semt為第t天的情緒值,semt的值越大,表示當日偏向積極情感的評論數據越多,整體輿論情緒偏積極。semt的值越小,則表示日偏向消極情感的評論數據越多,整體輿論情緒偏消極。
1.2 基于TCN-LSTM的股價預測
1.2.1 時間卷積神經網絡
TCN模型通過多個殘差模塊組成,每個殘差模塊由擴張因果卷積,WeightNorm層,ReLU激活函數和Dropout層組成,擴張卷積可以解決傳統卷積層在處理長序列時感受野較小的問題,通過逐漸增加卷積核的擴張率,可以增加感受野的大小。引入殘差鏈接解決了模型在訓練過程中的梯度消失問題。WeightNorm層,ReLU激活函數和Dropout層都是為了機提高模型的泛化能力,其結構如圖1所示。
其中因果卷積只操作當前時刻的輸入,避免對未來的數據產生依賴,更好地保留時序信息的因果關系,濾波器F=(f1,f2,f3,…,fK),序列X=(x1,x2,x3,…,xT),則在xt處的因果卷積如式(2)所示:
(2)
但是,這種基本設計的一個主要缺點是:為了實現較長的有效歷史規模,就需要一個極深的網絡或非常大的濾波器,因此引入擴張卷積,擴張卷積(Dilated Convolution)在卷積操作中加入空洞,逐漸增加感受野的大小,捕獲到更多信息,從而更好地處理長距離的依賴關系。設一維序列輸入序列X=(x1,x2,x3,…,xT),濾波器F=(f1,f2,f3,…,fK)則在xt處的Dilation Rate為d的空洞卷積如式(3)所示:
(3)
其中,d為擴張因子,K為濾波器大小,t-K+k為過去的方向。因此,擴張相當于在每兩個相鄰的濾波器抽頭之間引入一個固定的步長。使用更大的擴張可以使頂層的輸出代表更廣泛的輸入,從而有效地擴大感受野。原理如圖2所示。
1.2.2 LSTM模型
由于LSTM模型的門控結構,使得LSTM可以從序列中集成、提取特征同時能夠考慮過去保留下來的重要信息,LSTM模型單元結構如圖3所示。LSTM單元的信息更新過程如式(4)~(9):
(4)
(5)
(6)
(7)
(8)
(9)
其中σ(.)為激活函數Sigmoid,xt為模型的輸入,h(t-1)為t-1時刻的輸出,bf和Wf分別為遺忘門的偏置和權重矩陣。ft為遺忘門狀態,其值越接近0,被遺忘的信息越多。Wi和bi為輸入門的權重矩陣和偏置,WC和bC為隱藏狀態?t的權重矩陣和偏置。it為輸入門的狀態,得到的值越大,說明新從TCN模型輸出的輸入xt的重要性越高。Ct為當前更新的隱藏單元,?t為當前的隱藏記憶單元。ot為輸出門輸出定義了可以輸出的信息量。Wo和bo為當前輸出門的權重矩陣和偏置。
1.2.3 基于情感分析的TCN-LSTM模型
本文提出一種金融時間序列預測的模型——BERT-TCN-LSTM混合模型股價預測方法。方法結構框架如圖4所示。模型主要包含兩個階段:用BERT預訓練模型對股評數據進行情緒分析并計算每日情緒指標構建基于BERT-TCN-LSTM 模型的股價預測模型。兩個階段共包括四個步驟:
1)使用爬蟲工具從東方財富網股吧抓取股吧評論,并通過數據清洗、分詞、去除停用詞等步驟提升文本數據的可讀性。
2)利用BERT預訓練模型進行情感分析,根據分析結果計算每日的情緒值,從而形成每日的情緒指標。
3)將每日的情緒指標與歷史交易數據、技術指標數據結合,構建用于預測的全面的股指數據集。由于股票價格數據中的開盤價等價格與交易量的量綱不同,因此需要進行數據歸一化處理。歸一化處理。在本文中,使用Z-Score歸一化方法式(10)對數據進行處理,保證了數據間的可比性,式(10)如下:
(10)
其中,x為原始數據,μ為x的平均值,σ為x的標準差,xnormalization表示歸一化后得到的數據。
4)將經過處理的數據輸入TCN-LSTM模型對模型進行訓練和預測任務。TCN-LSTM混合模型結合了TCN和LSTM的優點,相比于卷積神經網絡,TCN具有更快的收斂速度和更出色的特征挖掘能力[13]。利用TCN模型的擴張因果卷積對時間序列長期依賴關系的優勢提取股價數據集的特征,進一步輸入到LSTM模型中,LSTM的門結構可以。選擇性地保留或遺忘某些信息,使得LSTM能夠更好地捕獲和存儲股價數據的長期依賴關系,能夠更深入地學習數據的內在規律,彌補TCN靈活性不足的缺點,此外TCN中的殘差結構提高了模型的表達能力和魯棒性,并能夠更準確地預測未來的值。以上四個步驟如圖4所示。
2 實驗與結果
為了評估模型性能表現,本文選用了平均絕對誤差(Mean Absolute Error, MAE)、均方誤差(Mean Square Error, MSE)、均方根誤差(Root Mean Square Error, RMSE)和平均絕對百分比誤差(Mean Absolute Percentage Error, MAPE)作為模型評價指標,計算過程如式(11)至(14)所示:
(11)
(12)
(13)
(14)
其中,?i為預測值,i=1,2,3,…,n;yi為真實值,評價指標MAE、MSE、RMSE和MAPE的取值范圍都是[0,+?)。評價指標的值越低越接近于0,說明模型的預測精度越高,反之則表明模型的預測性能越差。
2.1 數據集選擇
本文股票交易數據來自Tushare數據庫,數據選擇開盤價、最高價、最低價、收盤價、成交量、成交額等歷史交易數據,和布林線、指數平滑移動平均線等技術指標數據。股評數據來自東方財富網股吧,選取2020年1月1日至2023年1月1日滬深300指數的歷史交易數據、技術指標數據以及100萬條股吧股評作為樣本。股吧股評通過BERT預訓練模型進行情緒分類后對其每日消極、積極情緒數求對數平均,將含有情緒數據技術指標和交易數據的股價數據集進行劃分,其中70%的數據用作訓練集,15%的數據用作驗證集,剩余的15%的數據用作測試集。利用訓練集對模型進行訓練,并通過驗證集篩選出性能最佳的模型。最后,使用測試集評估已訓練完備模型的性能。
2.2 股指實驗結果
本節為了驗證BERT-TCN-LSTM(BTL)混合模型的可行性和高效性本文選取2020年1月1日至2023年1月1日的滬深300指數(000300.sh)數據和2020年1月1日至2023年1月1日滬深300指數的100萬條股吧股評作為樣本,并使用TCN、CNN-LSTM和LSTM以及考慮情緒指標的BERT-TCN(BT)、BERT-CNN-LSTM(BCL)和BERT-LSTM(BL)作為對比模型進行對比實驗,各個模型在不同數據集上的評價指標結果如表2所示。
由表可知,BERT-TCN-LSTM模型的表現最好,其預測準確性最高,在表2結果中表明,相較之下,LSTM模型的各項指標均為最差,這在一定程度上突顯了TCN模型的優勢。TCN模型相較于LSTM模型,在評價指標MAE、MSE、RMSE以及MAPE上的數值均更小,這可能是由于TCN模型的主要結構——1DFCN與空洞因果卷積的結合,使其能夠并行處理輸入序列的不同部分,從而提高了預測精度。此外,當考慮情緒指標時,模型的性能普遍優于未考慮情緒指標的相同模型。這一觀察結果表明,情緒指標的引入對于模型的預測結果具有一定的積極影響。最后,BERT-TCN-LSTM模型在預測準確性方面表現優異,其優勢在于結合了TCN和LSTM的特點,同時情緒指標的引入可以進一步提高模型的預測性能。
2.3 個股實驗結果
由于個股反應的是特定上市公司的經營狀況和基本面信息,與影響股指的因素不同,為了更深入地驗證模型的魯棒性和普適性,本文選擇2016年1月1日至2023年1月1日七年的平安銀行(000001.sh)、五糧液(000858.sz)、伊利股份(600887.sh)和長江電力(600900.sz)的歷史交易數據、技術指標和相關股吧總共90萬條股評作為數據集,并使用TCN、CNN-LSTM和LSTM以及考慮情緒指標的BERT-TCN(BT)、BERT-CNN-LSTM(BCL)和BERT-LSTM(BL)作為對比模型進行對比實驗,各個模型在不同數據集上的評價指標結果如表3所示。
由表3可知,在四支個股的數據中,BERT-TCN-LSTM模型的各項指標均優于TCN、CNN-LSTM和LSTM模型以及考慮情緒指標的BERT-TCN、BERT-CNN-LSTM和BERT-LSTM模型,其優越性和魯棒性均得到了驗證。因此,通過個股以及股指的預測實驗結果表明,本文提出的BERT-TCN-LSTM模型對于提高投資者收益、降低投資中存在風險能夠提供重要幫助作用。
3 結 論
本文提出的基于情感分析的金融市場趨勢預測模型TCN-LSTM,通過BERT-base-Chinese對評論文本進行情緒分類,將情緒劃分為0或1,按日為單位通過對數平均的方法得出每日的情感均值。再使用TCN-LSTM模型進行股價預測。本文使用了滬深300股指的三年數據以及平安銀行、五糧液、樂普醫療、億緯鋰能、伊利股份和長江電力這六支個股的五年數據進行試驗,并與LSTM、TCN和CNN-LSTM模型進行了性能比較。結果表明,在優化改進后的模型性能方面,該模型具有更好的表現。本文所提出的模型在股價預測上具有較高的精度,可以為市場中的參與者的決策提供一個有效的參考依據。同時,輿論情緒值與股價的結合對相關價差機構也具有一定的參考價值。
未來的研究計劃引入更多相關數據,如基本面數據、相關公司股價數據等,以進一步提升模型性能。此外,還將探索研究更適合金融文本處理的自然語言處理方法,并嘗試在不同時間長度的金融相關文本上提取情感值作為模型輸入,同時進一步改進模型,以提升模型的預測精度。
參考文獻:
[1] 苗怡霖.基于投資者情緒視角的不同行業股價波動實證研究 [J].投資與合作,2023(6):41-43.
[2] 陳凱杰,唐振鵬,吳俊傳,等.基于分解-集成和混頻數據采樣的中國股票市場預測研究 [J].系統工程理論與實踐,2022,42(11):3105-3120.
[3] HOCHREITER S,SCHMIDHUBER J. Long Short-Term Memory [J].Neural Computation,1997,9(8):1735-1780.
[4] CHEN K,ZHOU Y,DAI F Y. A LSTM-based Method for Stock Returns Prediction:A Case Study of China Stock Market [C]//2015 IEEE International Conference on Big Data (Big Data).Santa Clara:IEEE,2015:2823-2824.
[5] FISCHER T,KRAUSS C. Deep Learning with Long Short-term Memory Networks for Financial Market Predictions [J].European Journal of Operational Research,2018,270(2):654-669.
[6] KIM T,KIM H Y. Forecasting Stock Prices with a Feature Fusion LSTM-CNN Model Using Different Representations of the Same Data [J/OL].PLoS ONE,2019,14(2):e0212320[2024-01-20].https://doi.org/10.1371/journal.pone.0212320.
[7] ALDHYANI T H H,ALZAHRANI A. Framework for Predicting and Modeling Stock Market Prices Based on Deep Learning Algorithms [J/OL].Electronics,2022,11(19):3149[2024-01-20].https://doi.org/10.3390/electronics11193149.
[8] 叢敬奇,成鵬飛,趙振軍.基于CEEMD-CNN-LSTM的股票指數集成預測模型 [J].系統工程,2023,41(4):104-116.
[9] 耿晶晶,劉玉敏,李洋,等.基于CNN-LSTM的股票指數預測模型 [J].統計與決策,2021,37(5):134-138.
[10] BAI S J,KOLTER J Z,KOLTUN V. An Empirical Evaluation of Generic Convolutional and Recurrent Networks for Sequence Modeling [J/OL].arXiv:1803.01271 [cs.LG].[2024-01-26].https://arxiv.org/abs/1803.01271.
[11] AFFUSO E,LAHTINEN K D. Social media sentiment and market behavior [J].Empirical Economics,2019,57(1):105-127.
[12]黃創霞,溫石剛,楊鑫,等.個體投資者情緒與股票價格行為的互動關系研究[J].中國管理科學,2020,28(3):191-200.
[13]郭玲,徐青山,鄭樂.基于TCN-GRU模型的短期負荷預測方法[J].電力工程技術,2021,40(3):66-71.
DOI:10.19850/j.cnki.2096-4706.2024.17.013
作者簡介:張庭溢(1982.08—),男,漢族,福建莆田人,副教授,博士,研究方向:量化投資與機器學習;通迅作者:黃禮欽(1997.02—),男,漢族,浙江紹興人,碩士研究生在讀,研究方向:區塊鏈與智慧管理、量化投資與機器學習;陳香香(1996.06—),女,漢族,安徽蕪湖人,碩士研究生在讀,研究方向:區塊鏈與智慧管理、量化投資與機器學習。
收稿日期:2024-03-07
基金項目:國家社科規劃基金一般項目(22BGL007)
TCN-LSTM Stock Price Prediction Based on Sentiment Analysis
ZHANG Tingyi1, HUANG Liqin2, CHEN Xiangxiang2
(1.School of Management, Fujian University of Technology, Fuzhou 350118, China;
2.School of Internet Economics and Business, Fujian University of Technology, Fuzhou 350011, China)
Abstract: In view of the fact that traditional stock price prediction models do not consider the impact of market investor sentiment on stock prices and are difficult to handle stock price prediction tasks, a time series Deep Learning model BERT-TCN-LSTM that integrates sentiment features is proposed. Firstly, sentiment analysis is performed on investor comments crawled from stock bars, and the average value of daily sentiment is extracted as the input of the model. Secondly, the TCN-LSTM model constructed by the daily sentiment average and stock price data and technical indicators is trained. Finally, experiments are conducted on the data sets of CSI 300 and four individual stock data. The results show that compared with the Temporal Convolutional Network (TCN), LSTM and CNN-LSTM, the Mean Absolute Error (MAE) of BERT-TCN-LSTM on the CSI 300 data set is reduced by an average of 54%. The BERT-TCN-LSTM model can effectively improve the accuracy of stock price prediction.
Keywords: time series prediction; sentiment analysis; Temporal Convolutional Networks; Long Short-Term Memory