摘要:股票价格具有的复杂性与动态性,为预测股票价格趋势带来了艰巨的挑战。人工神经网络、支持向量机和决策树等一系列机器学习算法被用于预测股票价格,并取得了成果。长短期记忆模型LSTM(Long ShortTerm Memory)可以获得股票价格数据中的遗留信息,在处理时间序列数据方面有非常优秀的性能。我们使用LSTM模型预测股票价格走势,并选择亚马逊公司(AMZN)的股票价格数据进行实验。实验表明,LSTM模型对于股票价格趋势预测效果显着。但仍然有许多不足需要在后续改进。
关键词:长短期记忆模型; 股价趋势预测;
作者简介: 黄子建(1994-),男,福建莆田人,上海理工大学管理学院硕士研究生,研究方向:深度学习;; 刘媛华(1974-),女,山东莱阳人,博士,上海理工大学管理学院副教授,研究方向:复杂系统理论方法及应用。;
一、引言
股票是证券市场当中一个至关重要的组成部分。经济、政治、公司的经营状况、市场人气等多方面因素反应在了不规律性的股票价格走势上。总体来说,股票市场是一个高度复杂的非线性动态系统。风险同样意味着回报,为了能够在这样一个股票市场当中谋求利益,预测其变化趋势就显得十分关键。有效市场理论指出,证券价格呈现随机游走特征,因此技术分析和掷骰子选出的股票,最终表现相差无几。大量分析却发现股票价格波动具有长期记忆性,拒绝了随机游走假设,即股市涨跌存在自身的规律,无论长期和短期都存在着可预测的成分,因而技术分析是有用的,通过采用相应策略,投资者可以获得超常利润[1].
近代学者们研究出了一系列股票分析方法用以预测股票价格:技术分析法、基本面分析与心理分析等等的方法。这些列举的方法绝大多数都是针对于线性模型,这对于股票价格短期的走势预测效果不是很理想,商品的价格序列为非线性、非平稳的,上述模型不能很好地抓住商品价格非线性的特点,从而导致预测的效果并不理想。面对传统计量经济模型的缺陷,有学者开始采用BP神经网络的方法来对股票价格的序列进行预测研究。结果显示BP神经网络可以很好地抓取商品价格非线性的特点,从而使得预测效果得到大大提升。然而,BP神经网络在训练的过程中却没有体现股票价格先后的时序关系,这在股票价格预测理论上具有很大的缺陷。此后,学者们提出了循环神经网络(RNN),然而,RNN在处理实际问题时经常会面临梯度消失的情况。1997年Hochreiter和Schmidhuber提出了长短期记忆模型(LSTM),用于克服RNN梯度消失的问题。
二、长短期记忆模型介绍
长短期记忆模型由Schmidhuber等人在1997年提出,简称LSTM.LSTM的基本思路是基于生成通过时间的路径,使得导数既不消失也不会爆炸从而解决RNN存在的梯度消失问题。具有长短期记忆的递归神经网络已经成为与顺序数据相关的若干学习问题的有效且可扩展的模型。解决这些问题的早期方法要么针对特定问题进行了定制,要么不能扩展到长时间的依赖性。另一方面,LSTM在捕获长期时间依赖性方面是通用且有效的。它们不会受到困扰简单复发网络(SRN)[2]的优化障碍的困扰,并且已被用于推进许多困难问题的最新技术。这包括手写识别[3]和生成[4],语言建模[5]和翻译[6],语音声学建模[7],语音合成[8]等。
LSTM的网络结构由记忆细胞、输入输出门以及遗忘门构成,如图1所示。LSTM结构体中不仅有外部的RNN循环,在内部还有自循环。这使得LSTM网络与普通循环网络相比有更多的参数和控制信息流动的门控系统。
图1 LSTM网络框图
细胞之间循环链接代替隐藏单元。如果sigmoid输入门允许,那么他可以将输入值x(t)累加到状态状态单元内的自环由遗忘门f(t)控制权重Wf.所有的门控单元都由sigmoid单元控制权重。状态值也同样作为门控的额外输入。C轩。
LSTM网络首先由输入门gi(t)(时刻t和细胞i)更新当前时刻有多少输入可以进入记忆单元,由sigmoid单元将权重控制在0~1之间:
其中xj是当前t时刻的输入值,hj是当前隐藏层的输入值,b、U和W为LSTM细胞当中的偏置量、输入权重和输出权重;
接着借由遗忘门fi(t)控制状态单元的自环,同样由sigmoid单元控制权重:
更新当前时刻的状态值:
LSTM细胞的内部状态更新:
最后由输出门qi(t)读取并计算出输出值hi(t):
其中b、U和W为输出门的偏置、输入权重与循环权重。
大多数现代研究都包含了自LSTM原始配方以来对LSTM架构所做的许多改进[9].然而,LSTM现在应用于许多学习问题,这些问题在规模和性质上与最初测试这些改进的问题显着不同。缺少对包含LSTM的各种计算组件(见图1)的效用的系统研究。2017年Nelson采用LSTM神经网络根据历史价格以及技术分析指标来预测股票的价格。相较于以前的人工智能算法,LSTM的预测能力得到了显着的提升[10].
三、模型搭建与数据处理
本文实验数据来源于英为财情(Investing)官方网站,节选了亚马逊公司(Amazon,NASDAQ:AMZN)自1999年1月至2019年8月总计2 710条股票价格数据,其中包括了开盘价、最高最低价、成交量、收盘价等的时序数据。
由于数据存在着缺损或者日期乱序的情况,对数据进行预处理时,将股票价格数据重新排序并对部分缺失值进行插值;出于时序数据存在噪声的考虑,通过小波变换去除数据内噪声,从而得到了可以用于操作的时序数据。再将日期序列进行解析后设置为索引。考虑到交易量的数量级过大,将其与股票价格数据同时作为特征值输入时会带来量级上的差距,此处对数据进行归一化处理,在模型训练完成后需将其还原。
进一步将股票时间序列数据集构造为一个有监督学习的数据集,每列由时间步长与变量名命名,滞后的时间步长这里设为1.由于预测对象为收益率,删去其余不需要预测的变量得到了新的数据集。
表1 预处理归一化之后的数据集
实验使用python作为工具,调用了Keras,Pandas,Numpy,Tensorflow等常用包。
模型最后的性能通过计算均方根误差(RMSE)和平均绝对误差(MAE)等评价指标进行评估,具体计算公式如下:
本文中主要使用RMSE作为LSTM模型的评价指标,计算训练集测试集和预测集的误差损失(loss),loss值越低说明模型拟合效果越好。
四、实验结果与分析
搭建得到了LSTM网络模型,实验将前1 800条股票价格数据作为训练样本,后900条数据作为测试集,设置网络模型学习率(lr)为0.006,每次通过输入门的样本个数(batch)为30,其实验结果如图2所示。
图2 LSTM网络模型预测结果
从图2中可以看出在为LSTM模型输入测试集以及参数后,得到了一条预测结果的数据集,而预测的数据大体上接近初始数据集,但是实验结果普遍较低,而随时间的增加与数据集的离差也会变大。
模型的损失曲线如图3所示。
图3 损失图
训练集与预测集训练结果逐渐趋于平缓。由于在数据处理的步骤中将输入输出值都进行了归一化,最后需要将预测结果、测试集和预期值的数据进行比例反转,反归一化的结果如下。
图4 300天LSTM模型预测结果
从图4中可以看到,LSTM模型对于股票趋势预测是有一定效果的,虽然得到的数值普遍低于实际值,但是在增长或者减少的趋势上是基本拟合的。
表2 LSTM模型预测结果
根据表2中计算模型的均方根误差与平均绝对误差,分别为0.039 414和0.027 089,都取得了较小的数值,较低的loss值说明了LSTM模型对于AMZN股票价格数据的拟合效果较好,对于股票价格趋势预测是有一定效果的。
五、结束语
对于股票市场来说,掌握短期的走势并以此做出决策是相当重要的。本文首先提供了具有全球意义的指标,并依此选择了亚马逊公司(AMZN)1999年以来近10年的股票数据作为样例,通过数据去噪、归一化等操作对股票数据进行处理。然后,使用了LSTM模型得到了一组预测结果,与原数据进行比对之后计算了模型的均方根误差。模型的预测准确率进一步提升需要增加更多的信息量进行训练。在之后的工作中,会考虑进一步改进模型进而得到更好的股价预测结果,为股票投资者带来更有价值的参考。
参考文献
[1]苏治,方明,李志刚。STAR与ANN模型:证券价格非线性动态特征及可预测性研究[J].中国管理科学,2008(5):9-16.
[2]Sepp Hochreiter.Untersuchungen zu dynamischen neuronalen Netzen.Masters Thesis,Technische Universitat Munchen,Munchen,1991.
[3]A Graves,M Liwicki,S Fernandez,R Bertolami,H Bunke,J Schmidhuber.A Novel Connectionist System for Improved Unconstrained Handwriting Recognition.IEEE Transactions on Pattern Analysis and Machine.Intelligence,2009,31(5)。
[4]Alex Graves.Generating sequences with recurrent neural networks.ar Xiv:1308.0850[cs],August 2013.
[5]Wojciech Zaremba,Ilya Sutskever,and Oriol Vinyals.Recurrent Neural Network Regularization.ar Xiv:1409.2329[cs],September 2014.
[6]Thang Luong,Ilya Sutskever,Quoc V.Le,Oriol Vinyals,and Wojciech Zaremba.Addressing the Rare Word Problem in Neural Machine Translation.ar Xiv preprint ar Xiv:1410.8206,2014.
[7]Hasim Sak,Andrew Senior,and Franc?oise Beaufays.Long short-term memory recurrent neural network architectures for large scale acoustic modeling.In Proceedings of the Annual Conference of International Speech Communication Association(INTERSPEECH),2014.
[8]Yuchen Fan,Yao Qian,Fenglong Xie,Frank K.Soong.TTS synthesis with bidirectional LSTM based recurrent neural networks.In Proc.Interspeech,2014.
[9]Sepp Hochreiter,Jurgen Schmidhuber.Long Short Term Memory.Technical Report FKI-207-95,Technische Universitat Munchen,Munchen,August 1995.
[10]Nelson D M Q,Pereira A C M,Oliveira R A D.Stock Market S Price Movement Prediction With Lstm Neural Networks[J].International Joint Conference on Neural Networks,2017.