基于改进PSO-GNNM模型的股票价格预测

2018-06-29 11:29林元雄
宿州学院学报 2018年1期
关键词:响应函数关联度灰色

林元雄

福州外语外贸学院经济贸易系,福州,350202

1 提出问题

股票价格预测是证券市场研究领域的重要课题。股票价格是众多因素相互影响的综合结果,想收集所有的影响因素不仅成本高,而且有时也不可能做到。大部分的投资决策是在部分信息已知、部分信息未知的情况下作出的,采用灰色系统理论可以处理这种“贫信息”的预测问题,但是股票价格波动的非线性也难以用精确的模型去拟合。王志远认为传统的时间序列分析、回归分析在股票价格的预测上精度都不高,实用性也不强[1]。邓聚龙将灰色系统和神经网络组合起来建立灰色神经网络模型(Grey Neural Net Model,GNNM)来预测股票价格[2]。为了提高网络的收敛速度和预测精度,本文采用粒子群算法(Particle Swarm Optimization,PSO)对网络的参数进行优化。粒子群算法是智能领域除蚁群算法和遗传算法外的又一智能算法,该算法广泛用于各种参数优化,具有搜索速度快、效率高的特点[3]。但是粒子群算法容易产生“早熟早收敛”,陷入局部最优解而导致预测精度降低[4]。为了避免这个问题,本文对粒子群算法进行改进,加入变异算法,使粒子可以跳出原先的局部搜索区域,在更大的范围内进行参数优化,从而避免陷入局部最优问题。运用改进PSO-GNNM模型,可以提高股票价格预测的精准度,提高投资者的收益率。

2 改进PSO-GNNM模型算法

2.1 灰色关联算法

灰色关联根据各因素间几何形状的相似程度来判断各因素的相关程度,几何形状越接近,关联度越大,在本文中用来筛选对股价有重大影响的指标。灰色关联度计算步骤如下:

2.1.1 确定参考序列和比较序列

假设参考序列为X1=[x1(1),x1(2),…,x1(n)],比较序列为Xi=[xi(1),xi(2),…,xi(n)]。

2.1.2 数据归一化处理。

由于序列间的量纲不一致,必须对序列进行归一化处理,将每个序列不同时刻的点都缩小至0到1之间。本文采用的归一化公式为:

(1)

2.1.3 计算关联系数

(2)

2.1.4 计算关联度

关系系数ξ1,i(k)描述了序列X1和序列Xi第k个时刻关联程度,则序列X1和序列Xi之间有n个关联系数,不利于序列间的直接比较,因此通过计算不同时刻关联系数的平均值,即关联度,来衡量序列间的关联程度。第i个序列关联度计算公式如下:

(3)

2.1.5 关联度排序

将上文计算得出的各个序列的关联度进行排序,关联度越大表示该比较序列对参考序列的影响越大,通过排序可以选出对参考序列影响较大的序列,去掉对参考序列影响不明显的序列,达到指标筛选的目的。

2.2 GNNM算法

GNNM是灰色预测模型和神经网络模型组合的统称,依据选取的灰色预测模型和神经网络模型类型以及两者组合方式,可以构建不同的GNNM模型。本文选取的灰色预测模型是GM(1,N)模型,神经网络模型是BP神经网络模型。两者的组合方式也具有多样化,归纳起来有并联组合、串联组合和嵌入组合。本文采用嵌入组合方式将GM(1,N)模型和BP神经网络组合起来,构建GM-BP模型。嵌入组合的结构如图1所示。

图1 嵌入组合结构

用灰色关联分析筛选出的指标作为灰色神经网络的原始序列,原始序列首先利用公式进行归一化处理。建立模型所用的数据是离散的,GM(1,N)模型最终要建立一个近似微分方程,要求数据具有平滑性,因此要用灰色算子对数据进行处理,本文采用一次累加生成算子(1-AGO)对初始数据进行处理。一次累加生成算子的公式为:

(4)

2≤k≤n

(5)

求出紧邻序列之后就可以建立GM(1,N)基本模型,基本模型为:

(6)

