一种量子神经网络的股票指数价格预测方法与流程

文档序号:18743393发布日期:2019-09-21 02:03阅读:227来源:国知局
一种量子神经网络的股票指数价格预测方法与流程

本发明涉及股票指数价格预测方法技术领域和算法应用领域,特别涉及一种量子神经网络的股票指数价格预测方法。



背景技术:

股票市场不像一般的线性系统具有很强的规律性,它往往具有非线性、波动性和难以预测性的特征,不仅如此,股市的走势还会受到所处的经济坏境、人们心里预期等因素的影响。

对于股票市场这种非线性、波动性的复杂系统,建立模型对股价进行预测实质上就是建立一个数学模型来模拟输入和输出参数之间的非线性关系。

经济增长与金融市场发展存在正相关关系,股票市场推动了经济增长,它促进了经济中其它闲置并较为分散资本的流通和交易。与此同时,当整体经济发生增长,经济开始复苏的时候,其带来的附加效应又会反过来促进股票市场的发展,这种相互促进的正相关关系会因国家而异,而且因经济发展水平不同而有所不同。

量子神经网络模型是目前较为新颖的神经网络预测模型之一,它在传统神经网络的架构上结合了“量子计算”形成了一种新型神经网络结构,其输入层和隐藏层神经元不再是普通神经元而是量子神经元,由于引入了“量子计算”,使得该模型的预测效率得到了极大提升,而且解决了部分复杂、随机的非线性系统预测精度问题以及传统神经网络容易“过拟合”和“陷入局部极小值”的问题。

由于股票市场的波动性和不确定性,再加之股票价格不仅受到历史的影响,还要考虑政治因素以及人的心理因素,要对股价进行预测是一件很困难的事,作为投资者来说,其最关心的是股市价格的趋势方向,尽管量子神经网络在线性系统上的预测性能很好,但是对于股市价格这种具有非线性特征的时序数据,量子神经网络的预测精度尤其是趋势方向判断上并没有实质性的提升,而目前市场上又没有一个更好的算法结合量子神经网络对股票指数价格进行预测。



技术实现要素:

本发明提供一种量子神经网络的股票指数价格预测方法旨在解决仅仅利用市场历史交易信息对股票指数价格进行预测,其趋势方向预测精度不高和模型训练效率过低的问题。

一种量子神经网络的股票指数价格预测方法,主要包括数据输入模块、数据预处理模块、数据转化模块、数据训练及预测模块、数据重构模块,所述数据输入模块用于获取股票指数的最新交易数据,所述数据预处理模块用于对所述数据输入模块输入的时序数据通过PEEMD算法(主要集合经验模态分解算法)进行预处理,所述数据转化模块用于将所述数据预处理模块处理得到的数据转化为“量子态”数据,所述数据训练及预测模块用于将所述数据转化模块得到的“量子态”数据进行训练预测,所述数据重构模块用于重构所述数据训练及预测模块的预测结果,其预测步骤是:将所述数据输入模块的输入数据送到所述数据预处理模块进行预处理,再送到所述数据转化模块进行转化,然后通过所述数据训练及预测模块进行预测,最后通过所述数据重构模块将预测结果进行重构得到最终的预测结果。

上述方法中,所述数据预处理模块主要包括原始数据分解和高频混杂信号的剔除。

上述方法中,所述数据训练及预测模块主要包括量子神经网络的构建模块和模型预测模块。

上述方法中,所述量子神经网络的构建模块主要包括三层网络结构,其中输入层和隐藏层节点为量子神经元,输出层节点为普通神经元,其中输入层神经元节点数是4,隐藏层节点数是3,输出层节点数是1,隐藏层的激活函数是Sigmoid函数,输出层的激活函数是ReLU函数,输入层与隐藏层通过旋转参数和翻转参数相连接,隐藏层与输出层通过普通权重相连接。

上述方法中,所述模型预测模块是利用所述数据转化模块的数据通过所述量子神经网络的构建模块对股票指数每日收盘价进行预测。

上述方法中,一种量子神经网络的股票指数价格预测方法,其特征在于,所述PEEMD算法步骤如下:

1)在待分析信号中加入正态分布白噪声;

2)用EMD(经验模态分解算法)分解所述混有正态分布白噪声的原始信号,得到一系列本征模态分量;

3)将每次得到的模态分量平均处理后作为最终分解结果;

4)重复1)至3),每次将新的正态分布白噪声加入到剩余的信号中;

5)检查最后残差项是否满足中止条件,若满足中止条件,停止迭代;

6)剔除其中高频混杂分量,将剩余中低频和残差项分量作为最终输出结果。

