数据多维处理LSTM股票价格预测模型

2020-08-27 06:01文宝石颜七笙
江西科学 2020年4期
关键词:股票价格股价预测

文宝石,颜七笙

(东华理工大学理学院,330013,南昌)

0 引言

股票市场一直受到投资者的青睐,股票价格的变化对投资者的收益有十分重大的影响,因此通过预测未来时刻股票价格进行规避风险是股票研究的一项重要内容[1],随着人工智能的不断进步,深度学习在经济学领域的优异表现使其得到更为广泛的研究与应用。支持向量机(Support Vector Machine,SVM)[2]、逻辑回归(Logistic Regression,LR)[3]、遗传算法(Genetic Algorithm,GA)[4]、贝叶斯学习(Bayesian Learning,BL)[5]和卷积神经网络(Convolutional Neural Network,CNN)[6]等机器学习模型都应用于股价预测中,文献[7]通过采用贝叶斯正则化算法改进传统BP神经网络模型,实现预测精度的提高和模型泛化能力的增强,文献[8]通过主成分分析法和改进果蝇算法对BP神经网络优化,实现模型收敛速度和预测精度的提升。

随着循环神经网络(Recurrent Neural Network,RNN)[9]的发展,RNN被广泛应用于数据序列的预测,对时序数据分析表现出良好的适应性,但研究表明,随着工作时间的推移RNN在处理较长时间序列的数据时会忘记之前的状态信息,导致网络在优化的过程中会发生梯度消失现象,也被称作长期依赖问题。通过对RNN网络单元结构改进提出的长短期记忆网络(Long Short Term Memory Network,LSTM)[10]弥补了RNN长期记忆能力不足的问题。目前,LSTM网络已经成功应用于语音识别、文本处理等领域,文献[11]通过双向长短期记忆网络(BiLSTM),对民航陆空通话进行语音识别,有效降低通话语音识别的错词率。文献[12]通过提出的C-LSTM模型,分别结合卷积神经网络(CNN)和循环神经网络的优点,在文本分类问题中取得良好的预测效果。在金融时序数据问题的研究中,文献[13]搭建不同层数和相同层数下不同隐藏神经元个数的LSTM模型对苹果股票价格进行有效的预测。文献[14]通过LSTM模型对标准普尔500指数金融数据进行预测,相比随机森林(RAF)、DNN和逻辑回归分类(LOG)取得更好的预测结果。

针对股票的价格的非线性、随机性等特征,充分考虑股价数据之间的时间相关性和数据之间的变化趋势,结合信号处理技术,提出数据多维处理LSTM股价预测模型。选取2010年3月16日至2020年3月16日浦发银行股价数据作为实验数据对股票价格进行回归预测。首先通过数据多维处理,对股价数据进行滤波[15]、差分和积分处理,得到反映股票价格数据自身变化趋势的新数据,再通过数据组合形成多维处理的股价预测数据,然后建立数据多维处理LSTM股价预测模型。实验结果表明,该模型具有较高的预测精度和较强的学习能力,在股价预测问题上表现出重要的应用价值。

1 模型基础原理

LSTM(Long Short Term Memory Network,LSTM)是在传统循环神经网络(RNN)基础上改进的深度学习网络,由德国学者Hochreiter和Schmidhuber于1997年提出。LSTM网络在RNN结构上引入一个新的状态单元Ct,解决RNN梯度爆炸或梯度消失导致的长期依赖问题,在处理较长时间序列数据时表现良好。

LSTM与普通神经网络一样,结构上由输入层、隐藏层和输出层组成,同时LSTM又是一种特殊的RNN,隐藏层由一个或多个记忆单元组成,每个记忆单元通过遗忘门、输入门和输出门进行控制。LSTM单元结构如图1所示。

图1 LSTM单元结构

ft=σ(Wf·[ht-1,xt]+bf)

(1)

it=σ(Wi·[ht-1,xt]+bi)

(2)

(3)

