金融时间序列预测的量子粒子群优化递归神经网络方法与流程

文档序号:11287532阅读:344来源:国知局
金融时间序列预测的量子粒子群优化递归神经网络方法与流程

本发明涉及时间序列的分析与预测,尤其是涉及一种金融时间序列预测的量子粒子群优化递归神经网络方法。



背景技术:

时间序列的分析与预测在诸多领域具有重要的应用价值。早期用于时间序列预测分析方法大多是线性模型,这些模型在理论与方法上具有一定的局限性。多数系统均具有复杂的非线性特征,引入非线性研究范式对时间序列进行分析和预测,通过非线性迭代、学习模型,近似描述混沌动力系统,是非线性时间序列预测理论发展的必然趋势[1]

金融市场由于受多种因素影响因而是复杂非线性动力系统,金融时间序列具有的非平稳性、弱混沌性等特点是金融市场复杂性的综合外在表现。由于思维惯性,金融研究者们虽然承认金融运行的复杂性,但在理论基础和研究方法上总是在刻意回避这种复杂性。长久以来,金融时间序列预测方法受制于以有效市场假说(emh)统率的线性范式,在一系列理想的假设条件之上,线性范式把资产价格的波动归因于外部随机性因素。这一时期内比较具有代表性的线性预测模型有自回归移动平均(arma)模型、广义自回归条件异方差garch(generalizedarch)模型、马尔可夫转换过程(markovswitchingprocess)等,然而资产收益率分布“尖峰厚尾”、波动率聚类、长期记忆”等市场非线性特征,宣布了线性范式的失灵,引入非线性研究范式对金融变量进行分析和预测,通过非线性迭代、学习模型,近似描述混沌动力系统,是金融市场理论发展的必然结果[2],[3]

混沌是金融时间序列非线性特征之一。混沌预测理论认为:一方面,混沌所具有的确定性特征使得很多看起来随机的表象实际上是可以预测的;而另一方面,混沌现象所固有的对初始条件的极度敏感性,又在根本上限制了其长期预测效果。因而,混沌动力系统在短期内的演化趋势是可预测的,但长期预测不太现实[4]

人工神经网络具备超强的自组织与自适应能力,以及对信息具有较好的容错率与联想记忆性,使其在预测混沌时间序列方面具有得天独厚的优势。递归神经网络(rpnn)是专门针对混沌时间序列预测而设计的一种动态神经网络,是特殊的多重分支时间延迟神经网络。rpnn具有时间延迟多重分支,模拟了非线性动态系统的时序特性,具备存储功能和联想记忆能力[5],[6],[7],[8]

量子粒子群优化算法(quantum-behavedparticleswarmoptimization,qpso)是从量子力学角度出发,利用量子测不准原理和波函数描述粒子运动状态,建立的一种新型pso优化算法,这种算法主要优点是在感兴趣的问题上保持了种群的多样性,实验结果表明,该方法可以提高问题求解的效率和收敛性[9],[10]

参考文献:

[1]ricardodea.araújoandtiagoa.e.ferreira,2009,“anintelligenthybridmorphological-rank-linearmethodforfinancialtimeseriesprediction”,neurocomputing,vol.72,issue.10-12,pp.2507-2524.

[2]timbollerslev,rayy.chouandkennethf.kroner,1992,“archmodelinginfinance:areviewofthetheoryandempiricalevidence”,journalofeconometrics,vol.52,issues.1–2,pp.5-59.

[3]yongmiaohong,yanhuiliuandshouyangwang,2009,“grangercausalityinriskanddetectionofextremeriskspilloverbetweenfinancialmarkets”,journalofeconometrics,vol.150,issue.2,pp.271-287.

[4]eepeters.chaosandorderinthecapitalmarkets[j],internationaljournaloftheoreticalandappliedfinance,1991,32(3):675-702.

[5]高鑫.基于rpnn-sapso混沌时间序列预测模型的程序化交易研究[d].厦门大学,2015.

[6]孟力.一种时间序列预测的智能优化递归神经网络发明专利申请号201510288774.3.

[7]leanyu,shouyangwangandkinkeunglai,2008,“aneural-network-basednonlinearmetamodelingapproachtofinancialtimeseriesforecasting”,appliedsoftcomputing,vol.9,issue.2,pp.563-574.

[8]tsung-junghsieh,hsiao-fenhsiaoandwei-changyeh,2011,“forecastingstockmarketsusingwavelettransformsandrecurrentneuralnetworks:anintegratedsystembasedonartificialbeecolonyalgorithm”,appliedsoftcomputing,vol.11,issue.2,pp.2510–2525.

