王晓洁
(新乡学院 计算机与信息工程学院,河南 新乡453003)
基于Elman递归神经网络的股价的短期预测
王晓洁
(新乡学院 计算机与信息工程学院,河南 新乡453003)
Elman神经网络是一种典型的局部递归神经网络,非常适合用于如金融时间序列这样复杂的非线性动力学系统的预测中。用美菱电器(股票代码:000521)和上海电力(股票代码:600021)的280天的实际开盘价作为时间序列预测的样本,用Elman递归神经网络方法建立股票价格预测模型。通过Matlab软件对其预测过程进行仿真实验,验证了Elman神经网络建立的股票开盘价短期预测模型具有收敛速度快、预测精度高等优点。
Elman神经网络;时间序列;股票价格;预测模型
股票市场是一个复杂的非线性动力学系统,利用传统的线性技术难以揭示股票市场的内在规律,而神经网络具有的非线性映射能力、自学习能力等优点使它非常适合于股票相关性分析和预测。
股市预测中经常使用的是静态前馈神经网络,但股票预测却是个动态的时间建模问题,尤其是在个股的开盘价预测中,只利用过去短期的个股开盘价来预测下一期股价,相当于一个时间序列问题,而静态前馈神经网络不适合处理时间序列这样的动态建模问题。Elman神经网络是一种典型的局部递归动态神经网络,与静态前馈神经网络相比,它在网络结构上多了一个由多个“连接”单元组成的反馈层,用于记忆隐含层前一时刻的状态,这就使Elman神经网络拥有映射动态特征的功能,从而具有了适应时变特性的能力[1]。
本文介绍Elman递归神经网络,并使用Matlab工具实现个股开盘价的预测模型,分别对上海证券交易所(上证)美菱电器(股票代码:000521)和上海电力(股票代码:600021)两只股票进行了实际预测。
Elman神经网络在输入层、隐含层和输出层组成的静态前馈网络结构上,增加由一组“连接”单元组成的反馈层。该层用于记忆隐含层前一时刻的状态,并在下一时刻与网络的输入一起作为隐含层的输入,使系统具有处理动态信息的能力。因此,Elman神经网络特别适合建立时间序列的预测模型[2]。Elman递归神经网络结构[3–4]见图1。
在图1中,圆形神经元节点为输入层1,矩形神经元节点为隐含层2,深色填充的菱形神经元节点为反馈层3,三角形神经元节点为输出层4,X(t)=(x1(t),x2(t),…,xM(t))为输入层的输入向量,H(t)=(h1(t),h2(t),…,hI(t))为隐含层的输出向量,C(t)=(c1(t),c2(t),…,cI(t))为反馈层的输出向量,Y(t)=(y1(t),y2(t),…,yN(t))为输出层的输出向量。wmi为输入层的第m个神经元节点到隐含层第i个神经元节点的连接权值。令m∈[1,M],i∈[1,I],即可构成输入层到隐含层的权值矩阵W12,同理W32为反馈层到隐含层的权值矩阵,W24为隐含层到输出层的权值矩阵。因此,Elman神经网络的数学模型是
隐含层的神经元传递函数f(·)采用“tansig”非线性函数,即双曲双切函数
连接层和输出层的神经元传递函数g(·)采用“purelin”纯线性函数purelin(x)=x。
图1 Elman递归神经网络结构示意图
2.1确定神经元数目
我们没有采用股市的其他经济指标,而仅采用过去连续若干期的开盘价来预测当期的开盘价,因此可以用Elman神经网络来实现,映射函数为xn=f(xn-1,xn-2,…,xn-N),这里的xn-1,xn-2,…,xn-N则是第n期的前N期股价。
我们利用第n期的前N期股价来预测第n期的股价。在实验中,N设置为5,即当期的开盘价应是由前5期的开盘价计算得到的,故Elman网络的输入层神经元数目设计为5。由于只是预测下一期的开盘价,故输出层神经元数目设计为1。
隐含层节点数的选择是一个重要且困难的问题:如果隐含层神经元数目过少,则网络缺乏必要的学习能力和信息处理能力;如果隐含层神经元数目过多,则会增加网络结构的复杂性,降低网络学习速度。因此,我们决定在Kolmogorov定理的范围内进行加减法[5]。由Kolmogorov定理可知,在神经网络构建中,如隐含层神经元数目为n2,输入层为n1,输出层为n4,a是1到10之间的值,则n2=sqrt(n1+n4+1)+a。我们采用在sqrt(n1+n4+1)=3基础上逐渐增加或减少隐含层神经元数目方法,经过反复实验,在10个网络结构5-4-1、5-5-1、5-6-1、5-7-1、5-8-1、5-8-1、5-9-1、5-10-1、5-11-1、5-12-1和5-13-1中进行选择,得出美菱电器(股票代码:000521)适用的最佳网络是5-12-1,上海电力(股票代码:600021)适用的最佳网络是5-10-1。
2.2构造样本集
构造样本集的方法是将每期股价的前N期股价提取出来,构造自变量,将当期的股价作为结果输出。用Matlab进行编程实现网络训练和预测,数据为上证A股中美菱电器(股票代码:000521)和上海电力(股票代码:600021)从2015年5月27日至2016年7月15日共280个交易日的开盘价格。将选择的280个交易日的开盘价数据保存在280×1的向量中,再从中抽取x1,x2,…,x6为一个样本,这里x1,x2,…,x5为自变量,x6为期望输出,依此类推,将280×1的向量转换成一个6×275的矩阵,即
矩阵中每一列为一个样本,共275个样本,最后一行为期望输出。在本文中,取前175个样本作为训练样本,后100个样本作为测试样本。
2.3实验结果模拟
实验平台采用Matlab2014a开发环境,PC机的处理器为Dual-Core 2.7 GHz,内存为2 G。神经网络的训练次数均为2 000次,目标误差设为0.000 1,采用BP算法来修正Elman的权值,训练函数和学习函数分别选取自适应学习速率动量梯度下降反向传播训练函数traingdx和梯度下降动量学习函数learndm。
在Elman网络创建好后,对训练样本进行网络训练,美菱电器的网络实际输出与真实值之间的均方误差值为0.128 521,上海电力的网络实际输出与真实值之间的均方误差值为0.854 583。通过图2和图3可以看到,训练得到的网络和训练数据本身有着非常高的拟合度。
图2 美菱电器训练样本数据的测试结果
图3 上海电力训练样本数据的测试结果
将测试样本输入训练好的网络中得到:美菱电器的网络实际输出与真实值之间的均方误差值为0.020 442,平均绝对误差为0.110 101,运行时间为6 s;上海电力的网络实际输出与真实值之间的均方误差值为0.087 023,平均绝对误差为0.200 669,运行时间为5 s。通过图4和图5可以看到,Elman网络输出预测值与股价真实值的变化趋势一致,预测值曲线与股价真实值曲线比较贴近,网络性能良好。
图4 美菱电器测试样本数据的测试结果
图5 上海电力测试样本数据的测试结果
通过对两只股票的实验结果分析可以看出,Elman递归神经网络的预测效果较为稳定,收敛速度较快。这说明了Elman递归神经网络模型用于股价短期预测的可行性,该模型的预测结果一致率较高,在大多数情况下可以准确预测股价短期的变化趋势及变化空间,对于投资者有一定的参考价值。
[1]李明,韩旭明,王丽敏.一种改进的Elman神经网络及其在股市中的应用[J].计算机工程与应用,2006,42(34):218-220.
[2]刘华春.基于Elman神经网络的股市决策模型[J].计算机应用,2009,9(29):152-154.
[3]王洪元,史国栋.人工神经网络技术及其应用[M].北京:中国石化出版社,2003:1-10.
[4]韩旭明.Elman神经网络的应用研究[D].天津:天津大学,2006.
[5]刘耦耕,李圣清,肖强晖.多层前馈人工神经网络结构研究[J].湖南师范大学自然科学学报,2004,27(1):26-30.
【责任编辑梅欣丽】
Short Term Prediction of Stock Price Based on Elman Recursive Neural Network
WANG Xiaojie
(College of Computer and Information Engineering,Xinxiang University,Xinxiang 453003,China)
Elman neural network is a typical local recurrent neural network,which is very suitable for the prediction of complex nonlinear dynamic system such as financial time series.This paper used Mei ling electronics(Stock Code:000521)and Shanghai electric power(Stock Code:600021)for 280 days of the actual opening price as time series prediction samples.It used the Elman recursive neural network method to establish the stock price forecasting model and simulate prediction process through the Matlab software.In this way,the stock opening price short-term forecasting model had the advantages of fast convergence and high precision.
Elman neural network;time series;stock price;forecasting model
TP391
A
2095-7726(2016)09-0027-03
2016-07-20
王晓洁(1979-),女,河南新乡人,讲师,硕士,研究方向:模式识别和神经网络。