一种基于模糊控制循环神经网络的时序金融数据预测方法与流程

专利2022-06-29  49


本发明属于时间序列数据挖掘技术领域,尤其涉及一种基于循环神经网络的金融时序数据的预测问题。



背景技术:

在金融市场中,每时每刻都能产生海量数据,对这些数据的分析处理,越来越受到业界重视。经济学家从宏观金融指数运动中发现了色混沌,证明了经济体的运动是高度复杂的非线性运动。金融时序数据的一个特征是有许多的非等时间间隔的数据,以日线数据为例,金融系统并不是每一天都有数据产生,在节假日并不产生数据,这就导致了普通的工作日的数据时间间隔为1天,而到了周末或者遇到假期,相邻数据之间的间隔会是3天甚至更长;同时金融数据的另一个特征是波动水平的不确定,有时市场平稳而有时市场波动很大。

现阶段的研究,使用循环神经网络(rnn)来预测这些时序数据未来的走势。相比于传统的神经网络,rnn的特点是实现了网络中的隐藏层状态的共享。在某一次输入计算得到的状态值会在网络的下一次输入时能够继续使用,这样的优势是在时序数据处理中,更好的体现序列的特性,因此rnn适用于处理时序数据。但是rnn也会存在长期依赖问题,即梯度消失或梯度爆炸的问题。rnn的衍生网络gru(gatedrecurrentunit)通过基于门机制解决了上述两个问题,即通过更新门(updategate)和重置门(resetgate)来控制隐藏层的状态更新,从而解决长期依赖问题。

但是现有gru对于非等时间间隔的数据不能有效的在模型中将其时间间隔高效的表现出来,相邻两个时刻的数据之间的时间间隔长短的信息在模型中无法反映,因此这个信息就不能高效的在训练和预测中被应用。所以在实际生产过程中,这样的设计并不合理。



技术实现要素:

为了克服现有的神经网络无法高效处理金融数据中时间间隔不等以及波动水平的信息,本发明提出一种改进的gru的循环神经网络的结构,模糊控制的gru神经网络模型(gru-fuzzy,gru-f),整体的模型结构如图1所示,具体的gru-f的单元结构如图2所示。将数据每个时刻和前一时刻的时间间隔、当前的波动水平,和当前的数据信息输入模型,模型对时间间隔和波动水平有更好的处理模式,从而模型的预测精度能够更高。

本发明解决其技术问题所采用的技术方案是:

一种基于模糊控制循环神经网络的时序金融数据预测方法,所述方法包括如下步骤:

步骤1:搜集需要预测的金融数据,所述金融数据是股票日线数据,其中包括每个周期的开始日期,开盘价,收盘价,最低价,最高价,成交量,成交额,共6个指标数据,进一步处理数据,得到相邻数据间的时间间隔,每个数据之前30日的标准差;

步骤2:将步骤1中的数据,经过滑动窗口处理后,作为模型的输入,预测的是下个周期的收盘价,作为网络的输出,确定循环神经网络输入长度m为30,则输入是两个形状为m×k的矩阵和一个长度为k的向量组成,每个输入矩阵对应一个输出值,将训练数据划分为训练集、验证集和测试集;

步骤3:设计循环神经网络结构,隐藏层在传递到下个迭代之前,经过一个控制结构,根据时间间隔和数据波动水平,自适应调整隐藏层ht-1保留的信息到

设置循环神经网络的循环次数epoch=200,gru部分输入长度为m=30,隐藏层单元数目为128,输出层使用一个网络单元数为64的linear层,linear层上的dropout设置为0.2,设定网络允许误差θ;

步骤6:将步骤4中的训练集输入到步骤5中设定的模型中,计算出绝对平均误差mae,根据mae,使用反向传播算法对模型的参数进行调整;

步骤7:重复步骤6,直到mae<θ;或者循环次数达到epoch,停止训练;

步骤8:使用训练完毕的网络预测,将输入数据根据步骤1中的方法进行搜集和处理,生成两个m×k的矩阵和一个长度为k的向量,将其输入到步骤7训练完毕的神经网络中,获得最终的结果。

本发明的技术构思是,设计新的神经网络单元,时间间隔长的数据应该对后续的影响更小,隐藏层应该在迭代中丢弃更多的数据;同时对于市场的波动水平较大时,隐藏层应该更快的遗忘之前记忆的信息。使上述的特征能够更准确的参与模型的训练,控制拟合过程。

本发明的有益效果主要表现在:可以相较于现有方法预测有更高的准确性。

附图说明

图1是整体神经网络的模型结构图。

图2是gru-f单元结构图。

具体实施方式

下面结合附图对本发明作进一步描述。

参照图1和图2,一种基于模糊控制循环神经网络的时序金融数据预测方法,所述方法包括如下步骤:

步骤1:搜集需要预测的金融数据,一般是股票日线数据,其中包括每个周期的开始日期,开盘价,收盘价,最低价,最高价,成交量,成交额,共6个指标数据(k=6);进一步处理数据,得到相邻数据间的时间间隔,每个数据之前30日的标准差(l=30);