上述方法中,所述原始数据分解主要是利用EEMD(集合经验模态分解算法)算法,该算法是将白噪声信号添加到原始信号中,并将获得的组合作为一个整体,噪声在多次求和取平均后相互抵消,不同尺度的信号分量自动分布到适当的参考尺度,最后对混有高斯白噪声的数据进行逐层分解,得到一系列不同频率近似平稳的本征模态分量,不同频率的分量包含了原始数据对应频率的特征信息。

上述方法中,所述高频混杂信号的剔除,其本质是剔除所述原始数据分解得到的高频本征模态分量,只对剩余中低频信号进行训练预测。

上述方法中,所述EEMD算法通过把白噪声引入要分析的信号中,对混有白噪声的原始信号进行EMD分解,再对各分量取平均得到最终结果。

所述一种量子神经网络的股票指数价格预测方法,其特征在于,量子神经网络的构建模块的主要学习算法如下:

将实数态转换为量子态:

将n维空间的实数向量通过一定的映射关系,转化为符合量子神经网络输入的数据结构,其转换公式如下:

|X>=[|x1>,|x2>,…|xn>]T

误差反向传导调整参数:

在量子神经网络中,要对学习误差通过量子神经网络进行反向传导,以此调节以下四个参数:旋转因子、翻转因子、输出层阈值、连接权重,并通过反复训练找到全局最优解,其中误差函数如下:

根据梯度下降法,可以推导出参数调整的方向和结果,其调整的关系式如下:

对于阈值,采用动量梯度下降法和因子自适应学习方法进行调整,得到最终调整后的参数。

本发明提出的一种量子神经网络的股票指数价格预测方法,其优点和有益效果在于,利用PEEMD算法将非平稳随机波动信号分解为一系列近似平稳的时序数据能够提高模型在波动性干扰下的稳定性。通过剔除高频模态的混杂分量,只对剩余中低频分量进行模型预测能够解决高频混合的抖动信号对于模型训练的影响,同时,将中低频分量带入到量子神经网络模型中可以显著提升模型的趋势方向判断和预测精度,其运行效率也较传统神经网络预测模型有了较大的提升。

附图说明

为了更清楚地说明本发明实现的目的、性能特点及优点,下面将对实施例参照的附图作简要地说明。

图1为本发明股票指数价格预测方法示意图。

图2为本发明基于量子神经网络实施例的流程示意图。

图3为本发明量子计算过程示意图。

图4为本发明量子神经网络训练流程图。

图1中:1-数据输入模块,2-数据预处理模块,3-数据转化模块,4-数据训练及预测模块,5-数据重构模块,6-量子神经网络模型的构建模块,7-模型预测模块。

图2中:8-获取股票指数期货价格历史交易数据,9-对原始数据进行清洗,剔除强噪声、缺省值,10-PEEMD算法分解,11-划分训练集和测试集,12-训练集和测试集,13-模型训练和模型预测。

具体实施方式

下面将结合实施例和附图对本发明具体实施方式作进一步解释,应当理解,该解释仅仅用于解释本发明,而不能以此来限制本发明的保护范围。

如图1所示,一种量子神经网络的股票指数价格预测方法,主要包括数据处理部分和模型训练及预测部分,其中数据处理部分包括数据输入模块1、数据预处理模块2和数据转化模块3,模型训练及预测部分包括数据训练及预测模块4和数据重构模块5,所述数据输入模块用于获取股票指数期货的最新交易数据,所述数据预处理模块用于对所述数据输入模块输入的时序数据通过PEEMD算法进行预处理,所述数据转化模块用于将所述数据预处理模块处理得到的数据转化为“量子态”数据,所述数据训练及预测模块用于将所述数据转化模块得到的“量子态”数据进行训练预测,所述数据重构模块用于重构所述数据训练及预测模块的预测结果,其预测步骤是:将所述数据输入模块的输入数据送到所述数据预处理模块进行预处理,再送到所述数据转化模块进行转化,然后通过所述数据训练及预测模块进行预测,最后通过所述数据重构模块将预测结果进行重构得到最终的预测结果。

如图1所示,数据训练及预测模块4主要包括量子神经网络的构建模块6和模型预测模块7。

所述量子神经网络的构建模块6主要包括三层网络结构,其中输入层和隐藏层节点为量子神经元,输出层节点为普通神经元,其中输入层神经元节点数是4,隐藏层节点数是3,输出层节点数是1,隐藏层的激活函数是Sigmoid函数,输出层的激活函数是ReLU函数,输入层与隐藏层通过旋转参数和翻转参数相连接,隐藏层与输出层通过普通权重相连接。

