一种基于循环神经网络的股指价格预测方法与流程

文档序号:14655902发布日期:2018-06-12 03:55阅读:553来源:国知局

本发明涉及一种股指价格预测的方法,特别是一种基于循环神经网络的股指价格预测方法。



背景技术:

随着中国金融市场的逐步发展,以股票为代表的、蕴含经济利益的众多金融产品越来越被人关注。同时,股票投资者在进行投资活动时,也越来越关注股票价格的准确预测,从而最大程度的降低投资亏损,增加其投资回报率。所以对股票价格的准确建模分析成为了投资者进行投资决策时最重要的研究内容之一。以往的研究者们主要是将各种统计学和概率论的方法应用于时间序列的预测模型,例如:ARMA(自回归滑动平均模型)、ARCH(自回归条件异方差模型)、多元线性回归模型等。但是这些传统模型往往假设条件较多,而且一般只能找出股价与其相关的影响因子之间的线性关系,不能很好地反映股票非线性变化规律,预测精度较低,应用也很受限。

近年来,随着人工智能领域的快速发展,越来越多的投资者开始尝试利用神经网络对股价进行建模分析和预测,同时也得到了一些良好的预测结果。而对于时间序列这种序列数据来说,采用最广泛的模型为RNN(循环神经网络)模型。RNN作为一种专门处理序列数据的模型,可以通过网络结构提取出数据更深层次的特征,从而能够获取时间序列之间的高度非线性关系。然而传统的RNN结构容易面临梯度消失或梯度爆炸的问题,所以就很难获取时间序列的较长时期的依赖关系。Hochreiter和Schmidhuber提出的LSTM(长短时记忆网络)结构和后来的GRU(门控循环神经网络)克服了传统RNN网络的梯度消失和梯度爆炸的问题,使得循环神经网络结构不仅能够提取出时间序列的深层特征,还能考虑到时间序列的长时依赖,也使得模型获得了更好的预测结果。



技术实现要素:

近年来,编码-解码循环神经网络在机器翻译上取得了很大的成功,受到这一结构的启发,为解决现有技术的时间序列的预测问题,本发明提出一种基于循环神经网络的股指价格预测方法。

本发明方法充分考虑影响股指价格的个股的历史数据,通过先对输入向量进行注意力加权处理,再构建采用LSTM结构的循环神经网络,实现了对股指价格的准确预测,并且在模型预测质量和计算效率方面做出了很好的权衡。

本发明的一种基于循环神经网络的股指价格预测方法,具体步骤如下:

1)、收集和清洗股票指数及其所包含的个股的历史价格数据;

2)、利用注意力机制,对模型的输入值进行加权调整;

3)、将上述加权后的模型的输入值输入到循环神经网络中进行模型的训练和预测。

该基于循环神经网络的股指价格预测方法与现有的传统循环神经网络预测时间序列方法功能基本一致,其改进在于通过对输入向量进行注意力加权,将输入向量重新加权整合,再输入到循环神经网络的结构中训练。这种做法可以将输入向量中对目标变量影响较为重要的部分强调出来,从而不仅捕获了输入向量的全局特征,而且还使得模型的训练更具有针对性,最终获得更好的股指价格预测效果。

进一步,所述的步骤(1)中收集和清洗股票指数及其所包含的个股的历史价格数据操作主要包括以下步骤:

(11)借用免费开源的Python数据接口Tushare,获取一定时期内的股指及其成分股的每分钟收盘价数据。

(12)由于节假日、停牌等不可避免的因素,会导致数据有部分缺失,所以在正式建模之前需要先对有缺失的数据进行填充。具体选择的方法是:对于有缺失数据的股票数据,以上一个一分钟的收盘价对其进行补齐,对于在该时期内停盘的股票,将该股从研究对象中剔除。最终得N支符合要求的个股完整数据。

(13)为了避免原始输入变量由于量纲与数量级的不同对模型的训练过程造成影响,在正式开始训练前,对原始数据进行无量纲化处理,标准化公式为:

其中表示第k支股票t时刻的原始历史价格数据,xk表示第k支股票的历史价格数据向量。

进一步,所述的步骤2)中的对模型的输入值进行注意力加权调整主要包括以下内容:

(21)对于给定的输入序列X=(x1,x2,...,xT),首先在时刻t,学习一个从原始输入序列xk到隐藏层ht的映射:

ht=f1(xt,ht-1) (2)

式中,ht∈Rm,表示网络在时刻t处的隐藏层的节点,m则代表隐藏层节点的个数,f1(·)可以是任意一个非线性激活函数,对于时间序列,一般就直接采用LSTM结构。

(22)再将上述得到的隐藏层ht和第k个原始输入序列做如下运算:

式中,

此处We∈RT×m,Ue∈RT×T都是需要训练的参数。而即为所训练得到的注意力权重。注意力权重可以用于衡量第k个输入序列xk的第t个值对目标变量的影响程度,若所对应的值越大,则说明对的权重加的就越大,从而证明该值对目标变量越重要。此外,由于对套用了softmax函数,故所有的加和为1。

(23)有了上述求得的注意力权重之后,就可以对输入序列做如下变换:

之后,就可以用加过注意力权重之后的输入序列代替原始输入序列xk,再将传入LSTM结构,训练一个标准的循环网络,最后就可以得到目标变量的预测值。

进一步,所述的步骤3)中的训练和预测模型主要包括以下内容:

(31)引进注意力权重的RNN模型就是构建如图1中所示的网络结构,从而对股指价格做预测。对于这种网络模型,需要确定的超参有:输入序列的时间长度T1,LSTM结构中对应的隐藏层节点m1,还需要确定编码层的节点个数m2,可以结合处理序列数据的实际经验,设定T1=9,m1=m2=128。