步骤2:将步骤1中的数据,经过滑动窗口处理后,作为模型的输入,预测的是下个周期的收盘价,作为网络的输出。确定循环神经网络输入长度为30(m=30),则输入是两个形状为m×k的矩阵a、s和一个长度为k的向量δ组成,每个输入矩阵对应一个输出值,将训练数据划分为训练集(80%)、验证集(10%)和测试集(10%);

步骤3:设计循环神经网络结构,如图2所示。设置循环神经网络的循环次数epoch=200,gru部分输入长度为m=30,隐藏层单元数目为128,输出层使用一个网络单元数为64的linear层,linear层上的dropout设置为0.2;

模型的正向传播结构的公式:

首先是经过了一层神经网络后的隐藏层

接下来,模型根据时间间隔和市场波动水平通过一个控制结构g(·),遗忘部分的信息后,得到其中g(·)由一个根据时间间隔控制的遗忘函数和一个根据市场波动水平控制的模糊控制器组成:

其中,lapse是一个根据时间间隔大小计算记忆率的函数,时间间隔越大,记忆保留的信息越少,相反,保留的信息越多:

fuzzy为一个模糊控制器,根据市场波动水平控制遗忘率:

模糊集v={0.25,0.5,0.75,1}为记忆率,根据最大隶属度原则确定当前数据的记忆率,隶属度函数a(s)根据例证法确定,统计数据集中的标准差的分布情况,并从小到大排序,根据s的值所在区间决定控制器最终输出值:

最后将以上几个部分结合,得到调整过后的隐藏层

gru-f的剩余部分为重置门、更新门、候选集和隐藏层的计算。重置门rt控制前一层的记忆,重置门越小,调整过后的前一个隐藏层被写入候选集的信息越少;更新门zt用于控制调整过后的前一个隐藏层信息被保留到当前隐藏层的程度,更新门越大信息保留越少,当前记忆层ht由候选集和调整后的前一隐藏层计算得到。即

最后从隐藏层到输出层的计算:

ht-1和ht是前一个的隐藏层状态和当前更新后的隐层状态。rt,zt分别是gru中的重置门和更新门。参数{wd,bd},{wr,ur,br},{wz,uz,bz},{w,u,b}分别是重置门、更新门和隐藏层的网络单元参数。σ(·)是向量中逐个元素的sigmoid(x)计算,⊙代表逐元素相乘;

再在输出层后连接一个linear层来做输出层回归计算,以及一个dropout层来防止网络过拟合,设定网络允许误差θ;

步骤6:将步骤4中的训练集输入到步骤5中设定的模型中,计算出绝对平均误差mae(meanabsoluteerror),根据mae,使用反向传播算法对模型的参数进行调整;

步骤7:重复步骤6,直到mae<θ;或者循环次数达到epoch,停止训练;

步骤8:使用训练完毕的网络预测。将输入数据根据步骤1中的方法进行搜集和处理,生成两个m×k的矩阵和一个长度为k的向量,将其输入到步骤7训练完毕的神经网络中,获得最终的结果。


技术特征:

1.一种基于模糊控制循环神经网络的时序金融数据预测方法,其特征在于,所述方法包括如下步骤:

步骤1:搜集需要预测的金融数据,所述金融数据是股票日线数据,其中包括每个周期的开始日期,开盘价,收盘价,最低价,最高价,成交量,成交额,共6个指标数据,进一步处理数据,得到相邻数据间的时间间隔,每个数据之前30日的标准差;

步骤2:将步骤1中的数据,经过滑动窗口处理后,作为模型的输入,预测的是下个周期的收盘价,作为网络的输出,确定循环神经网络输入长度m为30,则输入是两个形状为m×k的矩阵和一个长度为k的向量组成,每个输入矩阵对应一个输出值,将训练数据划分为训练集、验证集和测试集;

步骤3:设计循环神经网络结构,隐藏层在传递到下个迭代之前,经过一个控制结构,根据时间间隔和数据波动水平,自适应调整隐藏层ht-1保留的信息到

设置循环神经网络的循环次数epoch=200,gru部分输入长度为m=30,隐藏层单元数目为128,输出层使用一个网络单元数为64的linear层,linear层上的dropout设置为0.2,设定网络允许误差θ;

步骤6:将步骤4中的训练集输入到步骤5中设定的模型中,计算出绝对平均误差mae,根据mae,使用反向传播算法对模型的参数进行调整;

步骤7:重复步骤6,直到mae<θ;或者循环次数达到epoch,停止训练;

步骤8:使用训练完毕的网络预测,将输入数据根据步骤1中的方法进行搜集和处理,生成两个m×k的矩阵和一个长度为k的向量,将其输入到步骤7训练完毕的神经网络中,获得最终的结果。

技术总结
一种基于模糊控制循环神经网络的时序金融数据预测方法,针对金融时序数据中时间间隔非等数据,结合模糊控制,设计出一种新的循环神经网络模型,最终的模型可以将数据集中的时间间隔和数据波动水平信息高效的运用于模型的训练以及预测中,提高模型的预测准确度。

技术研发人员:田贤忠;顾思义;胡安娜
受保护的技术使用者:浙江工业大学
技术研发日:2020.01.08
技术公布日:2020.06.05

转载请注明原文地址: https://bbs.8miu.com/read-52098.html

最新回复(0)