参照图2,本发明实施例提供了一种量子神经网络的股票指数价格预测方法,所述方法包括:

步骤8,获取目标股票日历史交易情况。

目标股票为主要六个大盘及股指指数,日历史交易价格包括“开盘价”、“收盘价”、“最高价”、“最低价”常用的日交易价格数据。

步骤9,对所述常用的日交易价格原始数据进行“清洗”,剔除了一些由于记录不完整,个别数据遗漏以及带有明显误差噪声点的影响。

将每一条数据中的“换手率”等特征信息剔除后,只保留“收盘价”等四个价格特征指数作为备选,最后通过对每一个样本数据的相关性进行分析,发现“收盘价”对于股票价格波动及趋势走向的相关性最强,同时在实际股票交易的过程中,投资者更热衷于了解每一只股票的“收盘价”以保证自己在股市关闭之前做出正确的选择,因此本文最终选择“收盘价”这一特征进行后续实验数据处理。

需要说明的是,在将实数态转换为量子态的过程中会出现振荡现象,因此在初始化参数的时候会对每一个参数进行归一化调整,来防止出现由于一些轻微的扰动使得模型出现巨大的抖动。

这里常用的是利用其“2范数”进行归一化处理,例如:对于单个列(行)矢量就用传统的“单位化”方法进行“归一化”处理,对于矩阵,则对其每一行矢量进行“2范数”归一化处理。每一次迭代完成后就对参数进行一次归一化处理,使得每次训练的结果在一个较小的范围内波动,模型的预测精度得到很大的提升,模型也会更加稳定。

步骤10,通过PEEMD算法对清洗后的数据进行分解,得到一系列不同频率的本征模态函数,然后再剥离其中隐含在原始数据中的高频分量,将剩余的中低频分量通过所述数据训练及预测模块4进行预测。

需要说明的是,对于高频振荡信号,可以将其看作是影响股票价格走向的短期因素,比如临时性的换手交易,短暂的市场震荡,中频分量可以看成一种中期因素,比如季节性影响,周期性影响,最后低频分量和残差分量表现出一种长期趋势,它代表着股票价格的整体走势,也就是在宏观层面考虑股票价格大致的走向,而不仅仅关注于某一个点的涨跌情况,这种长期趋势的影响因素可能就是整个股市政策的改变或者是整个股市发生变化。

步骤11,在所述原始数据中划分训练集和测试集,由于训练集样本量的大小会影响模型的训练效果以及模型的预测能力,在划分时应当使训练集样本的个数多于测试集,此外还应在不同的数据集中进行随机抽取数据组成训练集来保证模型具有普适性,达到交叉验证的效果。

步骤12,要确保训练集和测试集完全分隔开,由于股票指数价格是时间序列数据,因此在划分训练集时应该按照时间的先后顺序划分,否则预测结果将失去意义。

步骤13,在训练集上对模型进行训练,得到适应该数据的一组参数,然后在测试集上进行预测,得到预测结果。

需要说明的是,将每一个分离所得到的结果看成是一个新的原始训练数据,然后对这些新的原始数据进行预测仿真试验,由于分离后的分量其波动性大大降低,可以将其看成一个近似平稳的时间序列,对每一个平稳的时序通过神经网络进行训练预测后,再重新整合预测结果,合并计算,得到最终的预测结果,这样通过分解、预测、再重构的思想使得预测结果比直接预测结果在预测精度上有了较大的提升。

本发明所述的一种量子神经网络的股票指数价格预测方法中的量子神经网络最主要包括“量子比特”和“量子计算”,其中“量子计算”的实质就是通过量子门作用在量子态上使其从一个量子态转化为另一个量子态,这一点与经典领域二维矩阵运算相仿。

如图3所示,量子计算过程示意图,其中,X、Z、H门分别对于量子非门、Z门和哈达玛门,其具体形式如下:

量子态α|0>+β|1>用矢量符号表示为:

其中α是|0>的概率振幅,β是|1>的概率振幅,那么该量子态经过量子非门的输出结果是:

对于量子态α|0>+β|1>,要求α和β满足|α|2+|β2=1,因此通过量子非门运算得到新的量子态α′|1>+β′|0>也要满足|α′|2+|β′|2=1,由此可知矩阵U满足也就是说U是酉矩阵,其中矩阵是U矩阵的共轭转置矩阵,I是单位矩阵,这种酉矩阵约束是量子门的唯一约束,任何一个酉矩阵都指定了一个有效的量子门。

