2024年3月11日发(作者:汽车排行榜)

理论与实践

经济与社会发展研究

基于注意力机制的LSTM股价预测

广东财经大学 姚赞杰

摘要:

本文根据股票市场特有的时间序列属性,利用深度学习中常用的注意力机制,构建了基于注意力机制的LSTM股价预测模型,分别在三

支美股上进行股价预测,并与LSTM进行对比试验,实验结果表明,本文设计的模型对股价的预测精度较高。

关键词:

注意力机制;股票市场;LSTM;股价预测

一、引言

时间序列模型由于其结构并不复杂,易

于实现,使得它在不同领域都有广泛的应用,

例如金融市场预测

[1]

,天气预报

[2]

,以及复杂

的动态系统分析

[3]

在股票市场上,时间序列预测法是通过

利用股票市场的一系列历史数据,建立时间

序列模型,来预测股票市场未来走向。常见

的模型有:①ARIMA

[4]

模型,张亚婕

[5]

通过

建立基于ARIMA模型的时间序列预测模型,

实现对医药股价和深圳综合指数的预测,并

对比了两个模型的预测效果。②ARMA

[6]

型,徐晨萌[7]运用ARMA模型,对工商银行

的股票未来三天开票价格进行预测,证明了

ARMA模型对股价的短期预测较为准确性,进

一步验证了时间序列模型在金融方面的作用。

深度学习近几年来飞速发展,各种模型

结构层出不穷。递归神经网络RNN[8]由于其

能很灵活地捕获非线性关系,在时间序列领

域也有一定的应用,但RNN存在着梯度消失

的问题,使得它难以捕获长期依赖性。紧接

着,长短期记忆单位[9](LSTM)和门控神经

单位(GRU)克服了这一局限,并在各个领

域获得了巨大成功。例如文本摘要,语音识别,

文本分类等。但是由于编码器解码器网络会

随着输入序列的增加而导致性能恶化,进而

影响时间序列分析的判断,而我们期望基于

目标序列的相对较长的部分进行预测。为了

解决该问题,注意力机制[10]诞生了,基于

注意力机制的编码器解码器网络采用注意力

机制来选择所有时间步骤中隐藏状态的部分,

获得了巨大成功。虽然基于注意力机制的神

经网络对文本摘要,语言识别和文本分类等

具有一定的有效性,但在时间序列预测方面

的研究不多。因此,本文考虑现有的LSTM方

法,建立基于注意力机制的LSTM网络,用于

股票时间序列预测。

二、模型构建

本文设计的模型结构如下,当引入注意

力机制后,图中的中间隐层向量表示变为

C

i

表示它在预测第i个值

y

i

的时候,会根据

{

x

1

,

x

2

,

,

x

n

}

中的每一个输入分配不一样的注意

·284·

图1

力权重

C

i

最低点,收盘价,成交量的数据,则总共是

三、数据描述

3000分钟的数据,然后抽取其中的收盘价这

本文数据采用三支美股数据, 分别为

一列作为实验数据。实验之前,需要对所有

NVDA数据集,PIHPP数据集,FLWS数据集,

数据先进行归一化,然后分别对3000条数据

它们都记录了每一分钟的开盘价,最高点,进行区间截取,截取第一个长度为60的区间

最低点,收盘价,成交量,它们都是分钟级作为输入(即第1个值到第60个值),第61

数据,其中一支美股NVDA数据集的部分数个值则作为标签数据。然后继续截取下一个

据如表1所示。

长度为60的区间作为输入(即第2个值到第

61个值),第62个值作为标签数据,以此类

表1 部分NVDA数据推。挑选最后面的300条的数据作为测试集,

时间点开盘价最高价最低价收盘价

成交

在测试阶段,预测出结果时候,需要对输出

2019/7/31

数据进行反归一化操作,再与真实数据进行

9:40

172.25172.31171.92172.14574569

2019/7/31

对比。

9:41

172.18172.45172.02172.20554508

为了确保试验的科学性,在训练模型的

2019/7/31

9:42

172.23172.45172.17172.41636920

时候需要对数据进行shuffle洗牌操作。

2019/7/31

五、模型参数设置:

9:43

172.45172.86172.335172.620166677

2019/7/31

模型设置为三层。第一层是LSTM层,

9:44

172.6715172.88172.53172.5726487

参数是包括一维的输入,所有的股价是排队

2019/7/31

9:45

172.51172.75172.51172.69530415

一个一个进入LSTM,该层神经单元数设置为

2019/7/31

9:46

172.74172.97172.58172.9652837

50个单元。第二层是注意力机制层, 50个

神经单元产生的中间临时变量都会喂给第二

四、数据预处理:

层的注意力机制层。第三层仍然是LSTM,设

实验是用60分钟收盘价的数据,预测第

置为200个神经元。使用optimizer优化器。

61分钟的收盘价。首先是对数据进行预处理,

Batchsize设置为512,训练的次数定义为5次,

分别挑出每支美股其中连续的3000条数据,

设置百分之五的数据作为验证集。Dropout

每一条数据代表这一分钟的开盘价,最高点,

设置为0.2,避免过拟合。

经济与社会发展研究

理论与实践

表2 实验结果

数据集

NVDA

FLWS

PIHPP

平均MSE

0.000631

0.000329

0.000863

平均相对误差

0.0186

0.0062

0.0164

表3 在NVDA数据集上进行对比

模型