[9]周頔,孙俊,须文波.具有量子行为的协同粒子群优化算法[j].控制与决策,2011,26(04):582-586.

[10]孙俊.量子行为粒子群优化算法研究[d].江南大学,2009.



技术实现要素:

本发明的目的在于克服现有非线性时间序列预测技术上的不足,提供基于递归预测器神经网络(recurrentpredictorneuralnetwork,rpnn)结合量子行为粒子群优化算法(quantum-behavedparticleswarmoptimization,qpso)的时间序列预测模型,以混沌和相空间重构为理论基础,可实现金融非线性时间序列短期预测,提高预测精度金融时间序列预测的量子粒子群优化递归神经网络方法。

本发明包括以下步骤:

1)计算时间序列吸引子维度,选取出嵌入维数为5维,即rpnn的节点数为5个,rpnn的存储器为25个,网络有5个阈值和75个权值;

2)粒子的个数为60个,每一个粒子的状态由80个维度,其中75个维度对应rpnn的权值,5个维度对应rpnn的阈值;

3)网络训练时,首先赋予每一个粒子初始状态;rpnn每产生一个预测值要经历5个节拍,其中每一个节拍对应的时间延迟为1天;

4)第一节拍:第一个节点以外部输入数据值r1和自身的反馈即自身存储器上的值乘以相应的权值作为输入数据,然后在激活函数的作用下产生一个输出值,并且将这个输出值存放到第一个存储器中,将原先存放在第一个存储器的值存放到第二个存储器,依次自下向上更新存储器,最后一个存储器的值当即释放掉;

5)第二节拍:第二个节点以外部输入数据值r2和自身的反馈以及第一个节点的存储器上的值乘以相应的权值作为输入数据,在激活函数的作用下产生一个输出值,并与第一节拍类似,依次更新节点上的存储器,最后一个存储器的值当即释放掉;

6)第三节拍:第三个节点以外部输入数据值r3和自身的反馈以及第一个节点存储器和第二个节点存储器上的值,乘以相应的权值作为输入数据在激活函数的作用下产生一个输出值,与第一节拍和第二节拍类似,依次更新节点上的存储器,同样最后一个存储器的值当即释放掉;

7)第四节拍:第四个节点以外部输入数据值r4和自身的反馈以及第一个节点存储器、第二个节点存储器和第三个节点存储器上的值,乘以相应的权值作为输入数据在激活函数的作用下产生一个输出值,并更新存储器;

8)第五节拍:第五个节点以外部输入数据值r5和自身的反馈以及第一个节点存储器、第二个节点存储器、第三个节点存储器和第四个节点存储器的值,乘以相应的权值作为输入数据在激活函数的作用下产生一个输出值;其中第五个节点的输出值即为预测值;

9)每一个节拍中网络的输出计算公式是:

其中,yj(t)表示t时刻节点j的输出,rj(t)为t时刻节点j的外部输入值,bj(t)为节点j的阈值,n是网络节点的个数(即n=5),cik(t)是时刻第i个节点第k个存储器的值,ωij(t)为t时刻第i个节点第j个存储器对应的权值;σj(·)是节点j的激活函数,决定了神经元j的输出;每一个节拍所使用的激活函数是:

其中a为激活函数的幅值,为斜率,通过多次测试后,设定a=1.5,

10)将预测出的值输入目标函数计算误差,其中:

目标函数为绝对误差函数:其中,s为样本总数,h(t)为t时刻对应的输出值,为t时刻对应的真实值;

11)应用qpso算法更新粒子的状态,计算新的输出值的误差,通过不断的迭代寻找出使误差最小的权值和阈值。

在步骤11)中,所述qpso算法更新粒子的状态的具体步骤可为:

(1)qpso训练rpnn时,首先在[-0.5,0.5]区间内随机赋予每一个粒子一个初始状态,粒子的状态由80个维度固定,即75个权值、5个的阈值。

(2)rpnn利用由qpso优化算法确定出的最优粒子及所对应维度代表的权值和阈值计算出预测值,然后将预测值输入目标函数计算误差。

(3)设定误差目标为累计绝对误差es<5%,如果误差没有达到目标或迭代次数不满足条件时,根据量子行为优化的粒子进化公式,更新粒子的状态。

量子行为优化的粒子进化公式:

其中xi,j(t+1)是第i个粒子的第j维在t+1时刻的状态(即t+1时刻的权值和阈值),pi,j(t)是t时刻的吸引子,且pi,j(t)=uj(t)·pi,j(t)+[1-uj(t)]·gj(t),pi,j(t)是第i个粒子的第j维的历史最优状态,gj(t)是粒子群体中第j维的全局最优状态,uj(t)服从在(0,1)区间均匀分布的随机数。α是收缩扩张系数,设定α=(1.0-0.5)×(maxiter-t)/maxiter+0.5;cj(t)是t时刻第j维的平均最好状态,m是粒子的个数,pi,j(t)是t时刻第i个粒子的第j维的历史最优状态,ui,j(t)是服从在(0,1)区间均匀分布的随机数;

(4)网络的权值和阈值(即粒子的状态)按上述量子行为优化的粒子进化公式进化、更新后,计算新的输出值,并将输出值输入目标函数计算误差。通过不断的迭代寻找使误差最小的权值和阈值;

(5)找到使误差最小的权值和阈值后便完成了网络的训练,此时rpnn已获得最优网络参数,代表着混沌吸引子在重构相空间中的非线性映射f,rpnn的存储器中记录的是时间序列的关联信息。假设训练样本中最后一个数据的时间节点是t,那么在网络中输入t-4,t-3,t-2,t-1,t时刻的外部输入值时,便可以获得t+1时刻的预测值,至此该模型完成网络训练和预测功能。

本发明的rpnn训练采用qpso混合智能优化算法,摆脱了原梯度算法对于激活函数高阶可导的限制,扩展了rpnn的多样性。qpso算法具有快速收敛和全局搜索特性,既能快速收敛又能在整个可行解空间中进行搜索,不会散发到无穷远处,保证了不陷入局部极小值。

本发明的qpso优化算法比sapso(模拟退火粒子群)优化算法在对rpnn神经网络优化预测方面,模型参数少、简洁、预测精度更高;编程方面上qpso优化算法比sapso(模拟退火粒子群)优化算法,代码编写工作量少。

本发明首先应用混沌和相空间重构理论,通过饱和关联维(g-p)方法计算混沌金融时间序列吸引子维度,确定rpnn(recurrentpredictorneuralnetwork,简称rpnn)网络的结构,然后通过量子粒子群优化qpso(quantum-behavedparticleswarmoptimization,简称qpso)算法对递归神经网络rpnn训练、最后确定网络的动态最优权值和阈值,使rpnn神经网络仿真预测值与实际值达到最小误差精度。本发明解决了基于梯度算法优化rpnn神经网络易落入局部极小值问题,所建立的qpso-rpnn优化预测方法收敛速度快、搜索具有全局性,编程计算简洁、高效、预测精度高,在金融投资和社会经济中有着广泛的应用。

附图说明

图1为qpso算法流程图。

图2为rpnn结构示意图。

图3为rpnn网络训练结果。

图4为10天上证综指收盘价预测相对误差。

图5为20天上证综指收盘价预测相对误差。

具体实施方式

以下实施例将结合附图对本发明作进一步的说明。

本发明实施例包括以下步骤:

1)计算时间序列吸引子维度,据此选取出嵌入维数为5维,即rpnn的节点数为5个,rpnn的存储器为25个,该网络有5个阈值和75个权值,其结构图如图2所示。

2)粒子的个数为60个,每一个粒子的状态由80个维度来描述,其中75个维度对应rpnn的权值,5个维度对应rpnn的阈值。

3)网络训练时,首先赋予每一个粒子初始状态;rpnn每产生一个预测值要经历5个节拍,其中每一个节拍对应的时间延迟为1天。

4)第一节拍:第一个节点以外部输入数据值r1和自身的反馈即自身存储器上的值乘以相应的权值作为输入数据,然后在激活函数的作用下产生一个输出值,并且将这个输出值存放到第一个存储器中,将原先存放在第一个存储器的值存放到第二个存储器,依次自下向上更新存储器,最后一个存储器的值当即释放掉。

5)第二节拍:第二个节点以外部输入数据值r2和自身的反馈以及第一个节点的存储器上的值乘以相应的权值作为输入数据,在激活函数的作用下产生一个输出值,并与第一节拍类似,依次更新节点上的存储器,同样最后一个存储器的值当即释放掉。

6)第三节拍:第三个节点以外部输入数据值r3和自身的反馈以及第一个节点存储器和第二个节点存储器上的值乘以相应的权值作为输入数据在激活函数的作用下产生一个输出值,与第一和第二节拍类似,依次更新节点上的存储器,同样最后一个存储器的值当即释放掉。

7)第四节拍:第四个节点以外部输入数据值r4和自身的反馈以及第一个节点存储器,第二个节点存储器和第三个节点存储器上的值乘以相应的权值作为输入数据在激活函数的作用下产生一个输出值,存储器更新与上述类似。