如图4所示,量子神经网络训练流程图中输入层的节点是通过数据转化形成的量子神经元,连接输入层与隐藏层之间是旋转参数和翻转参数,连接隐藏层与输出层是普通的连接权重,其主要步骤为:输入样本首先经过旋转门变换,其次利用受控非门构建隐藏层,然后连接权重将隐藏层映射到网络进行输出,最后通过判断停止条件来确定最终输出结果。

量子计算最基本的元素是量子比特,与传统计算中的“位”基本元素相比,在量子计算中,通常使用量子比特来描述量子的不同状态,量子比特态|1〉和|0>分别表示兴奋性和抑制性神经元。

在含n个量子比特的量子系统中,量子操作通常是通过量子门执行单一操作来实现的,量子运算可以根据量子并行性同时更新所有状态,有效地提高了计算效率。

为了便于计算与应用,量子态可以用以下方程来表示,其中概率振幅|1>、|0>对应于实部和虚部。

|θ>=f(θ)=e=cosθ+isinθ。

下面结合具体的实例来说明一种量子神经网络的股票指数价格预测方法的处理过程。

将“沪深300指数”作为目标股票指数,其原始数据是从2005年1月4日到2019年4月11日的日历史交易情况(日k线)中所获得的,其中包括了“开盘价”、“收盘价”、“最高价”、“最低价”常用的日交易和量化分析所参考的价格数据。

在数据选择中,先对原始数据进行“清洗”,剔除了一些由于记录不完整,个别数据遗漏以及带有明显误差噪声点的影响,最终得到了3468条有效数据,其中每一条数据代表“沪深300指数”的日交易信息。

由于对训练数据的要求,将每一条数据中的“换手率”等特征信息剔除后,只保留“收盘价”特征指数作为备选,最后通过对每一个样本数据的相关性进行分析,发现“收盘价”对于股票价格波动及趋势走向的相关性最强,因此最终选择“收盘价”这一价格特征指数进行后续实验数据处理。

在对“沪深300指数”进行预测前,先通过PEEMD方法将其清洗后的原始数据进行分解,得到10个本征模态函数,以及1个残差趋势项。

通过对每一个本征模态函数进行归一化处理后,就能得到维度为11×3468样本数据矩阵,然后将3468个原始样本数据划分成样本容量为2312个的训练集,其占总样本个数的2/3和样本容量为1156个的测试集,其占总样本个数的1/3。

本发明所述的量子神经网络模型总共有三层结构,输入层和隐藏层的节点都是量子神经元,量子神经元之间通过旋转门和翻转门进行连接,每一个量子神经元上都有一个阈值和激活函数,这一点与传统神经网络比较类似。

由于训练样本集的有效输入是2312个样本,并且考虑到股市周期等方面对于股市价格走向的影响,因此在这里将前4期标准化后的数据看成模型的4维输入特征向量,把其作为输入值进行输入,将后一期要预测的收盘价作为输出值进行输出,实现对收盘价的一步预测,所以该训练网络有4个输入端的节点,有1个输出端节点。由于后面各期的数据与前面几期的数据联系比较紧密,因此借助于时间序列中滑动平均的思想,对于每一步预测值随着训练的进行向后滑动一期,以此得到最终的股票价格预测序列。

本发明所述的量子神经网络模型在训练时需要调整四个参数,分别是“旋转因子”、“翻转因子”、“连接层权重”以及“输出层阈值”,在对每一个进行初始化时,都会预先设定一个随机数,为了防止随机数出现在“1”和“-1”附近(因为在“1”和“-1”附近,网络极容易过拟合),因此在设定随机数时给它设定一个范围,让其在[-0.5,0.5]进行输出来避免这个问题。

将所述的股票价格预测序列带入到模型的输入端进行输入,以此来训练模型的参数。

根据输出结果分析可知,在训练样本集上,前5个分量由于其频率较高且噪声点比较多,将前5个分量数据即imf1~imf5数据在模型训练前将其剔除,只对后面6个分量进行预测。

根据输出结果分析可知,在测试样本集上,可以得到一系列本征模态分量的预测数据集,然后对所述预测数据集进行反归一化处理还原成原始量纲下的数据,将其重新整合到预测序列中,合并计算,最后重构预测序列得到最终股票指数价格的预测结果。

本实施例通过剔除本征模态函数中的高频分量,只对中低频分量进行预测以解决模型易陷入“局部最小值”和训练速度过慢的问题,可以提高股票指数价格预测和趋势方向判断的精度。

以上仅为本发明的较佳实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的任何改进、等同替换、优化或者是等效结构和算法流程变换等以及直接或间接运用在其他相关技术领域,均同理应当包含在本发明的专利保护范围内。

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