(4)

ot=σ(Wo·[ht-1,xt]+bo)

(5)

ht=ot。tanh(Ct)

(6)

2 建立股价预测模型

2.1 股价数据准备

2.1.1 数据采集 选取沪深交易所上市A股中浦发银行(股票编号为600000)的股价数据作为实验数据,该数据来自于CSMAR数据库,其中采集了2010年3月16日至2020年3月16日的相关股价信息数据,原始股价数据的部分数据见表1。

表1 原始股价数据

据表1可知,浦发银行股价数据更新频率为1 d/次,股价数据主要特征见表2。

表2 股价数据主要特征

2.1.2 数据预处理 首先,清洗数据,清洗股票数据中对预测过程无用的重复值,把数据中的重复值证券代码“600000”特征删去;通过插值等方法对原始数据中存在的缺测值进行填充,调整数据中乱序排列的数据顺序;将交易日期作为时间特征便于数据查询索引。

然后,归一化输入变量,选取表2中最后5个股票数据特征作为输入变量,观察表1可知,不同的股价数据特征具有不同的量纲和量纲单位,未归一化的变量数据将对模型预测产生不利影响,通过样本数据归一化的措施,解决股价要素之间可比性问题,加快LSTM训练速度,减少误差输出,本文选定样本数据归一化取值范围在[0,1]之间,归一化数学表达式为:

(7)

式中:max为清洗后样本数据中各股价特征的最大值,min为清洗后样本数据中各股价特征的最小值。

最后,通过数据拼接将时间序列数据转化为有监督数据,本文选定输入是t时刻各股价特征相关数据,输出t+1是时刻的股票价格。

2.2 股价预测模型

本文以股价预测为例,提出数据多维处理LSTM股价预测模型的构建方法。首先对收集的原始股价数据预处理,然后通过数据的多维处理得到组合数据,再结合LSTM模型对训练样本进行训练,最后通过训练好的LSTM模型对样本数据进行测试。

2.2.1 数据多维处理 股价的非线性和不稳定性使股价预测变得复杂和困难,数据的多维处理是对实验样本数据通过滤波、差分及积分处理后组合形成新的组合实验数据,充分利用数据时间相关性和自身变化趋势,降低实验样本数据中的噪声干扰,提升不同特征数据之间相互关联的有效信息,保证后续LSTM网络的训练和预测,使模型得到更精准的预测结果。

由于复杂的市场动态,部分数据中含有不经常的噪声,股票价格的微小幅度波动十分频繁,从股票定量分析的角度出发,股票价格短期小范围的微小波动并不能作为股票长期价格走势的依据,因此本文选用巴特沃斯滤波器对数据进行滤波处理[16],这种滤波器最先由英国工程师斯蒂芬·巴特沃斯(Stephen·Butterworth)在1930年发表在英国《无线电工程》期刊的一篇论文中提出。一方面,巴特沃斯滤波器的特点是通频带的频率响应曲线最平滑;另一方面,可以减少经济学外围信息产生的误差影响。巴特沃斯滤波器在线性相位、衰减斜率和加载特性3个方面具有特性均衡的优点,因此在实际使用中已被列为首选,得到了广泛应用。股价数据滤波图像和频谱图像如图2、图3。

图2 股价数据滤波处理图像

图3 股价数据频谱图像

股票价格变化趋势的预测对模型预测结果精度有重要的影响,经过差分法处理的数据可以保留高频,减少低频,相位置前,而经过积分处理的数据可以保留低频,减少高频,相位置后。股价数据的差分、积分和原始图像如图4~图6所示,由于实验样本数据量过大,选取前100个样本数据作为展示数据,数据图像展示均值为0,方差为1的数据处理图像。

图4 股价数据差分处理图

图5 股价数据积分处理图

图6 股价数据原始数据图

(8)

式中:w2是连接LSTM网络与输出层的权重,ht可通过式(6)得出,b是输出层的偏置。

