张慧斌,高秀萍
(1.忻州师范学院计算机科学与技术系,山西忻州 034000;2.中国人民财产保险股份有限公司德州分公司,山东德州 253020)
基于Elman神经网络的时间序列股票价格短期预测
张慧斌1,高秀萍2
(1.忻州师范学院计算机科学与技术系,山西忻州 034000;2.中国人民财产保险股份有限公司德州分公司,山东德州 253020)
Elman神经网络是一种典型的回归神经网络,比BP神经网络具有更强的计算和适应时变特性的能力,因而非常适用于预测股市这一类极其复杂的非线性动力学系统。文章给出一种基于Elman神经网络的股票市场建模、预测及决策方法,对浦发银行股价在时间序列上作了连续若干天的短期预测,实验结果取得较高的预测精度、较为稳定的预测效果和较快的收敛速度。这表明该预测模型对于个股价格的短期预测是可行和有效的。
Elman神经网络;时间序列;股票价格预测
股票市场是一个复杂的非线性动态系统,存在着非线性和不确定性,其动态机制非常复杂。而近十几年发展起来的神经网络理论逐渐成为非线性动态系统建模与预测的强有力工具,神经网络是一种并行处理大规模非线性系统的方法,它依据数据本身的内在联系建模,具有良好的适应性和自学习能力,神经网络用于分类与预测的功能和作用常被运用于股票系统的预测研究。
从数学上讲,股市的收盘价p=f(n)是日期n的函数,但f(n)的解析式却无法求出。
根据股票理论,股市是可以预测的,至少是短期可预测的。利用Elman神经网络具有逼近任意函数的能力,本文用Matlab的神经网络工具箱建模,建立了五个输入、一个输出的Elman神经网络预测模型,利用浦发银行120个交易日的收盘价作为原始数据,作为Elman神经网络的样本(教师),对上述神经网络进行训练、仿真,并预测后10天的收盘价。计算其与实际收盘价误差,来验证Elman网络模型。
从数学上讲,股票的价格可视为一离散时间序列,即股票的收盘价y=f(n)是日期n的函数。
设已知某股票前n-1天的价格分别是y1,y2,…,yn-1,求第n天的价格yn,则yn=f(n)。f(n)是一个高度非线性函数,其解析式却无法求出。
如何求解yn,可以用传统的数学数值分析方法,利用已知数据求未知数据,方法如下:
(1)用插值公式,得到一个多项式yn=p(y1,y2,…,yn-1),近似地代替yn=f(n);
(2)用数据拟合方法,得到一个多项式yn=f(n),来近似地代替yn=f(n);
(3)采用回归模型或指数平滑模型,得到f(n)的近似解析式。
以上的数值方法,在处理高度非线性问题时并不能得到很好的效果,得到的f(n)的近似解析式并不总是收敛于f(n),有时误差很大,甚至发散[1-3]。因此,这些方法都无法作为股票价格预测的依据。
Elman神经网络是从输入到输出的高度非线性映射,即f:Rn→Rm,f(X)=Y,其中,X=(x1,x2,…,xn),Y=(y1,y2,…,ym)。对于样本集合,输入x∈Rn和输出y∈Rm之间存在某一映射函数g(·),使得y=g(x)。现用一个Elman神经网络实现映射函数f(·),f是g的最佳逼近。Elman神经网络通过对简单的非线性函数进行数次线性组合来近似更复杂的非线性函数。
2.1 Elman神经网络的结构
Elman神经网络,是一种带有反馈的两层BP神经网络结构。它主要由输入层、隐层、连接层和输出层4部分组成(如图1),是在传统BP神经网络的基本结构上,又增加一个反馈层(连接层)来存储内部状态,使系统具有适应时变特性的能力,从而适合用来建立时间序列的预测模型。该模型是在BP神经网络的隐层中增加一个反馈层,该层从隐含层接收反馈信号,其神经元的输出再被前向传输至隐含层,因此作为一步延时算子,达到记忆的目的,它是一种反馈动力学系统,能直接反映动态过程系统的特性。
图1 Elman神经网络
Elman神经网络具有BP神经网络的优点,即只要选取适当的神经元个数能够在任意精度上逼近一个非线性连续函数;又因为它有一个反馈连接,所以收敛速度比BP神经网络快得多,训练后不仅能够识别和产生空间模式,还能够识别和产生时间模式。这样,Elman神经网络给用于时间序列的股票价格预测的建模提供了理论保证。
2.2 输入层和输出层神经元数目
显然,输入层和输出层的神经元数目是由问题本身直接决定的。
本论文用神经网络模型预测股票价格,在前面己经讨论了利用前n-1天的数据去预测第n天的股票价格,那么n-1选取多大比较合适。在试验中,选取5天的数据去预测下一天的股票价格,所以在本论文中,神经网络的输入层神经元数目设计为5个,即5个神经元。
另外,因为本神经网络只是预测下一天的股票收盘价,所以输出层神经元数目设计为1个神经元。
2.3 隐含层神经元数目
隐层神经元数目的选择是一个比较复杂的问题,因为没有很好的解析式来表示,目前尚无准确的理论和方法。隐层神经元数目与问题的要求和输入、输出单元的多少都直接相关。在实际应用中,由于逼近的股票价格函数变化剧烈波动很大,所以要求调整的联接权数很多,因此隐层单元应该多一些;而且更多的隐层单元能够提供更高的逼近精度。在试验中,通过逐渐增加和减少隐层神经元数目方法,最终确定的隐层单元数为9个,即9个神经元。
2.4 神经元传递函数
线性输出层的函数选取函数Purelin(x),即Purelin(x)=x。
2.5 预测工具介绍
在本文的建模预测和计算过程中,采用了Matlab7.1数学计算工具,该软件包含有功能丰富的神经网络函数和工具集合。
2.6 Elman神经网络的学习算法
Elman神经网络可以用BP算法进行训练,也可以采用遗传算法进行训练[4]。本文中的Elman神经网络模型采用BP算法进行训练。
利用MATLAB的神经网络工具箱中的函数,以浦发银行100个交易日的收盘价作为样本(教师),对本文设计的神经络进行训练学习,并预测最后10天的收盘价,同时计算误差。
在神经网络训练过程中,经过约100次的学习后,网络趋于稳定,基本收敛,误差收敛过程如图2所示:
图2 Elman神经网络的误差收敛过程曲线图
根据训练好的神经网络预测模型,预测10天后的股票价格,结果和误差如表1所示,神经网络的期望值和输出值效果对比图如图3所示。
表1 Elman神经网络预测效果表
由表1和图3,可以看出,除个别点有比较大的误差外,其他点的预测结果误差很小,结果相当令人满意。
再仔细观察误差较大的点,可以发现,这些点都处在股价走势图的拐点处。用本文中的神经网络模型对其他股票价格进行训练仿真预测,大部分结果数据都是比较精确的,同时发现,那些误差较大的少部分数据,集中在股票价格走势图的拐点处和曲率变化很大的点处(即股票价格变化很大点处),用数学描述就是在f′(x)=0和f′(x)有显著变化的区间内。
图3 时间序列10日内预测结果与实际期望值对比图
由上述实验结果可以看出,股票价格的变化是有一定规律的,在一定范围内可预测的,至少是预测到的短期内的结果由很大的概率是比较准确的。本文采用的Elman神经网络有较好的短期预测效果,通过观察神经网络训练过程,发现,网络参数收敛快且没有振荡,其精确度和与实际走势的相似度都可以达到一定要求。
股票市场是一个复杂的非线性系统,存在着非线性和不确定性,其动态机制非常复杂。影响股票价格的因素很多,如政治因素、汇市和国际经济环境等[5]。本文只考虑了股票价格所构成的时间序列,因此对股票价格的函数yn=f(n)考虑到其他因素的影响,根据实验结果和数据分析,本文提出这样的假说:f(n)是分段函数。对于这样的假说需要进一步理论研究和实验研究。
实际上,大多数投资者最关心的是股价的升降走势而不是其精确值。根据实验结果和数据分析,用本文的Elman神经网络预测股票价格模型是有一定参考价值的。
[1]TA EKSOOS,INGOOH.Optimal signal multi-resolution by genetic algorithms to support artificial neural network for exchangerate forecasting[J].Expert System with Application,2000(18):257-269.
[2]CHUNG Kim-kwong.Financial forecasting using neural net work or machine learning techniques[D].Brisbane:University of Queensland,2001.
[3]时小虎,梁艳春,徐旭.改进Elman模型与递归反传控制神经网络[J].软件学报,2003,14(6):1110-1119.
[4]戴葵.神经网络设计[M].北京:机械工业出版社,2005.
[5]李国勇.智能控制及其MATLAB实现[M].北京:电子工业出版社,2006.
〔编辑 高海〕
Short-term Prediction on Time Series of Stock Price based on Elman Neural Network
ZHANG Hui-bin1,GAO Xiu-ping2
(1.Department of Computer Science and Technology,Xinzhou Teachers College,Xinzhou Shanxi,034000;2.PICC at Dezhou,Dezhou Shandong,253020)
Elman neural network is a classical kind of recurrent neural network。It has greater ability to calculate than BP neural network.Thanks to its characteristic of adapting time variability,Elman neural network is very suitable to predict complicated nonlinear dynamics system such as stock market.This paper provides a stock market model and an approach to predict and decide based on Elman neural network.Meanwhile the author makes a short-term prediction on time series of PuFa Bank's stock price.The results of the experiment get higher precision,steadier forecasting effect and more rapid convergence speed.It shows that this kind of model is feasible and efficient to predict short-term stock price.
Elman neural network;time series;stock price prediction
TP183
A
1674-0874(2011)02-0005-03
2010-11-26
张慧斌(1971-),男,山西忻州人,讲师,研究方向:人工智能和密码学。