基于情感分析的TCN-LSTM的股价预测
2024-10-31张庭溢黄礼钦陈香香
摘 要:针对传统股价预测模型未考虑市场投资者情绪对股票价格的影响以及难以较好的处理股价预测任务的问题,提出融合情感特征的时序深度学习模型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