图7 LSTM预测模型结构图

浦发银行的股价数据每个交易日更新一次,因此预测模型根据过去1个交易日的输入股价特征情况,预测未来1个交易日的股票价格。

数据多维处理LSTM股价预测模型结构如图8所示。

图8 数据多维处理LSTM股价预测模型

3 实验结果与分析

本文选取沪深交易所上市A股中的浦发银行股价数据作为实验样本数据对模型进行训练和测试,对浦发银行未来8个月每天的下一个交易日的股票价格进行预测。

3.1 模型评估指标

为评估模型的性能和预测精度,本文根据股票预测价格和股票实际价格,选取均方根误差RMSE、平均绝对误差MAE和平均绝对百分比误差MAPE作为模型的评估指标,计算公式分别如下:

(9)

(10)

(11)

3.2 模型实验结果与分析

本文将数据多维处理算法和长短期记忆网络(LSTM)相结合组成股价预测模型,该模型训练和测试对比结果如图9、图10所示。由于实验样本数据量过大,为更好地展示模型训练输出结果,选取与测试数据相连接的8个月连续股票价格数据作为训练输出结果展示数据。为验证数据多维处理后的LSTM模型性能更优,实验过程中分别使用数据多维处理LSTM股价预测模型和LSTM股价预测模型对实验样本数据进行训练及测试,LSTM股价预测模型训练和测试对比结果如图11、图12所示,2组模型预测效果对比结果如图13所示。由于测试数据量较多,为更清晰地展示模型预测对比效果,选取其中50个连续的股价数据作为展示数据。

图9 数据多维处理LSTM模型训练输出对比结果

图10 数据多维处理LSTM模型测试输出对比结果

图11 LSTM模型训练输出对比结果

图12 LSTM模型测试输出对比结果

图13 数据多维处理LSTM模型和LSTM模型测试输出对比结果

由图9和图11可以看出,数据多维处理LSTM股价预测模型相比LSTM股价预测模型的训练输出结果与实际股价数据更接近,与真实数据曲线更贴合,由图10和图12可以看出,数据多维处理LSTM股价预测模型相比LSTM股价预测模型的测试输出结果与实际股价数据更接近,与真实数据曲线更贴合,图13更清晰地展现2组模型的测试输出对比结果,本文提出的数据多维处理LSTM股价预测模型在股价预测上的精度高于LSTM股价预测模型。

LSTM股价预测模型在预测股价变化趋势上能够与实际股价变化趋势基本一致,表明LSTM模型适用于股价预测,相比之下,本文提出的数据多维处理LSTM股价预测模型得到的预测结果与实际值拟合得更好,预测精度更高,曲线更贴合,尤其是在股票价格波动较大的数据处理时,得到的预测结果与真实股价数据变化趋势更加一致。

表3列出实验得到的数据多维处理LSTM股价预测模型和LSTM股价预测模型的RMSE、MAE和MAPE的值。

表3 数据多维处理LSTM模型与LSTM模型股价预测的测试误差对比

由表3可知,数据多维处理LSTM股价预测模型的RMSE、MAE和MAPE的值均小于LSTM股价预测模型,说明经过数据多维处理的LSTM模型预测精度有较大幅度的提升,与LSTM股价预测模型相比,均方根误差RMSE降低90.81%,平均绝对误差MAE降低91.65%和平均绝对百分比误差MAPE降低87.81%,可以发现组合后的模型预测性能高于单一模型预测性能。说明数据多维处理LSTM股价预测模型的预测精度更高,预测的股票价格与实际股票价格之间的误差更小。

综上表明,数据多维处理LSTM股价预测模型,拟合精度更高,预测效果更好,误差更低。

3.3 与其他模型对比结果与分析

