小波分析下的神经网络股票预测研究
2016-07-02孙冰洁黄明和
孙冰洁 唐 瑞 左 毅 黄明和
(1.江西师范大学软件学院 南昌 330022)(2.江西省科技型中小企业创新基金管理中心 南昌 330046)
小波分析下的神经网络股票预测研究
孙冰洁1唐瑞1左毅2黄明和1
(1.江西师范大学软件学院南昌330022)(2.江西省科技型中小企业创新基金管理中心南昌330046)
摘要研究股票价格准确预测问题。股票市场是一个非常复杂的非线性动力学系统,传统的时间序列预测方法很难揭示其内在规律,预测结果误差较大。论文利用小波分解与重构,将原始非平稳时间序列分解为不同尺度下的时间序列分量,依照其各自特点,分别采用Elman神经网络和BP神经网络模型,对各层系数进行建模与预测,通过整合各层系数,得到原始时间序列的预测值。通过对沪深300指数的仿真预测实验表明,基于小波分解的神经网络组合预测方法比传统神经网络预测方法的预测精度明显提高,具有实际的推广应用价值。
关键词小波分解与重构; 神经网络; 股票预测; 沪深300指数
Class NumberTP391
1引言
随着我国市场经济的繁荣发展,股票走进了千家万户,成为许多人息息相关的投资产品。因此,对股票走势的预测成为越来越多人所关注的课题。准确预测股票价格的运行态势,不论对于政府宏观管理,还是对于投资者而言,都有很强的现实意义[1]。
人工智能和计算机技术的迅猛发展,尤其是人工神经网络技术的出现,给股票预测研究提供了新的研究方向。随着神经网络理论日趋完善,国内外学者对其在股票市场的建模和预测方面进行了大量研究,并取得了突出的研究成果。Cao等[2]采用小波神经网络、Shi等[3]采用回声向量机、Han等[4]用递归神经网络分别对股票走势进行了预测。2010年,冯兴杰和孟欣建立了基于遗传算法的神经网络对股票走势进行了短期预测,改进后的模型在预测精度方面显著提高[5]。翁苏骏等利用RBF神经网络、BP神经网络和Elman反馈神经网络进行股票价格的短期预测,实验结果表明反馈神经网络的预测能力高于前馈神经网络[6]。
然而,股票市场的价格走势极为复杂,单一的预测模型以及对股票价格的直接预测无法揭示其内在规律,预测精度无法进一步提高。本文在小波分解与重构的基础上,对不同尺度下的时间序列分量进行拟合预测,预测精度明显提高。
2股票价格预测的基本思想
高噪声、严重非线性和投资者的盲目任意性等因素决定了股票预测的复杂与困难度,应用现有的技术分析方法,预测结果精度较低[7]。
随着小波分析理论的提出与发展,因其多尺度分析的特性,而且在时频两域都具有表征信号局部特征的能力,被广泛应用于信号分析与处理。近年来,小波分析方法也被引入到经济和金融领域,并显示出其独特的优势。
本文在小波分解与重构的基础上,将原始时间序列分解成一个低频序列和若干个高频序列,分别采用动态Elman神经网络和传统静态BP神经网络模型进行拟合预测,分而治之,通过整合各层预测结果,得到原始时间序列的预测值。这样,传统的预测方法就可以应用在非平稳的时间序列研究中,从而为某些非平稳时间序列的预测提供了一种新的方法。建模预测过程可以用图1描述。
图1 基于小波分析的股票预测模型建模过程
3股票价格预测的基本理论
3.1小波的分解与重构
小波变换的实质是将信号f(t)分解在基函数的不同频带上的子信号。小波具有多分辨率的特点,可以由粗到细地逐步观察信号。
在股票预测分析中,原始时间序列就是一组信号值。利用多尺度分解,将原始序列分解到不同的频率上。由于分解后的序列在频率成分上比原始序列单一,并且小波分解对原始序列作了平滑处理,因此对分解后的时间序列建模得到的结果更准确。
多尺度分析是小波分析中一种对信号的空间分解的方法,多尺度分析理论认为任何一个信号都可以分解为两部分:低频(主体信息)和高频(细节纹理)。为了将信号的低频与高频部分分开处理,Mallat提出了信号的塔式多尺度分解与重构的著名算法,称为Mallat算法[8],其算法的主要思想是:将有限能量信号f∈L2(R)在分辨率2j下的近似Cjf分解为分辨率2j-1下的近似Cj-1f,以及位于分辨率2j-1和2j之间的细节纹理Dj-1f之和。分解过程如图2所示。
图2 Mallat塔式分解过程
根据上述分解原理,得到Mallat塔式分解算法递推公式的矩阵表达形式:
(1)
其中,Cj,Dj分别是小波系数的列向量形式;h0,h1为相应的多尺度分析中滤波器的低通滤波与高通滤波系数。
分解后的各层小波系数可以通过单支重构恢复到原序列长度,使之具有与原序列时间尺度一致的性质[9]。有相应的重构公式:
(2)
3.2BP神经网络模型
由于BP神经网络具有构造简单、并行处理和有效解决非线性目标函数的逼近问题的能力而被广泛应用于信号处理、模式识别、系统辨识等学科领域中[9]。
股票市场的潜在规律通过BP神经网络模型来学习,进而预测股票价格未来走势,这对研究股票市场的非常规性的涨跌具有极其重要的意义。
BP网络是一种分层型的典型多层网络,具有输入层、隐含层和输出层,层与层之间多采用全连接的方式。一个典型的三层BP神经网络如图3所示。
图3 三层BP神经网络结构图
BP算法由两部分组成:信息的正向传递和误差的反向传播。具体学习过程如下:
步骤1:信息的正向传递
1) 隐含层中第i个神经元的输出为
(3)
2) 输出层第k个神经元的输出为
(4)
3) 定义误差函数为
(5)
步骤2:利用梯度下降法求权值变化及误差的反向传播
1) 输出层的权值变化。对从第i个输入到第k个输出的权值,有:
(6)
2) 隐含层权值变化。对从第j个输入到第i个输出的权值,有:
(7)
3.3Elman神经网络模型
Elman神经网络可以看做是一个具有局部记忆单元和局部反馈连接的前向神经网络。它与BP神经网络具有相似的多层结构,不同之处在于它多了一个承接层,如图4所示。
图4 Elman神经网络结构图
承接层从隐含层接收反馈信号,用来记忆隐含层神经元前一时刻的输出值,承接层神经元的输出经延迟与存储,再输入到隐含层。这样就使其对历史数据具有敏感性,增加了网络自身处理动态信息的能力。
这样,Elman神经网络给用于时间序列的股票价格预测的建模提供了理论保证。其学习算法采用BP算法。
3.4误差分析
对序列的建模预测分析是为了探寻序列现象内在的关系,而预测效果的好坏则是检验这种关系存在与否以及解析力度大小的标准[10]。
一般地,对预测结果采用误差形式进行评价,常用的衡量观测值与实际值之间的偏差参数如下:
1) 均方误差(Mean Squared Error)
(8)
2) 均方根误差(Root Mean Squared Error)
(9)
3) 平均绝对误差(Mean Absolute Error)
(10)
4) 平均绝对相对误差(Mean Absolute Percent Error)
(11)
4股票价格预测的建模仿真
4.1样本选取和数据划分
沪深300指数股是从沪市和深市共挑选300只具有代表性的股票作为指标股,它能很好地反应市场的整体水平和情况。本文选取沪深300指数2013年6月4日至2014年9月30日共325个交易日的收盘价数据,预测未来20天的收盘价。
本文进行股票预测的分析周期选取5日,依次将顺序五天的数据作为网络的输入数据,其后一天的数据作为网络输出即目标数据,按此方式进行滚动式排列,形成神经网络的训练样本。
4.2原始序列的小波分解与重构
选取db4小波基函数对样本数据进行三层小波分解,并对小波分解后的各层小波系数进行单支重构,获得与原实际序列时间尺度一致的各层小波系数,如图5所示。
其中,x是原始数据,a3代表低频成分,d1,d2,d3为不同频率的高频成分,低频成分a3与原始数据x的趋势大体相同,d1,d2,d3均围绕零上下波动,说明其趋势项已得到很好的分离,然后采用上述的分别建模预测原理,对其进行预测。
图5 原始序列重构后各层小波系数
4.3低频序列和高频序列的建模预测
低频序列代表非平稳时间序列分析中的长期走势,适合有良好记忆性的动态Elman神经网络进行建模预测,隐层网络采用tansig传递函数,输出层采用purelin传递函数,学习函数采用traingdx。在Matlab中进行仿真建模,预测结果如图6所示。
图6 基于Elman神经网络的低频序列预测
从图6中可以看出,低频序列的预测值和实际值基本吻合,在转折点处误差较大。
高频序列代表波动项,它包含周期项和随机项,在金融数据等实际的时间序列问题中,高频信息成分常常就是随机因素,可以认为其对历史数据不具有敏感性,因而使用传统静态BP神经网络分别对三个高频序列进行建模预测。仿真结果表明:高频序列的预测结果和实际值吻合良好,文中不逐一列出。
4.4预测结果及比较分析
整合各层序列的预测结果,得到原始时间序列的预测值,预测结果如图7所示。
为了验证本文提出的基于小波分析的神经网络组合预测方法在预测精度方面的优越性能,同时采用了传统BP神经网络对原始序列进行预测。预测结果如图8所示。
图7 基于小波分析的股票价格预测
图8 基于BP神经网络的股票价格预测
由以上两图可以明显看出基于小波分析的神经网络组合预测结果优于BP神经网络的直接预测,前者不仅在数值上更接近实际值,而且在趋势上更符合股票的实际涨跌情况,比如在第8、11和第14个交易日很好地纠正了BP神经网络预测趋势相反的情况,这正是投资者更为关注的。
为了进一步检验基于小波分析的神经网络组合预测模型的适用性和可靠性,根据3.4节误差分析计算公式,将其预测结果和单一的BP神经网络模型的误差评价指标作对比分析,结果如表1所示。
表1 实验误差结果比较
对比可知,基于小波分析的神经网络模型的预测方法明显优于传统BP神经网络模型。
5结语
由于股票价格序列中各种因素交织在一起,使得序列变得复杂,难以准确预测。而小波分析的最大优势在于能将时间序列按不同尺度分解成不同的层次,这样就可以根据不同层次序列的特点,分而治之,预测精度明显提高。通过对沪深300指数进行仿真预测,并与直接利用BP神经网络模型的预测效果进行比较,表明本文提出的基于小波分析的神经网络预测模型是可行的,具有实际应用价值。
参 考 文 献
[1] 杨耀宇.基于支持向量机的沪深300指数预测研究[D].上海:上海师范大学,2014.
YANG Yaoyu. Prediction of CSI 300 index based on support vector machine[D]. Shanghai: Shanghai Normal University,2014.
[2] CAO L Y, HONG Y G, FANG H P. Predicting chaotic time series with wavelet networks[J]. Physica D,1995,85(1/2):225-238.
[3] SHI Z W, HAN M. Support vector echo state machine for chaotic time series prediction[J]. IEEE Transactions on Neural Networks,2007,18(2):359-372.
[4] HAN M, XI J H, XU S G. Prediction of chaotic time series based on the recurrent predictor neural network[J]. IEEE Transactions on Signal Processing,2004,52(12):3409-3416.
[5] 冯兴杰,孟欣.基于参数修正的BP改进算法的股票价格预测[J]. International Conference on Services, Management and Engineering,2010.
FENG Xingjie, MENG Xin. Stock pirce prediction based on BP improved algorithm of parameter revision[J]. International Conference on Services, Management and Engineering,2010.
[6] 翁苏骏,林熙.BP网络、RBF网络和Elman网络在股价预测中的应用[C]//中国智能自动化学术会议论文集,1999.
WENG Sujun, LIN Xi. The application of BP network, RBF nerwork and Elman network in stock price forecast[C]//China Intelligent Automation Conference Proceedings,1999.
[7] 赵焕平,张凌晓,杨新锋.CAR-BPNN在股票价格预测中的应用[J].计算机仿真,2012,29(1):348-351.
ZHAO Huangping, ZHANG Lingxiao, YANG Xinfeng. Application on Stock Price Prediction Based on CAR and BPNN[J]. Computer Simulation,2012,29(1):348-351.
[8] Mallat S G. Multi-frequency channel decom- positions of images and wavelet models[J]. IEEE Transactions on Acoustics, Speech and Signal Processing,1989,12:2091-2110.
[9] 王学武,谭得键.神经网络的应用与发展趋势[J].计算机工程与应用,2003,39(3):98-100.
WANG Xuewu, TAN Dejian. Application and Developing Trends of Neural Network[J]. Computer Engineering and Application,2003,39(3):98-100.
[10] 黎志勇,李宁.基于小波的非平稳时间序列预测方法研究[J].计算机工程与应用,2014,50(10):38-43.LI Zhiyong, LI Ning. Research on non-stationary time series forecasting method based on wavelet[J]. Computer Engineering and Applications,2014,50(10):38-43.
Neural Network Stock Prediction Based on Wavelet Analysis
SUN Bingjie1TANG Rui1ZUO Yi2HUANG Minghe1
(1. College of Software, Jiangxi Normal University, Nanchang330022)(2. Jiangxi Provincial Administration Center of Innovation Foundation for Scientific Small-and-medium-sized Enterprises, Nanchang330046)
AbstractStock price prediction is current research hotspot. The stock market is a very complicated nonlinear dynamic system, the traditional time series forecasting merhods are difficult to reveal the inherent law, prediction results are often unsatisfactory. By using wavelet decomposed and reconstruction, the original non-stationary time series is decomposed into the time series components of different scales. According to their respective characteristics, the Elman neural network and BP neural network model are used to model and predict the coefficients of each layer, and the prediction value of the original time series is obtained by integrating the coefficients. The forecasting results of the CSI 300 index show that the forecasting accruacy of the neural network combination forecasting method based on wavelet decomposition is improved significantly than the traditional neural network forecasting method, which has the practical application value.
Key Wordswavelet decomposition and reconstruction, neural network, stock prediction, CSI 300 index
收稿日期:2015年12月7日,修回日期:2016年1月26日
作者简介:孙冰洁,女,硕士研究生,研究方向:数据挖掘。唐瑞,男,硕士研究生,研究方向:数据挖掘,室内定位。左毅,男,助理研究员,研究方向:数据挖掘。黄明和,男,硕士生导师,研究方向:数据挖掘,算法设计与分析。
中图分类号TP391
DOI:10.3969/j.issn.1672-9722.2016.06.010