(32)模型训练好之后,就可以利用训练好的参数,输入时间长度为T1的输入序列,对股指价格数据做预测。

本发明的技术构思是:为提高预测时间序列数据的准确性,本发明提出了一种基于注意力机制的循环神经网络来预测时间序列数据的方法。首先,该方法对网络的输入值进行重新加权处理,使得模型多关注对目标变量影响力更强的因子,然后,再利用经典的循环神经网络结构来训练参数,使得模型不仅能抓住因子的主要特征,还能使得训练所得到的参数更具有可靠性,最后的实验也证明,对比图2,3,4,可以看出该发明的预测结果比单因子模型和传统RNN模型的预测结果更贴切目标价格变量。

本发明的优点在于:该方法通过对输入向量进行注意力加权,将输入向量重新加权整合,再输入到循环神经网络的结构中训练。这种做法可以将输入向量中对目标变量影响较为重要的部分强调出来,从而不仅捕获了输入向量的全局特征,而且还使得模型的训练更具有针对性,实现了对股指价格的准确预测。此外,该方法还在模型预测质量和计算效率方面做出了很好的权衡。

附图说明

图1是本发明中的基于注意力机制的RNN结构图。

图2是本发明中的基于注意力机制的流程图。

图3是应用本发明预测的上证50股指收盘价的效果图。

图4是应用传统的单因子方法预测的上证50股指收盘价的效果图。

图5是应用传统的RNN方法预测的上证50股指收盘价的效果图。

具体实施方式

下面参照附图,进一步说明本发明的技术方案。

一种基于循环神经网络的股指价格预测方法,包括以下步骤:

1)、对股指及其所包含的个股历史数据进行清洗和处理;

2)、对步骤1)处理后的数据进行如图1左侧所示的注意力加权调整;

3)、确定超参的取值后,训练如图1所示的网络,得到对应的参数值,再对上证50股指的收盘价分别进行上述步骤所述的操作,得到对应的预测效果图2。

该基于循环神经网络的股指价格预测方法与现有的传统循环神经网络预测时间序列方法功能基本一致,其改进在于通过对输入向量进行注意力加权,将输入向量重新加权整合,再输入到循环神经网络的结构中训练。这种做法可以将输入向量中对目标变量影响较为重要的部分强调出来,从而不仅捕获了输入向量的全局特征,而且还使得模型的训练更具有针对性,最终获得更好的股指价格预测效果。

进一步,所述的步骤(1)中收集和清洗股票指数及其所包含的个股的历史价格数据操作主要包括以下步骤:

(11)借用免费开源的Python数据接口Tushare,获取一定时期内的股指及其成分股的每分钟收盘价数据。

(12)由于节假日、停牌等不可避免的因素,会导致数据有部分缺失,所以在正式建模之前需要先对有缺失的数据进行填充。具体选择的方法是:对于有缺失数据的股票数据,以上一个一分钟的收盘价对其进行补齐,对于在该时期内停盘的股票,将该股从研究对象中剔除。最终得N支符合要求的个股完整数据。

(13)为了避免原始输入变量由于量纲与数量级的不同对模型的训练过程造成影响,在正式开始训练前,对原始数据进行无量纲化处理,标准化公式为:

其中表示第k支股票t时刻的原始历史价格数据,xk表示第k支股票的历史价格数据向量。

进一步,所述的步骤2)中的对模型的输入值进行注意力加权调整主要包括以下内容:

(21)对于给定的输入序列X=(x1,x2,...,xT),首先在时刻t,学习一个从原始输入序列xk到隐藏层ht的映射:

ht=f1(xt,ht-1) (2)

式中,ht∈Rm,表示网络在时刻t处的隐藏层的节点,m则代表隐藏层节点的个数,f1(·)可以是任意一个非线性激活函数,对于时间序列,一般就直接采用LSTM结构。

(22)再将上述得到的隐藏层ht和第k个原始输入序列做如下运算:

式中,

此处We∈RT×m,Ue∈RT×T都是需要训练的参数。而即为所训练得到的注意力权重。注意力权重可以用于衡量第k个输入序列xk的第t个值对目标变量的影响程度,若所对应的值越大,则说明对的权重加的就越大,从而证明该值对目标变量越重要。此外,由于对套用了Softmax函数,故所有的加和为1。

(23)有了上述求得的注意力权重之后,就可以对输入序列做如下变换:

之后,就可以用加过注意力权重之后的输入序列代替原始输入序列xk,再将传入LSTM结构,训练一个标准的循环网络,最后就可以得到目标变量的预测值。

进一步,所述的步骤3)中的训练和预测模型主要包括以下内容:

(31)引进注意力权重的RNN模型就是构建如图1中所示的网络结构,从而对股指价格做预测。对于这种网络模型,需要确定的超参有:输入序列的时间长度T1,LSTM结构中对应的隐藏层节点m1,还需要确定编码层的节点个数m2,可以结合处理序列数据的实际经验,设定T1=9,m1=m2=128。

(32)模型训练好之后,就可以利用训练好的参数,输入时间长度为T1的输入序列,对股指价格数据做预测。

目前,在时间序列的预测领域中,应用机器学习的方法来预测时间序列的案例已经越来越多了。本发明针对传统的RNN模型中存在的无法兼顾预测质量和计算效率的不足,提出了一种能更准确预测时间序列的方法,该类方法在模型的预测质量和计算效率方面做出了很好的权衡。

本说明书实施例所述的内容仅仅是对发明构思的实现形式的列举,本发明的保护范围不应当被视为仅限于实施例所陈述的具体形式,本发明的保护范围也及于本领域技术人员根据本发明构思所能够想到的等同技术手段。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1