张 斌
(西南交通大学信息科学与技术学院 四川 成都 610031)
基于回声状态网络的短期股价预测模型
张 斌
(西南交通大学信息科学与技术学院 四川 成都 610031)
针对传统单只股票预测模型预测精度低以及传统神经网络训练过程复杂的问题,提出一种基于ESN(Echo State Network)的地区行业通用模型,该模型可预测同地区同行业内任意股票。使用ESN建立了上海地区房地产行业的股价预测通用模型,简化了训练过程,且与单只股票预测模型相比,该通用模型预测精度明显提高。在通用模型基础上提出一种基于数据波动性聚类的KMeans-ESN模型,通过实验得出:基于ESN的短期股价预测地区行业通用模型适合波动大的数据、基于数据波动性聚类的KMeans-ESN短期股价预测模型适合波动小的数据。
KMeans 回声状态网络 短期股价预测 通用模型 波动性
众所周知,证券市场在我国的国民经济发展中起着极其重要的作用,而股票作为一种人们非常熟悉的证券形式,是证券市场的重要组成部分。目前,研究股价预测的学者越来越多。人们相继提出的分析方法有基本分析、技术分析和时间序列分析等[1]。股票市场是一个非常复杂的系统,其受到经济、政策以及市场等因素的影响[2]。针对如此复杂的动态非线性系统,许多研究人员采用BP神经网络进行股票价格预测。
目前,BP神经网络是用于非线性系统预测的较为常用的方法。但是传统神经网络预测模型中存在训练过程复杂的问题,而且由于股票价格受诸多因素影响,呈现出不同的特点,单一的模型往往难以满足股票预测需求,同时,大多股价预测模型为单只股票模型,即该模型只包含单只股票信息,并没有包含与该只股票处于同一地区(考虑到不同地区的相关政策不同,因此将地区限制在同一地区比较合理)同一行业的其余股票信息。而一只股票的价格不仅受该股票所属公司影响,而且受同一地区同一行业内其余股票公司即竞争者影响,这使得单只股票预测模型不能涵盖影响单只股票价格的所有因素,导致预测精度不高,预测过程繁琐复杂。
针对上述存在的问题,本文提出一种基于回声状态网络的地区行业通用短期股价预测模型,并建立上海地区房地产行业通用模型,简化了训练过程。模型训练好后可预测上海地区房地产行业内任意股票,且与单只股票预测模型相比,该行业通用模型的预测精度明显提高。同时,在通用模型基础上本文提出了基于数据波动性聚类的KMeans-ESN短期股价预测模型。通过将两类模型进行实验对比得出两类模型各自适用的数据类型,即基于ESN的短期股价预测模型适合波动大的数据、基于数据波动性聚类的KMeans-ESN短期股价预测模型适合波动小的数据。
1.1 KMeans算法
KMeans算法是数据挖掘十大经典算法之一,其基本思想是给定参数K和K个初始聚类中心,计算原始数据与聚类中心的距离(一般使用欧氏距离),并通过迭代的方式更新聚类中心,直到聚类中心几乎不再变化,此时将原始数据分为K类,使得类内具有较高相似度,类间具有较低相似度[3]。
假设要将样本集分为K类,算法步骤如下:
(1) 随机选择K个类的初始中心;
(2) 在第i次迭代中,对任意一个样本,计算其到K个中心的距离,并将样本归到距离最短的中心所在的类;
(3) 使用均值等方法更新类的中心值;
(4) 对于所有K个聚类中心,若利用(2)、(3)的迭代法更新后,其值几乎不再变化或达到最大迭代次数,则迭代结束,否则继续迭代。
1.2 回声状态网络
回声状态网络ESN的基本思想是通过初始参数的合理设置及网络初始化动态地产生一个高维非线性空间,使得系统的期望输出能够从该非线性空间组合得出。ESN已经在非线性系统辨识、时间序列预测等领域得到广泛应用。它的很好的短期记忆能力更加使得它在时间序列预测方面成为不二选择。
ESN是由不来梅雅各布大学教授Herbert Jaeger提出的一种新型递归神经网络算法。他指出递归神经网络在第n时刻的内部状态x(n)是前n个时刻输入u(n),u(n-1),…,u(1)的函数,即可将第n时刻的内部状态理解为历史输入的“回声”[4]。其公式描述如下:
x(n)=E(u(n),u(n-1),…)
(1)
基本回声状态网络结构如图1所示。
图1 基本回声状态网络结构图
基本的回声状态网络结构类似神经网络,由输入层,储备池和输出层构成。其中,K为输入节点数,N为储备池节点数、L为输出节点数。在n时刻输入节点的输入为u(n)=(u1(n),u2(n),…,uK(n)),储备池的状态为x(n)=(x1(n),x2(n),…,xN(n)),输出节点的输出为y(n)=(y1(n),y2(n),…,yL(n))。从输入、储备池到输出三层之间都有连接。基本回声状态网络结构从输入节点到输出节点和输出节点之间的连接在图1中用虚线表示。
N+1时刻储备池的状态更新方程为:
x(n+1)=f(Winu(n+1)+Wx(n)+Wbacky(n))
(2)
N+1时刻输出节点的更新方程为:
y(n+1)=fout(Wout(u(n+1),x(n+1),y(n)))
(3)
其中,Win是从输入节点到内部节点的输入权值矩阵,大小为N×K,W是储备池内部节点之间的权值矩阵,大小为N×N。W是一个稀疏矩阵,稀疏度一般为1%~10%[5]。Wout是从输入节点、内部节点和输出节点到输出节点的输出权值矩阵,大小为L×(K+N+L),Wback是从输出节点到内部节点的反馈权值矩阵,大小为N×L。f为储备池节点的激活函数,fout为输出节点的激活函数,二者一般均取tanh。
需要注意的是,输出节点到输出节点之间的连接几乎不使用[6],因此输出权值矩阵Wout变为从输入节点、内部节点到输出节点的权值矩阵,大小为L×(K+N)。这是国内很多学者容易忽视的问题。对应的回声状态网络结构如图2所示。
图2 回声状态网络结构图
相应的N+1时刻网络的更新方程为:
x(n+1)=f(Winu(n+1)+Wx(n)+Wbacky(n))
(4)
y(n+1)=fout(Wout(u(n+1),x(n+1)))
(5)
ESN的核心是储备池。储备池是由输入信号所驱动的动态系统。储备池有两个功能:(i)可以看做是输入信号u(n)的高维非线性扩展x(n);(ii)具有短暂的记忆输入信号u(n)的功能[7],也就是回声状态。一个好的储备池同时具有这两个功能,使其能够提供足够丰富的内部状态x(n),因此期望输出ytarget(n)可由内部状态x(n)的线性组合得出。
使ESN具有回声状态的重要条件是其内部权值矩阵W的谱半径小于1。按照如下公式所得到内部权值矩阵,其网络结构则具有回声状态特性,不论Win、Wback如何选取[6]。
(6)
ESN与传统神经网络的重要区别是:ESN的Win、W和Wback是开始就确定好且固定不变的,模型只需训练Wout,因此其具有训练过程简单的特点。
1.3 基于ESN的地区行业通用模型构建
该通用模型的基本思想为:选择相同地区相同行业的若干只股票历年数据作为训练集并使用ESN进行训练,本文建立上海地区房地产行业的通用模型,模型训练好后就可以预测上海地区房地产行业内的任意股票。
1.4KMeans-ESN模型构建
基于KMeans-ESN模型的基本思想为:先用KMeans对训练数据聚类,再对聚好的各类数据分别建立各自的ESN子模型,构成组合模型。训练好后各子模型已经学习到聚类后的各类数据所具有的特征。预测时,先使用KMeans将训练数据与待预测数据按照相同聚类指标一起聚类,然后根据待预测数据聚类后所属的类别使用相应的ESN模型进行预测。模型整体流程如图3所示。
图3 KMeans-ESN模型流程图
2.1 实验假设及指标选取
由于前人所提出的股价预测方法都有一些假设条件,因此本文中使用模型对股价进行预测需遵循下述两个假设[8]条件:
历史会重演;股票价格反映一切信息。“历史会重演”即表明股票价格会呈现一定的规律,过去的规律在未来会重现。“股票价格反映一切信息”即包括政治、经济、心理、公司等所有影响股票价格的因素都会反映在股票价格中。
由于股价中的很多技术指标如移动均线、乖离率等都是基本指标开盘价、当日最高价、当日最低价、收盘价和成交量的初等变换,所以本文所有实验只采用当日开盘价、当日最高价、当日最低价、当日收盘价和成交量这5个基本指标作为模型的输入指标。
2.2 样本数据选择及处理
由于本文要建立地区行业通用模型,因此进行数据选择时应选择同一地区同一行业的股票数据。本文实验选取了上证A股上海地区房地产行业10支股票2006年至2015年十年数据。
这十只股票分别为上海陆家嘴金融贸易区开发股份有限公司、上海华鑫股份有限公司、上海万业企业股份有限公司、上海嘉宝实业(集团)股份有限公司、上海实业发展股份有限公司、上海世茂股份有限公司、上海新梅置业股份有限公司、上海市北高新股份有限公司、上海新黄浦置业股份有限公司、上海城投控股股份有限公司,所有数据均来自雅虎财经。
由于本文是对短期股票价格进行预测,且股票市场在每周都会进行调整,因此本文实验以一周为周期,即用前四天即周一至周四4天的5个基本指标数据预测第五天即周五的收盘价。
首先对原始数据做预处理,将每只股票的数据按每5天分为一组,保证组内数据来自同一只股票。然后将原始数据归一化到[-1,1]区间内。接下来构造输入输出学习模式,输入数据为4天,包括当日开盘价、当日最高价、当日最低价、当日收盘价与成交量,维度为5维,总共为4天乘以5维等于20维。输出数据为周五收盘价,所以为一维数据。按照前4天数据来预测后一天数据的学习模式,所有数据如此循环往复,构成一个个样本。因此一个样本的输入为20维,输出为一维。
为了使实验结果有较强说服力,本文实验借鉴10折交叉验证的思想,即使用9只股票2006年至2010年数据做训练,其余一只股票从2011年至2015年数据做测试,共做10次实验,使每只股票都做一次测试。
2.3 聚类指标及模型评价指标选取
由于本文对股价的预测周期为一周,即5天,并且用周一至周四4天数据预测周五收盘价,因此本文所有聚类实验均以5天即一周为单位,即将每只股票的数据按照每5天即一周分为一组。聚类时将相似的组聚为同一类。
因为一定时间段内数据的方差能够反映该段时间内数据的波动程度,而收盘价是当日行情的标准,也是下一个交易日开盘价的依据,同时投资者对行情分析时一般采用收盘价作为计算依据,因此这里我们引入每组前4天即周一至周四收盘价方差、每组周一至周四当日最高价与最低价之差的均值两个统计量[9]进行聚类。使用这两个统计量作为聚类指标进行聚类是基于数据波动性的聚类。
本文模型评价指标采用具有代表性和普遍性的均方根误差(RMSE)作为模型的评价指标。
2.4 基于ESN的上海地区房地产行业通用模型
由样本输入维数可知ESN输入节点数为20,输出节点数为1,设置储备池内部节点数为100,储备池稀疏度为10%,W谱半径为0.8,输入收缩因子为0.1。由于篇幅有限,本文只给出上海万业企业股份有限公司做测试,其余9只做训练时的训练测试过程图,误差则以表格形式(表1)全部给出。如图4、图5所示。
图4 上海万业企业股份有限公司做测试、其余9只做训练时的训练过程图
图5 上海万业企业股份有限公司做测试、其余9只做训练时的测试过程图
做为测试的股票训练误差(RMSE)测试误差(RMSE)上海万业企业股份有限公司0.22630.3096上海世茂股份有限公司0.22430.4728上海华鑫股份有限公司0.23380.8026上海嘉宝实业(集团)股份有限公司0.23460.4056上海城投控股股份有限公司0.23280.3260上海实业发展股份有限公司0.29630.4154上海市北高新股份有限公司0.23880.3351上海新梅置业股份有限公司0.23500.5803上海新黄浦置业股份有限公司0.22600.4533上海陆家嘴金融贸易区开发股份有限公司0.22710.4960均值0.23750.4597
同时,使用10只股票分别建立各自的单只股票单独模型,并进行测试。建立单只股票单独模型时,训练集使用2006年至2010年五年数据,测试集采用2011年至2015年五年数据,其训练误差如表2所示。
表2 ESN网络各只股票单独模型的训练测试误差
由表1及表2可以看出,上海地区房地产行业通用模型的预测精度要明显高于单只股票模型。因为单只股票模型只包含了一只股票的相关信息,而影响单只股票价格的因素不仅有自身因素,还有同行业竞争者与互利共赢者等因素,而地区行业通用模型则相对全面地包含了这些相关信息,因此其模型预测效果更好。
2.5 基于波动性聚类的KMeans-ESN模型
按照基于波动性聚类,将数据聚为波动大、波动小两类。本文给出上海陆家嘴金融贸易做测试,其余9只股票数据做训练时的聚类图,聚类结果如图6所示。
图6 基于波动性聚类的训练集与测试集数据聚类散点图上海陆家嘴金融贸易做测试,其余9只股票数据做训练
图6中,圆圈和雪花型数据离原点较近,分别为训练集和测试集波动小类数据,十字和星型离原点较远,分别为训练集和测试集波动大类数据。
聚类后将两类数据分别建立相应的ESN模型,并做测试,两类模型误差分别如表3和表4所示。
表3 波动小类ESN模型各只股票做测试时的训练测试误差
表4 波动大类ESN模型各只股票做测试时的训练测试误差
表4中的横线表示对该只股票与其余9只训练集股票做聚类时,该股票聚类结果为空。由表3和表4可以得出,波动小类的ESN模型预测效果要好于波动大类的ESN模型。
2.6 实验结果及对比
本文ESN通用模型和基于数据波动性的聚类模型比较结果如表5所示。
表5 各网络训练预测误差比较
由表5可知,波动小的数据所训练出的ESN模型预测效果最好,ESN模型次之,波动大的数据所训练出的ESN模型最差。因此,波动小的数据适合使用基于数据波动性聚类的KMeans-ESN短期股价预测模型进行预测;波动大的数据适合使用基于ESN的短期股价预测通用模型进行预测。
本文使用ESN建立了上海地区房地产行业的短期股价预测通用模型,简化了训练过程,且与单只股票预测模型相比,该通用模型预测精度明显提高。在此基础上将KMeans聚类和回声状态网络相结合,提出了一种新的时间序列股票预测模型。由实验分析可知,基于ESN的短期股价预测模型适合波动大的数据、基于数据波动性聚类的KMeans-ESN短期股价预测模型适合波动小的数据。
对于模型的优化,尝试使用不同聚类算法与回声状态网络结合使用,并将其结果集成以及对回声状态网络算法由监督到无监督学习的改进是今后的研究方向。
[1] 瓦伊尼 . 金融机构、金融工具和金融市场[M]. 陈未, 曾刚, 卢爽, 译. 4版. 中国人民大学出版社, 2004.
[2] 林俊国.证券投资学[M].北京:经济科学出版社,2006.
[3] 孙雪, 李昆仑, 胡夕坤, 等. 基于半监督K-means的K值全局寻优算法[J]. 北京交通大学学报, 2009, 33(6): 106-109.
[4]JaegerH.The“echostate”approachtoanalysingandtrainingrecurrentneuralnetworks[R].Berlin:GermanNationalResearchCenterforInformationTechnology, 2001.
[5] 韩敏. 基于储备池的非线性系统预测理论与分析方法[M]. 大连:中国水利水电出版社, 2011.
[6]JaegerH.Tutorialontrainingrecurrentneuralnetworks,coveringBPTT,RTRL,EKFandthe"echostatenetwork"approach[R].Berlin:GermanNationalResearchCenterforInformationTechnology, 2013.
[7]LukosˇevicˇiusM.APracticalGuidetoApplyingEchoStateNetworks[M].Berlin:NeuralNetworks, 2012:659-686.
[8]ZahediJ,RounaghiMM.ApplicationofartificialneuralnetworkmodelsandprincipalcomponentanalysismethodinpredictingstockpricesonTehranStockExchange[J].PhysicaA, 2015, 438(438): 178-187.
[9] 何晓群. 现代统计分析方法与应用[M]. 中国人民大学出版社, 1998.
SHORT-TERM STOCK PRICE FORECAST MODEL BASED ON ECHO STATE NETWORK
Zhang Bin
(SchoolofInformationScienceandTechnology,SouthwestJiaotongUniversity,Chengdu610031,Sichuan,China)
Aiming at the problem that traditional single stock forecast model has low prediction precision and the complexity of traditional neural network training process, a general model of regional industry based on ESN is proposed. The model can predict the same industry in the same region in any stock. This paper uses ESN to set up the general model of stock price forecast in Shanghai real estate industry, simplifies the training process, and compared with the single stock forecasting model, the forecast accuracy of the general model is obviously improved. On the basis of general model, this paper proposes a KMeans-ESN model based on data volatility clustering. Experiments show that the short-term stock price forecasting model based on ESN is suitable for large-scale data, and the KMeans-ESN short-term stock price forecasting model based on data volatility clustering is suitable for small fluctuation data.
KMeans Echo state network Short-term stock price forecast General model Fluctuations
2016-05-11。张斌,硕士生,主研领域:数据挖掘。
TP399
A
10.3969/j.issn.1000-386x.2017.05.046