基本模型的未知参数为[a,b2,b3,∧,…,bN],根据已知的输入和输出序列,运用最小二乘法求解基本模型的参数,其计算公式为:

[a,b2,b3,∧,bN]T=(BTB)-1BTY

(7)

GM(1,N)基本模型对时间t求导,可得模型的灰微分方程:

(8)

对灰微分方程进行求解可得到时间响应函数:

(9)

(10)

将转换后的公式用BP神经网络进行求解,可以得到1个输出变量和n个输入变量的灰色神经网络结构,其网络结构如图2所示。

图2 灰色神经网络拓扑结构

(11)

(12)

2.3 改进PSO算法

PSO标准算法下,将粒子视为要优化问题的解,其中假设粒子没有重量和体积,每一个粒子都在优化的目标函数(适应值函数)限制下,在n维搜索空间中进行搜索,每个粒子都有一个速度,并依靠适应值函数的大小来更新它们在搜索空间中的位置[5]。

设目标解有m个,形成了m个微粒,在一个n维的搜索空间中寻优,则将粒子i在n维空间里的位置表示为[6]:

Xi=(xi1,xi2,xi3,…,xin)

粒子i的当前飞行速度:

Vi=(vi1,vi2,…,vin)

标准 PSO算法下的粒子的位置的更新方程,即进化方程如下两式:[7]

vij(t+1)=wvij(t)+c1r1(pij(t)-xij(t))

+c2r2(pgj(t)-xij(t))

(13)

xij(t+1)=xij(t)+vij(t+1)

(14)

设f(X)为适应值,即粒子群算法的求解的最小化的目标函数,则粒子i的当前最好位置的更新规则如下式:

(15)

群体中所有粒子所经历的最好位置Pg(t)由下式确定:

Pg(t)=min{f(P1(t)),f(P2(t)),…,f(Pm(t))}

(16)

其中,t代表迭代次数;Pi=(pi1,pi2,…,pin)为粒子i所经历的具有最好适应值的位置,称为个体最好位置,记为pbest;Pg=(pg1,pg2,…,pgn)为所有粒子经过的最好的位置,称为群体最好位置,记为gbest;c1、c2为加速常数;w为惯性权重;r1、r2为两两相互独立的[0,1]范围内变化的随机数[8]。

根据文献关于粒子收敛行为的分析,从动力学的角度看,粒子群算法中粒子存在一个吸引子P,使得所有的粒子在更新位置进行搜索时,随着速度的减小不断收敛到P点[9]。在整个过程中,被认为在P点处实际上存在着吸引势能场,使得粒子能够收敛找到群体最佳位置。记第i个粒子在吸引子P点的第j维坐标为:

(17)

在标准的PSO算法下,粒子的收敛是以轨道的形式实现的,且粒子的速度总是有限的,因此在搜索过程中粒子不能覆盖整个搜索空间,一般在一个有限的区域就收敛了,不能保证以百分百的概率收敛到搜索中的全局的最优解[6]。为了克服PSO算法的这个缺点,在PSO寻优过程中加入遗传算法的变异操作,在粒子的每次更新后,以一定的概率重新初始化粒子,其算法为:

pi,[2r]=r,r>0.8

(18)

公式中r为0到1之间的随机数,[2r]为随机数2r的四舍五入值,当随机数大于0.8是,第i个粒子的第[2r]个位置将重新取随机数。

图3 改进PSO-GNNM模型流程

嵌入组合是灰色预测和BP神经网络的完全融合,首先利用原始数据建立灰色预测模型,计算出灰色预测模型的时间响应函数,即公式(9)。传统的灰色预测模型采用最小二乘法计算时间响应函数的参数,嵌入组合方式则将时间响应函数映射到BP神经网络中,时间响应函数的参数值设为BP神经网络的参数,利用BP神经网络的寻优求解方程的功能去求解时间响应函数的参数。最后用求出的时间响应函数作出预测。

3 改进PSO-GNNM模型实证

3.1 样本和指标选取

