李娌芝,杨柱元,官心果,何翠玲,王春菊
(云南民族大学 数学与计算机科学学院,昆明 650500)
股票市场作为中国证券市场的主要组成部分,准确地预测股票价格,意味着投资者能获得高回报,政府能对市场进行有效监管.股票价格的变化是一种典型的非线性时间序列,股票的预测方法也是多样的,大致有时间序列分析法[1]、解释性预测法.小波神经网络具有较好的逼近非线性映射[2]的能力.笔者提出基于BP[3]和小波神经网络的预测方法,对股票进行分析和预测.
小波分析是傅里叶分析发展史上的里程碑,小波变换继承和发展了短时傅里叶变换局部化的思想,其在低频部分具有较高的频率分辨率和较低的时间分辨率,在高频部分具有较高的时间分辨率和较低的频率分辨率.小波网络的基本思想是用小波元代替神经元,通过仿射变换建立小波变换和网络系数的连接.小波母函数是正负交替的振荡波形,其平均值为0.
将母函数ψ(t)经过伸缩和平移得到:
其中a为伸缩因子,b为平移因子.对任意函数的连续小波变换为:
(1)
其重构公式(逆变换)为
(2)
小波神经网络是将小波分析理论[4]应用到神经网络中,从而形成的一种前馈网络[5],其有理论指导,且误差函数不存在局部极小点[6],收敛速度快.如果恰当地选择网络的权值、位移和小波函数,则小波神经网络[7]就可以逼近函数f(x).
其中,隐含层输出计算公式为
(3)
小波神经网络的隐节点函数是小波函数,而输入层到隐层的权值和阈值分别为小波的伸缩和平移参数.该文采用的小波函数为Morlet母小波基函数,数学公式为
y=cos(5x)e-x2/2.
(4)
输出层计算公式为
(5)
式中,ωij为隐入层到隐含层权值;cjk隐含层到输出层的权值;h(i)为第个隐含层节点的输出;l为隐含层节点数;m为输出层节点数.
确定了小波网络的结构后,小波基函数的平移和伸缩参数也可事先确定,所以小波网络的可调参数只有权值.由于小波网络的输出与权值是线性的,采用梯度法的学习训练过程具有指数收敛性和抗噪声干扰的鲁棒性.其误差修正过程[8-9]如下.
1) 计算网络预测误差
(6)
2) 根据预测误差e校正小波基函数系数和小波网络的权重.
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
式中,η为学习速率.
小波神经网络算法:
步骤1 网络初始化.随机初始化小波函数伸缩因子ak、平移因子bk以及网络连接权重ωij、ωjk,设置网络学习速率η.
步骤2 样本分类.把样本分为训练样本和测试样本,训练样本用于训练网络,测试样本用于测试网络预测精度.
步骤3 预测输出.把训练样本输入网络,计算网络预测输出并计算网络输出和期望输出的误差e.
步骤4 权值修正.根据误差e修正网络权值和小波函数参数,使网络预测值逼近期望值.
步骤5 判断算法是否结束,若没有结束,则返回步骤3.
本文将浦发银行股票数据作为研究对象,选择2016-12-16—2017-12-10期间的245个数据[10],将该数据分成两部分,将前面206个数据作为网络的训练样本,后面39个数据作为网络的测试样本.
对于上述股票数据,其网络结构和参数设置如下:
首先选择具有单隐层的3层小波神经网络结构.由于股票的交易周期是一周,且只从周一到周五,股票处于交易运作状态,周六和周日处于休息状态.因此选择神经网络的输入层节点数为5,即前5日的收盘价.
神经网络预测用训练好的网络预测函数输出,并对预测结果进行分析,见图1.
将BP网络对股票数据进行分析,其隐含层节点数根据参考公式确定节点数的大致范围,然后用试凑的方法确定最佳节点数.误差精度为0.004,经过2 000次网络训练,得到如下的预测图、预测误差图.
经过训练的网络将预测股票数据的最后39个数据,得到的预测图和误差图如图2:
该文采用小波函数作为隐含层的激励函数,选取适合的尺寸参数和平移参数,调节小波系数来达到对函数的最佳逼近,同时借助小波分析理论指导网络的初始化方法.
隐含层神经元的个数的确定影响预测精度的高低,当确定好隐含层神经元个数后,就可以用训练好的小波网络进行仿真,得到拟合图、拟合误差图、预测图与预测误差图,BP与Morlet小波神经网络预测值图及绝对误差图截取部分如下:
表1 BP与Morlet小波神经网络预测值及相应的绝对误差表
表2 BP神经网络与Morlet小波神经网络平均绝对误差百分比表 %
从表2可以看出,小波神经网络能够更准确地预测股票,其预测值接近于期望值.
小波网络通过训练学习,既能逼近函数的整体,又能刻画函数的变化细节,使得函数的逼近效果更好.这正是它优于其他网络之处.小波网络的可调参数最少,有利于缩短网络的训练时间.