LSTM

LSTM+attention

平均MSE

0.000289

0.000631

平均相对误差

0.0162

0.0186

表4 在PIHPP数据集上进行对比

模型

LSTM

LSTM+attention

平均MSE

0.000971

0.000863

平均相对误差

0.0263

0.0164

六、目标函数

本文采用的误差公式是均方误差MSE,

MSE(均方误差)函数一般用来检测模型的

预测值和真实值之间的偏差,它评估的是真

实值与预测值误差平方的期望。模型目标是

最小化MSE。公式如(1)所示:

[2] Prithwish Chakraborty, Manish Mar-

wah, Martin F Arlitt, and Naren Ra-

makrishnan. Fine-grained photovoltaic

output prediction using a bayesian

ensemble. In AAAI, 2012.

[3] Zitao Liu and Milos Hauskrecht. A

regularized linear dynamical system

framework for multivariate time series

analysis. In AAAI, pages 1798–1805,

2015.

[4] Guorui Li, Ying Wang. Automatic

ARIMA modeling-based data aggre-

gation scheme in wireless sensor

networks[J]. EURASIP Journal on Wire-

less Communications and Network-

ing,2013,2013(1).

[5]张亚婕.基于ARIMA模型对股票和指数

预测结果的简单比较分析[J].市场研

究,2019(11):23-26.

[6] M. David,F. Ramahatana,P.J. Trombe,P.

Lauret. Probabilistic forecasting of the

solar irradiance with recursive ARMA

and GARCH models[J]. Solar Ener-

gy,2016,133.

[7] 徐晨萌,方华.运用ARMA模型对股

价预测的实证研究[J].经济研究导

刊,2019(31):77-82.

[8] Paul J Werbos. Backpropagation

through time: what it does and how

to do it. Proceedings of the IEEE,

78(10):1550–1560, 1990.

[9]Sepp Hochreiter and Jurgen ¨ Schmid-

huber. Long short-term memory. Neu-

ral Computation, 9(8):1735–1780,

1997.

[10] Dzmitry Bahdanau, Kyunghyun Cho,

and Yoshua Bengio. Neural machine

translation by jointly learning to align

and translate. arXiv:1409.0473, 2014.

【相关链接】

在2015年,谷歌通过基于CTC 训

练的 LSTM 程序大幅提升了安卓手机和

其他设备中语音识别的能力,其中就

使用了Jürgen Schmidhuber的实验室

在 2006 年发表的方法。百度也使用

了 CTC;苹果的 iPhone 在 QuickType

和 Siri 中使用了 LSTM;微软不仅将

LSTM 用于语音识别,还将这一技术用

于虚拟对话形象生成和编写程序代码

等等。亚马逊 Alexa 通过双向 LSTM

在家中与你交流,而谷歌使用 LSTM 的

范围更加广泛,它可以生成图像字幕,

自动回复电子邮件,它包含在新的智

能助手 Allo 中,也显著地提高了谷歌

翻译的质量(从 2016 年开始)。目前,

谷歌数据中心的很大一部分计算资源

现在都在执行 LSTM 任务。

LSTM区别于RNN的地方,主要就

在于它在算法中加入了一个判断信息

有用与否的\"处理器\",这个处理器作

用的结构被称为cell。一个cell当中

被放置了三扇门,分别叫做输入门、

遗忘门和输出门。一个信息进入LSTM

的网络当中,可以根据规则来判断是

否有用。只有符合算法认证的信息才

会留下,不符的信息则通过遗忘门被

遗忘。说起来无非就是一进二出的工

作原理,却可以在反复运算下解决神

经网络中长期存在的大问题。目前已

经证明,LSTM是解决长序依赖问题的

有效技术,并且这种技术的普适性非

常高,导致带来的可能性变化非常多。

各研究者根据LSTM纷纷提出了自己的

变量版本,这就让LSTM可以处理千变

万化的垂直问题。

·285·

MSE

=

1

M

?

(1)

(

y

i

?

y

i

)

i

=

1

m

七、实验结果:

分别对三支美股进行预测,将预测值与

真实值进行对比,得出预测结果,可见本文

设计的算法对股价的平均MSE和平均相对误

差都比较小,如表2所示。

八、对比试验

接下来是对比试验,由于本文设计的是

加入注意力机制的LSTM股票预测,因此,将

该模型与未加入注意力机制的LSTM进行对

比试验,用以评测加入注意力机制的必要性。

挑选NVDA数据集和PIHPP数据集进行试验,

首先是用该数据集分别训练LSTM模型和基

于注意力机制的LSTM模型,训练完毕后,分

别对训练后的模型进行对比试验,实验结果

如表3,表4所示,可以看出,加入注意力机

制的LSTM股价预测模型与未加入注意力机

制的LSTM的效果不分伯仲。

九、结论

本文利用自然语言处理中常用的注意力

机制模型,尝试将该机制套用到时间序列处

理当中,用于股价的预测,得出了股价预测

精度高的结论,这对于开发交叉领域具有指

导意义。后期将尝试各种不同的注意力机制

改进机制,对模型进行优化和改进。

参考文献

[1] Yue Wu, Jose Miguel Hern

?

an-

dez-Lobato, and

?

Zoubin Ghahramani.

Dynamic covariance models for multi-

variate financial time series. In ICML,

pages 558–566, 2013.

更多推荐

预测,模型,数据,机制,进行,注意力,时间,序列