8)第五节拍:第五个节点以外部输入数据值r5和自身的反馈以及第一个节点存储器,第二个节点存储器,第三个节点存储器和第四个节点存储器的值乘以相应的权值作为输入数据在激活函数的作用下产生一个输出值;其中第五个节点的输出值即为预测值。

9)上述每一个节拍中网络的输出计算公式是:

其中,yj(t)表示t时刻节点j的输出,rj(t)为t时刻节点j的外部输入值,bj(t)为节点j的阈值,n是网络节点的个数(即n=5),cik(t)是时刻第i个节点第k个存储器的值,ωij(t)为t时刻第i个节点第j个存储器对应的权值。σj(·)是节点j的激活函数,决定了神经元j的输出。每一个节拍所使用的激活函数是:

其中a为激活函数的幅值,为斜率。通过多次测试后,本方法设定a=1.5,

10)将预测出的值输入目标函数计算误差,其中:

目标函数为绝对误差函数:其中,s为样本总数,h(t)为t时刻对应的输出值,为t时刻对应的真实值。

(11)应用qpso算法更新粒子的状态,计算新的输出值的误差。通过不断的迭代寻找出使误差最小的权值和阈值。

在步骤11)中,所述qpso算法更新粒子的状态的具体步骤可为:

(1)qpso训练rpnn时,首先在[-0.5,0.5]区间内随机赋予每一个粒子一个初始状态,粒子的状态由80个维度固定,即75个权值、5个的阈值。

(2)rpnn利用由qpso优化算法确定出的最优粒子及所对应维度代表的权值和阈值计算出预测值,然后将预测值输入目标函数计算误差。

(3)设定误差目标为累计绝对误差es<5%,如果误差没有达到目标或迭代次数不满足条件时,根据量子行为优化的粒子进化公式,更新粒子的状态。

量子行为优化的粒子进化公式:

其中xi,j(t+1)是第i个粒子的第j维在t+1时刻的状态(即t+1时刻的权值和阈值),pi,j(t)是t时刻的吸引子,且pi,j(t)=uj(t)·pi,j(t)+[1-uj(t)]·gj(t),pi,j(t)是第i个粒子的第j维的历史最优状态,gj(t)是粒子群体中第j维的全局最优状态,uj(t)服从在(0,1)区间均匀分布的随机数。α是收缩扩张系数,本方法设定α=(1.0-0.5)×(maxiter-t)/maxiter+0.5;cj(t)是t时刻第j维的平均最好状态,m是粒子的个数,pi,j(t)是t时刻第i个粒子的第j维的历史最优状态,ui,j(t)是服从在(0,1)区间均匀分布的随机数。

(4)网络的权值和阈值(即粒子的状态)按上述量子行为优化的粒子进化公式进化、更新后,计算新的输出值,并将输出值输入目标函数计算误差。通过不断的迭代寻找使误差最小的权值和阈值。

(5)找到使误差最小的权值和阈值后便完成了网络的训练,此时rpnn已获得最优网络参数,代表着混沌吸引子在重构相空间中的非线性映射f,rpnn的存储器中记录的是时间序列的关联信息。假设训练样本中最后一个数据的时间节点是t,那么在网络中输入t-4,t-3,t-2,t-1,t时刻的外部输入值时,便可以获得t+1时刻的预测值。至此该模型完成网络训练和预测功能。qpso算法流程见图1。

以下给出具体实施例:

以上证综指收盘价为研究对象,数据来源于wind资讯金融终端。

数据区间为2013年9月1日至2016年11月1日,共771个数据。

将前751个数据(2013年9月1日至2016年9月27日)作为多重分支时间延迟递归神经网络rpnn的训练样本,并用qpso优化算法训练网络。

如图3所示,将训练好的rpnn进行仿真(此时rpnn已获得最优网络参数,代表着混沌吸引子在重构相空间中的非线性映射f),比较仿真值与样本的拟合情况,检验网络的泛化能力。

用训练好的rpnn进行预测。后20个数据作为预测样本(2016年9月28日至2016年11月1日),采用单步动态方式进行预测,判断网络的预测性能;

对比预测值与样本,计算相关精度指标,定量化评价rpnn的预测性能。

为了定量化分析qpso-rpnn混沌金融时间序列预测模型的预测效果,采用预测相对误差指标来评价;

其中yi和分别是预测值和期望值。预测相对误差指标越接近于0%表明预测效果越好;预测无误差时等于0%。图4和5分别显示出10天和20天的预测相对误差。

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