题目:带有注意机制的混合神经网络基于多因素的股票价格预测
由于存在许多影响预测模型的因素,因此很难预测诸如股票价格之类的时间序列数据。同样,不同因素对股票价格的影响可能是线性的或非线性的。近年来,股票价格的良好模型的产生对研究人员提出了挑战。长短期记忆(LSTM)是递归神经网络(RNN)的一种变体,它可以捕获时间序列并在时间序列预测上获得了巨大的成功。同样,卷积神经网络(CNN)在从多维序列中提取特征方面也很出色。在本文中,我们提出了具有多种因素的CNN-LSTM混合神经网络来预测股票价格。此外,我们添加了一种关注机制来提高CNN-LSTM模型的可伸缩性和准确性。在实验中,我们在两个真实的股票数据集中比较了我们提出的模型和不同方法。结果证实了我们提出的方法的效率和可扩展性。
索引词:股票预测,多因素,CNN,LSTM,关注机制
时间序列是按时间顺序索引的一系列数据点。最常见的是,时间序列是在连续的等间隔时间点上获取的序列。在过去的几十年中,许多研究人员都对时间序列预测问题感兴趣。但是,由于存在许多影响预测结果的因素,因此难以预测诸如股价,天气和汇率之类的时间序列数据。例如,影响股票价格的因素不仅与历史股票价格有关,而且还可能与交易量,汇率的变化以及经济政策的变化等有关。此外,不同因素对股票价格的影响。股票价格可以是线性的或非线性的。股票价格和多因素之间的复杂关系使研究人员面临着产生合理,适当的股票价格预测模型的挑战。在股市中,对投资者而言,尽早做出知名的股票判断至关重要。
通常,可以使用两类模型来分析和预测股票价格:线性模型和非线性模型。线性模型,例如自回归模型(AR)[1],自回归移动平均值(ARMA)[2]及其变体自回归综合移动平均值(ARIMA)[3],是众所周知的计量经济学方法,可以生成模型的线性关系。历史数据。但是,在某些实际情况下,这些模型无法捕获数据中的基础动态。人工神经网络(ANN)在检测非线性关系方面占主导地位,例如回归[4]和分类[5]的应用,这吸引了研究人员近年来对神经网络的关注。
递归神经网络(RNN)[6]是一类ANN,在捕获时间序列方面表现出色。与ANN不同,RNN中保留着一个隐藏状态,该状态可以随着时间的流逝而更新,因此可以存储先前的信息并将其用于当前预测。不幸的是,由于序列较长,传统的RNN可能会导致梯度消失问题[7]。换句话说,常规的RNN缺乏长期信息处理的能力。长短期记忆(LSTM)[8]和门控循环单元(GRU)[9]是RNN的两个变体,旨在解决梯度消失问题并通过使用存储单元来学习时间序列数据中的长期依存关系和门机制。
过去有一些文献着重于使用LSTM预测股票价格,这些文献记录在[11],[12],[20]中。在数据预处理阶段,我们通常将股票价格数据分为多个序列,每个序列都根据时间戳进行排序。如果序列的最大数量为n,并且每个序列的长度为m,则LSTM模型的输入数据为n×m二维矩阵。但是,随着序列m的长度变大,我们必须增加LSTM的时间步长来处理更多信息。对于多因素相关的时间序列数据(例如股票价格),明智的选择是从每个序列中提取特征。
卷积神经网络(CNN)[21]是一种获得图像数据特征的出色技术。 CNN在计算机视觉领域和图像处理领域中的图像数据建模方面取得了巨大的成功。通常,CNN包含三个基本组成部分:卷积层,池化层和完全连接层。卷积层尝试从二维矩阵中提取特征并获得卷积输出。池化层,尤其是最大池化层,试图保留卷积输出的重要特征。然后将池化层的输出发送到完全连接的层以获取结果。在本文中,我们使用CNN从财务时间序列数据中提取特征以预测股票价格。
此外,为了提高CNN-LSTM模型的可伸缩性,我们使用注意力机制来记忆长序列。注意是深度学习社区中一个相当流行的概念,也是一种有用的工具。注意力神经网络在机器翻译[14]和图像字幕[15]中获得了成功。在本文中,我们还考虑了CNN-LSTM模型中的注意力机制。我们提出了具有注意机制的基于多因素的CNN-LSTM混合模型。
本文的主要贡献如下:
1)我们考虑了一种多因素影响模型来预测股票价格。
2)我们结合CNN和LSTM并提出CNNLSTM混合模型来预测股价。
3)我们使用一种注意力机制来提高CNN-LSTM模型的可伸缩性。
4)我们使用两个不同的股票价格数据集进行了实验,结果表明了所提出算法的效率和可扩展性。
在本节中,我们将回顾过去的文献以进行股价预测。第II-A节概述了传统的线性ARIMA模型。在II-B,II-C和II-D节中,我们讨论了使用神经网络进行的股价预测的发展。最后,我们在第II-E节中回顾了有关基于注意力的神经网络的一些现有工作。
A. Conventional ARIMA Model
Box and Jenkins [1]首先提出了ARIMA模型。它是时间序列分析中众所周知的线性方法,通常用于统计和计量经济学领域。 ARIMA模型的公式如下所示:
其中,x是时间序列数据,而ε表示随机误差。通常,ARIMA模型可以表示为ARIM A(p,d,q)。 p,d和q是非负整数。 p表示自回归模型的阶数。 d是差异程度,q是移动平均模型的阶数。由于ARIMA是时间序列分析中的线性模型,因此在某些实际情况下,它无法捕获数据中的基础动态。
B. Artificial Neural Network
人工神经网络可以检测出多种因素与股价之间的非线性关系,从而可以解决ARIMA模型的局限性。在最近的几十年中,许多研究人员研究了ANN模型来预测股票价格。 Kimoto等。 [16]使用东京证券交易所的ANN模型来预测股票价格。仿真结果比其他方法有显着改善。 Kim等。 [17]提出了一种遗传算法方法来改进学习算法并减少特征空间的复杂性。然后将遗传算法与人工神经网络相结合来预测股价指数。 Tsang等。 [18]使用人工神经网络来预测香港股票价格,设计了一个NN5系统。在[19]中,Wang等。通过使用基于小波消噪的反向传播神经网络来预测股票价格,他提出了一种新方法。该方法被证明优于其他传统的反向传播模型。
C. Recurrent Neural Network
RNN是一种神经网络,可以捕获时间序列数据的时间动态。与传统的ANN无法记住序列的先前历史信息不同,RNN具有隐藏状态以维持整个序列的特征。 LSTM和GRU是RNN的两个变体,旨在克服梯度消失的问题。 Chen等。 [20]提出了一种基于LSTM的中国股票收益预测方法。实验结果表明,输入数据量越大,精度越高。 Nelson等。 [11]建立了一个LSTM网络,根据价格历史以及技术分析指标来预测股票的未来趋势。在[4]中,Bao等人。通过使用三个阶段的过程来预测多个市场指数期货。实验结果表明,提出的三阶段模型优于其他基准。
D. Convolutional Neural Network
CNN是从图像数据中提取特征的好方法。 CNN在计算机视觉和图像处理中对图像数据建模方面显示出了惊人的成功。对于时间序列数据,我们可以将财务时间序列数据转换为图像数据,并使用CNN获得股价特征。 Chen等。 [21]提出了平面特征表示方法和深度CNN模型来改进算法交易框架。 Ba等。 [22]提出使用深度CNN通过使用文本特征来预测卷积层和完全连接层的输出权重。提出了一种用于预测金融时间序列数据的新架构。具体来说,他们通过使用CNN的卷积层提取非线性特征,并将特征聚集在自动编码器的隐藏权重层中。
由于CNN在数据特征提取和RNN方面的出色表现在时间序列数据处理方面表现优异,因此最佳架构应了解每种模型的不同特征,以提高预测精度。基于这种动机,我们提出了一种优化的体系结构,以通过融合金融时间序列数据中不同表示的特征来集成CNN和LSTM,以提高股票价格预测的准确性。
E. Attention Mechanism
注意机制是深度学习社区中的一个众所周知的概念和有用的工具。注意力神经网络在机器翻译[14],图像字幕[15]和语音识别[24]中获得了成功。
通常,注意力是一种加权求和。 Wang等。 [25]提出了三种注意机制,称为基于位置的注意,一般注意和基于串联的注意。 Chen等。 [26]在协作过滤中引入了一种新颖的注意力机制,以解决多媒体推荐中具有挑战性的项目和组件级隐式反馈。具体来说,他们使用两个专心的神经网络来选择多媒体项目的信息组件和项目级别的注意力模块。该模型的实验结果优于最新方法。
在本文中,为了提高集成神经网络模型的可扩展性和准确性,我们添加了记忆长序列的注意力机制。
在本节中,我们通过将CNN和LSTM与注意力机制相结合,提出了一种基于多因素的股票价格预测方法。具体来说,我们首先在第III-A节中解释CNN模型的细节。然后在第III-B节中将CNN模型与LSTM结合起来。最后,在第III-C节中,我们将注意力机制添加到LSTM神经网络中。
假设是根据时间戳排序的股票数据,其中是第个股票。在我们的模型中,我们使用m维向量表示,这意味着每只股票都有个影响因子和。图1展示了单因素LSTM和多因素LSTM结构。对于单因素模型,我们使用收盘价作为LSTM的输入。对于多因素模型,我们为LSTM神经网络使用六个因素,即收盘价,开盘价,数量数据,高价,低价和货币。
将一个库存序列定义为。我们模型y的输出是股票的收盘价,其中y = e1。注意,e1代表股票的收盘价。由于是矩阵,因此我们可以使用CNN提取矩阵的特征。
A.用于特征提取的CNN
图2演示了CNN的结构。 CNN的输入为。输入层包含矢量序列,我们可以使用过滤器扫描输入层。在这项工作中,我们使用64个过滤器来检测输入数据的特征。
在卷积层中,我们选择ReLu激活函数并将其表示为特征图。
在池化层中,最大操作是最常用的方法。为了提取重要特征并减少卷积层中的计算,我们选择使用最大池化层。在Max-pooling层之后,我们应用了dropout技术来克服过度拟合的问题。在这项工作中,我们将辍学率设置为0.3。
B. LSTM for Time series Prediction
LSTM神经网络的输入是序列,它们是CNN模型的输出。每个序列分为多个元素。在每个时间步长,一个元素用作输入。如图3所示,空白圆圈代表状态,灰色圆圈代表输入。如果按照时间步长展开LSTM,则可以将LSTM表示为网络,如图3右侧所示。每个时间步长的输出和输入表示为oi和xi。根据先前的和当前输入更新状态:
其中f是非线性激活函数,例如ReLU,tanh和Sigmoid。在我们的工作中,我们使用ReLU激活功能。
时间步的输出计算为:
C.注意力
由于注意力机制可以提高预测的准确性,因此我们提出了回归任务的注意力机制。令为由LSTM模型的输出向量组成的矩阵,其中表示序列长度。我们使用表示LSTM输出的得分向量,该得分向量由矩阵的加权和形成:
然后,我们使用一个完全连接的层来映射注意力机制的输出,并获得所提出体系结构的最终结果。公式如下所示:
D.培训阶段
在训练阶段,我们将固定时间步长T用于展开的LSTM结构,如图3所示。将训练数据定义为,其中and 包含LSTM的输入数据和真实输出模型。我们以序列到序列的方式对LSTM模型进行测试。
我们使用反向传播时间(BPTT)[27]来传播误差梯度。使用损失函数计算误差,如下所示:
E.推理阶段
为了根据长度为T的股票序列提供的先前信息来预测下一个收盘价。在测试数据集中,我们计算均方误差(MSE)以使用其他基线评估建议的模型。
EXPERIMENT
在本节中,我们进行了广泛的实验,以评估所提出模型的效率和有效性。我们使用Python 3.5.2实现所有算法。我们选择支持向量回归(SVR),LSTM模型,GRU模型作为基线,并将它们与我们提出的CNNLSTM-Attention模型进行比较。
A. Data Set
我们使用两个真实的股票数据集,称为JQData数据集和Pingan Bank数据集。
JQData数据集:我们收集了2017年4月1日至2019年3月30日的历史股票数据。该数据集包含53153个股票记录,其中包含六个因素,分别称为开盘价,收盘价,高价,低价,数量和货币。该数据集分为两个子集,用于训练和测试用法。我们在培训阶段使用47,835个库存数据,在测试阶段使用5,318个库存数据。图4显示了训练数据和测试数据的收盘价。
平安银行数据集:我们使用平安银行历史股票数据为2017年4月1日至2019年3月30日。此数据集包含23328个股票记录,其中包含六个因素,分别称为开盘价,收盘价,高价,低价,数量和货币。分别。该数据集分为两个子集,用于训练和测试用法。我们在训练阶段使用20,995个库存数据,而在测试阶段使用2,333个库存数据。图5显示了训练数据和测试数据的收盘价。
B. Normalization
我们将在本小节中标准化我们的输入数据。训练数据的输入向量全部通过归一化函数归一化,归一化函数具有零均值和一元方差。在这项工作中,我们使用Z分数归一化技术。
金融时间序列预测(例如股票价格预测)对于投资者尽早做出知名的股票判断至关重要。通常,有多种因素会影响股价。在本研究中,我们收集了六个影响因素,即开放交易价格,收盘价,数量数据,高价,低价和货币,以预测股票的收盘价。此外,我们使用CNN从两个真实的股票数据集中提取特征,并将CNN与LSTM模型集成在一起。为了提高预测的准确性和可扩展性,我们添加了基于LSTM神经网络的注意力机制。进行实验以证明我们提出的模型的有效性和性能。我们将我们的模型与SVR,LSTM和GRU模型进行了比较。结果表明,该方法在序列长度较大时具有良好的准确性。
[1] G. E. P . Box, and G. Jenkins, “Time series analysis, forecasting and
control,” Holden-Day, San Francisco, CA, 1970.
[2] E. D. McKenzie, “General exponential smoothing and the equivalent
ARMA process,” J. F orecasting, 333-344, 1984.
[1] G. E. P。 Box和G. Jenkins,“时间序列分析,预测和控制”,美国加利福尼亚州旧金山,霍尔顿-戴,1970年。
[2] ED McKenzie,“一般指数平滑和等效的ARMA过程”,J。F播报, 333-344,1984年。
[3] Hyndman, and J. Rob, “Athanasopoulos, George. 8.9 seasonal ARIMA
models,” F orecasting: principles and practice, oTexts, 2015.
[4] W. Bao, J. Y ue, and Y . Rao, “A deep learning framework for financial
time series using stacked autoencoders and long-short-term memory,”
PLoS One, 12(7), 2017.
[5] M. Tomas, K. Martin, B. Lukas, C. Jan, and K. Sanjeev, “Recurrent
neural network based language model,” In Interspeech, volume 2, page
3, 2010.
[6] Williams, J. Ronald, Hinton, E. Geoffrey, Rumelhart, and E. David,
“Learning representations by back-propagating errors,” Nature, 323
(6088): 533-536, 1986.
[7] B. Y oshua, S. Patrice, and F. Paolo, “Learning long-term dependencies
with gradient descent is difficult,” IEEE transactions on neural networks,
5 (2):157-166, 1994.
[8] S. Hochreiter, and J. Schmidhuber, “Long Short-Term Memory,” Neural
Computation, 9 (8):1735-1780, 1997.
[9] K. Cho, B. V . Merrienboer, D. Bahdanau, and B. Y oshua, “On the
properties of neural machine translation: encoder–decoder approaches,”
arXiv:1409.1259, 2014.
[10] K. Chen, Y . Zhou, F. Dai, “A LSTM-based method for stock returns
prediction: A case study of China stock market,” In Proceedings: 2015
IEEE International Conference on Big Data, pp. 2823-4, 2015.
[11] D. M. Q. Nelson, A. C. M. Pereira, R. A. De Oliveira, “Stock market’s
price movement prediction with LSTM neural networks,” In Proceedings
of the International Joint Conference on Neural Networks, pp. 1419-26,2017.
[12] X. Zhang, C. Li, Y . Morimoto, “A multi-factor approach for stock price
prediction by using recurrent neural networks”, Bulletin of Networking,
Computing, Systems, and Software, 8 (1), pp. 9-13, 2019.
[13] J. F. Chen, W. L. Chen, C. P . Huang, S. H. Huang, and A. P . Chen,
“Financial time-series data analysis using deep convolutional neural
networks,” In 7th International Conference on Cloud Computing and
Big Data (CCBD), pp. 87–92, 2016.
[14] D. Bahdanau, K. Cho, and Y . Bengio, “Neural machine translation by
jointly learning to align and translate,” arXiv:1409.0473, 2014.
[15] K. Xu, J. Ba, R. Kiros, A. Courville, R. Salakhutdinov, R. Zemel, and
Y . Bengio, “Show, attend and tell: neural image caption generation with
visual attention,” arXiv:1502.03044, 2015.
[16] T. Kimoto, K. Asakawa, M. Y oda, and M. Takeoka, “Stock market
prediction system with modular neural networks,” In International Joint
Conference on Neural Networks, pp. 1-6, 1990.
[17] K. Kim, and I. Han, “Genetic algorithms approach to feature discretiza-
tion in artificial neural networks for the prediction of stock price index,”
Expert Syst Appl., 19 (2):125-32, 2000.
[18] P . M. Tsang, P . Kwok, S. O. Choy, R. Kwan, S. C. Ng, J. Mak, et
al. “Design and implementation of NN5 for Hong Kong stock price
forecasting,” Eng Appl Artif Intell, 20 (4):453-61, 2007.
[19] J. Z. Wang, J. J. Wang, Z. G. Zhang, and S. P . Guo, “Forecasting
stock indices with backpropagation neural network,” Expert Syst Appl,
38 (11):14346-55, 2011.
[20] K. Chen, Y . Zhou, and F. Dai, “A LSTM-based method for stock return
prediction: A case study of China stock market,” In IEEE International
Conference on Big Data, 2015.
[21] J. F. Chen, W. L. Chen, C. P . Huang, S. H. Huang, and A. P . Chen,
“Financial time-series data analysis using deep convolutional neural
networks,” In 7th International Conference on Cloud Computing and
Big Data (CCBD), pp. 87-92, 2016.
[22] J. L. Ba, K. Swersky, S. Fidler, and R. Salakhutdinov, “Predicting
deep zero-shot convolutional neural networks using textual descriptions,”
IEEE International Conference on Computer Vision, pp. 4247-55, 2015.
[23] G. Hu, Y . Hu, K. Yang, Z. Y u, F. Sung, Z. Zhang, et al. “Deep stock
representation learning: from candlestick charts to investment decisions.
arXiv, 2017.
[24] J. K. Chorowski, D. Bahdanau, D. Serdyuk, K. Cho, and Y . Bengio,
“Attention-based models for speech recognition,” In Advances in Neural
Information Processing Systems, pp. 577-585, 2015.
[25] X. J. Wang, L. Y u, K. Ren, G. Tao, W. N. Zhang, Y . Y u, and J. Wang,
“Dynamic attention deep model for article recommendation by learning
human editors’ demonstration,” KDD 17, Canada, 2017.
[26] J. Chen, H. Zhang, X. He, L. Nie, W. Liu, and T. S. Chua, “Atten-
tive collaborative filtering: multimedia recommendation with item and
component-level attention,” SIGIR’17, Tokyo, Japan, 2017.
[27] P . J. Werbos, “Backpropagation through time: what it does and how to
do it,” Proceeding of the IEEE, 78 (10):1550-1560, 1990.
[3] Hyndman和J. Rob,“ Athanasopoulos,乔治。 8.9季节性ARIMA模型”,《预测:原则与实践》,oTexts,2015年。
[4] W. Bao,J. Y ue,和Y。 Rao,“使用堆叠式自动编码器和长期短期记忆的金融时间序列深度学习框架”,《公共科学图书馆》,一期,12(7),2017年。
[5] M. Tomas,K. Martin,B. Lukas,C. Jan和K. Sanjeev,“基于循环神经网络的语言模型”,在Interspeech,第2卷,第3页,2010年。
[6] Williams,J.Ronald,Hinton,E.Geoffrey,Rumelhart和E.David,“通过向后传播的错误学习表示法,” Nature,323(6088):533-536,1986。
[7] B. Y oshua,S。Patrice和F. Paolo,“学习具有梯度下降的长期依赖性很困难,“关于神经网络的IEEE事务,5(2):157-166,1994。
[8] S. Hochreiter和J. Schmidhuber,“长短期记忆”,神经计算,9(8):1735-1780。 ,1997.
[9] K. Cho,B. V.。 Merrienboer,D。Bahdanau和B. Y oshua,“关于神经机器翻译的属性:编码器-解码器方法”,arXiv:1409.1259,2014。
[10] K. Chen,Y。 Zhou,F。Dai,“基于LSTM的股票收益预测方法:中国股票市场的案例研究”,载于《诉讼:2015 IEEE国际大数据会议》,第2823-4页,2015年。[11] DMQ Nelson ,ACM Pereira,RA De Oliveira,“使用LSTM神经网络进行的股市价格走势预测”,在《国际神经网络联合会议论文集》,第1419-26页,2017年。
[12] X. Zhang,C. Li, 。森本,“使用递归神经网络进行股票价格预测的多因素方法”,网络,计算,系统和软件通报,8(1),第9-13页,2019年。
[13] JF Chen,WL陈建平Huang,S.H。Huang和A.P. Chen,“使用深度卷积神经网络进行金融时间序列数据分析”,在第七届云计算和大数据国际会议(CCBD)上,第87-92页,2016年。
[14] D. Bahdanau,K。Cho和。 Bengio,“通过共同学习对齐和翻译来实现神经机器翻译”,arXiv:1409.0473,2014年。
[15] K. Xu,J。Ba,R。Kiros,A。Courville,R。Salakhutdinov,R。Zemel和Y 。 Bengio,“显示,参与和讲述:具有视觉注意力的神经图像字幕生成”,arXiv:1502.03044,2015年。
[16] T. Kimoto,K。Asakawa,M。Y oda和M. Takeoka,“股市预测系统使用模块化神经网络”,在1990年第1-6页的国际神经网络联合会议上。
[17] K. Kim和I. Han,“遗传算法在人工神经网络中进行特征离散化以预测库存价格指数”,专家系统应用,19(2):125-32,2000。
[18]P。曾荫权Kwok,S.O。Choy,K。R. Kwan,N。C. Ng,J。Mak,等。 “用于香港股票价格预测的NN5的设计和实现”,Eng Appl Artif Intell,20(4):453-61,2007年。
[19] J. Z. Wang,J。J. Wang,Z。G. Zhang和S.P。郭,“用反向传播神经网络预测股票指数”,专家系统应用,38(11):14346-55,2011。
[20] K. Chen,Y。 Zhou,和F. Dai,“基于LSTM的股票收益预测方法:中国股票市场的案例研究”,在IEEE国际大数据会议上,2015年。
[21] J. F. Chen,W。L. Chen,C。P。 Huang,S.H。Huang和A.P. Chen,“使用深度卷积神经网络进行金融时间序列数据分析”,在第七届云计算和大数据国际会议(CCBD)上,第87-92页,2016年。
[22] Ba JL,K. Swersky,S. Fidler和R. Salakhutdinov,“使用文本描述预测深零散卷积神经网络”,IEEE计算机视觉国际会议,第4247-55页,
[23] G. Hu,Y。 Hu,K. Yang,Z.Yu,F.Sung,Z.Zhang等。 “深入的股票表示学习:从烛台图到投资决策。 arXiv,2017年。[24] J. K. Chorowski,D。Bahdanau,D。Serdyuk,K。Cho和Y。 Bengio,“基于注意力的语音识别模型”,《神经信息处理系统进展》,第577-585页,2015年。[25]王晓杰,余力,任克,陶国强,张文N, 。于u和王杰,“通过学习人类编辑的示范,为文章推荐提供动态注意力深层模型”,加拿大,第17辑,2017年。[26]陈杰,张海峰,何力,聂力, W. Liu和TS Chua,“专注的协作过滤:具有项目和组件级别关注的多媒体推荐”,SIGIR'17,日本东京,2017年。[27]P。 J. Werbos,“穿越时间的反向传播:它的作用和方式”,IEEE,78(10):1550-1560,1990年。