本文选取浦发银行2013年4月份和5月份的40个数据作为样本,前30个样本作为模型的训练样本,后10个样本作为模型的检验样本。模型以每日收盘价作为预测对象,以预测前一日的技术指标作为模型的输入数据,模型的初选指标有成交量、MACD、KDJ、RSI、ADR、PSY、BIAS、WR、BOLL、DMI、ASI、VR、ARBR、DPO、TRIX、BBI。利用关联分析法计算各个指标与收盘价的关联度和关联序,如表1所示。本文选取关联度较高的前6个指标作为股票价格的主影响因素,它们分别是成交量、PSY、RSI、BIAS、MACD、KDJ。

表1 指标关联度及关联序

3.2 模型建立及预测结果比较

模型的实现环境是MatLab 2009,采用MatLab对算法进行编程计算。根据粒子群优化算法,在有6个影响指标的条件下需要优化的初始参数有7个。粒子的最优位置代表参数的最优值,每个粒子有7个维度表示粒子将在7维的空间进行搜索。设定种群规模为30,迭代次数取200次,则PSO和改进PSO的适应度曲线分别如图4和图5所示。

图4 PSO适应度曲线 图5 改进PSO适应度曲线

表2的序号1表示5月20日的股价,以此类推序号10表示5月31日股价,从表2和图6可以看出,采用PSO算法优化的GNNM模型要比GNNM模型的预测精度高,而用改进PSO算法优化的GNNM模型会比单纯PSO算法优化的GNNM模型的预测精度高,由此可见,经过改进PSO算法优化的GNNM模型预测精度较高,稳定性较好。

从图4和图5可以看出,因为改进PSO算法的变异操作存在适应度曲线在收敛的过程中有反复波折的情况出现,收敛的速度相对较慢,但最后适应度曲线几乎收敛于0;而PSO算法容易陷入局部最优,适应度曲线只收敛于0.5左右,没有找到最优参数。

为了检验改进PSO-GNNM模型的预测精度,分别建立GNNM模型、PSO-GNNM模型和改进PSO-GNNM模型并进行预测,将预测结果与实际值进行统计分析,可得三种预测模型的预测误差如表2所示。

4 结 论

由于股票价格的波动受众多因素的影响,并且具有复杂的随机性和非线性等波动特点,导致传统的预测方法的预测精度较低,实证结果表明,GNNM模型能比较准确预测“贫信息、非线性”的股票价格,PSO优化算法通过优化网络的初始参数可以提供模型的预测精度,但是PSO算法容易陷入局部最优,对PSO算法进行改进后可以进一步提供灰色神经网络的预测精度。

参考文献:

[1]王志远,基于灰色神经网络的股票分析预测研究[D].郑州:郑州大学经济学院,2010:32-33

[2]邓聚龙.灰色系统基本方法[M],武汉:华中工学院出版社,1987:43-45

[3]刘思峰,郭天榜,党耀国,等.灰色系统理论及其应用[M].北京:科学出版社,2000:121-123

[4]刘思峰.灰色系统理论及其应用[M].北京:科学出版社,2008:56-58

[5]范艳敏.基于灰色神经网络的股指预测方法研究[D].北京:北京工业大学,2011:32-35

[6]秦勇.基于灰色神经网络的煤矿瓦斯涌出量预测模型研究[D].太原:太原科技大学,2011:36-38

[7]马军杰.基于优化粒子群优化算法的灰色神经网络模型[J].同济大学学报,2012(5):35-40

[8]雷斌.基于优化粒子群优化算法的灰色神经网络的铁路货运量预测[J].计算机应用,2012(10):32-35

[9]刘幸.基于量子粒子群算法的分布式电源多目标优化[D].北京:华北电力大学,2012:23-26

猜你喜欢
响应函数关联度灰色
一类具有Beddington-DeAngelis响应函数的阶段结构捕食模型的稳定性
浅灰色的小猪
中国制造业产业关联度分析
中国制造业产业关联度分析
沉香挥发性成分与其抗肿瘤活性的灰色关联度分析
灰色时代
她、它的灰色时髦观
克服动态问题影响的相机响应函数标定
秦岭太白山地区树轮宽度对气候变化的响应
感觉