为进一步检验数据多维处理LSTM股价预测模型的优越性,选取数据多维处理LSTM股价预测模型、ARMA股价预测模型和在萤火虫算法优化下的最小二乘支持向量机(FA-LSSVM)股价预测模型的股价预测结果做对比,同样使用浦发银行的股价数据作为实验样本数据对模型进行训练和测试,对浦发银行未来8个月每天的下一个交易日的股票价格进行预测,ARMA股价预测模型的训练和测试输出对比结果如图14、图15所示,FA-LSSVM股价预测模型的训练和测试输出对比结果如图16、图17所示。为更好地展示模型训练输出对比结果,选取与测试数据相连接的8个月连续股票价格数据作为ARMA模型和FA-LSSVM模型训练输出结果展示数据。数据多维数据处理LSTM模型与其他模型股价预测效果对比结果如图18所示。由于测试数据量较多,为更清晰地展示模型预测对比效果,选取其中50个连续的股价数据作为展示数据。

由图14~图17对比图9和图10可以看出,数据多维处理LSTM股价预测模型比ARMA股价预测模型和FA-LSSVM股价预测模型的训练输出对比结果和测试输出对比结果更接近于实际股价数据,与真实数据曲线更加贴合。图18更清晰地展现数据多维处理LSTM股价预测模型和其他2种股价预测模型的测试输出对比结果。本文提出的数据多维处理LSTM模型在股票价格预测结果与实际股票价格数据曲线拟合效果上明显更优于ARMA模型和FA-LSSVM模型。在股价波动较大的数值预测时,ARMA模型和FA-LSSVM模型没有得到很好的预测结果,数据多维处理LSTM模型的股价预测值与实际股价非常接近,对股价变化趋势和股价波动较大数据的预测时,预测结果与真实数据拟合效果表现得更好。

图14 ARMA模型训练输出对比结果

图15 ARMA模型测试输出对比结果

图16 FA-LSSVM模型训练输出对比结果

图17 FA-LSSVM模型测试输出对比结果

图18 数据多维处理LSTM模型、ARMA模型和FA-LSSVM模型测试输出对比结果

表4列出实验得到的数据多维处理LSTM股价预测模型、ARMA股价预测模型和FA-LSSVM股价预测模型的RMSE、MAE和MAPE的值。

表4 数据多维处理LSTM模型、ARMA模型和FA-LSSVM模型股价预测的测试误差对比

由表4可知,数据多维处理LSTM股价预测模型的误差最小,模型性能最优越,与ARMA股价预测模型和FA-LSSVM股价预测模型相比,均方根误差RMSE分别减小92.74%和94.72%,平均绝对误差MAE分别减小93.13%和95.28%,平均绝对百分比误差MAPE分别减小93.23%和95.34%。因此本文构建的数据多维处理LSTM股价预测模型能够更好地描述股价动态和非线性变化,在股价预测上表现出一定的应用价值。

4 结束语

本文以浦发银行股票价格预测为实例,构建数据多维处理LSTM股票价格预测模型并进行预测和结果分析,实验结果表明与LSTM、ARMA和FA-LSSVM模型相比,数据多维处理LSTM股价预测模型预测精度更高,预测结果与实际股价数据的误差值更小,学习能力更佳,有效地解决了非线性和局部极小的问题。因此,表明数据多维处理LSTM股票价格预测模型具有实用性和优越性,但是模型还有进一步的改进空间,影响股票价格的因子有很多,在市场大规模周期性变化、重大经济政策新闻发布和重大疫情突然出现等外围经济学因素的影响下,可以适当调整模型因子数量和类型,提升模型的预测性能,为投资者带来更有价值的参考数据。

猜你喜欢
股票价格股价预测
无可预测
选修2-2期中考试预测卷(A卷)
选修2-2期中考试预测卷(B卷)
基于GARCH族模型的重庆啤酒股票价格波动研究
盘中股价升跌引起持股者情绪变化
我国金融机构股价和主要财务指标的相关性分析
不必预测未来,只需把握现在
上市公司财务指标与股票价格的相关性实证分析
员工持股计划对股票价格的影响
股价创股灾以来新低的股票