1、第31卷第5期 2014年5月 计算机应用与软件 Computer Applications and Software Vo131 No5 Mav 2014 基于神经网络的股票价格预测模型 陈嶷瑛 张泽星 李文斌 (石家庄经济学院信息工程学院河北石家庄050031) (石家庄经济学院网络信息安全实验室河北石家庄050031) 摘要 提出一种基于BP神经网络的股票价格预测模型SPPM(Stock Price Prediction Mode1)。SPPM集成了多个神经网络,可预 测未来若干天的股价走势。针对SPPM中的数据预处理、输出融合、神经网络隐藏层节点数选取等关键问题作了详细讨论。实验结 果
2、表明,SPPM具有一定的实际价值。 关键词 神经网络 时间序列 股票 中图分类号TP183 文献标识码A DOI:103969jissn1000386x201405022 NEURAL NETWoRK BASED SToCK PRICE PREDICTIoN MoDEL Chen Yiying Zhang Zexing Li Wenbin (School ofInformation E neering,Shijiazhuang University ofEconomics,Shijiazhuang 050031,Hebei,China) 。(The Network and Informatio
3、n Security Lab,Shifiazhuang University ofEconomics,Shijiazhuang 050031,Hebei,China) Abstract A BP neural network based stock price prediction model(SPPM)is put forwardSPPM integrates a number of neural networks, SO that it can predict stock price trends in a few daysSome key problems of SPPM such as
4、 data preprocessing,output fusion,neural network hidden layer node number seUing and SO on are discussed in detailExperiment results show that SPPM is of certain practical value Keywords Neural network Time series Stock 0 引 言 股票市场是一个复杂的非线性动力学系统,有显著的非线 性、时变性特征,致使对股市指数和股票价格的预测成为一大难 题。在传统的股票市场预测建模研究中,多
5、元回归分析、时 间序列分析、指数平滑等是最常见的方法 。 近年来,众多学者利用神经网络对股票价格进行了大量的 预测研究。文献4利用不同的神经网络算法产生神经网络集 成个体,用遗传算法动态求解集成个体的非负权重系数,进行最 优组合集成建模。相对传统的简单平均集成模型,具有预测精 度高、稳定性好,易于操作的特点。文献5提出了一种基于 RBF神经网络的股票市场预测模型。文献6提出了一种基于 主成分的遗传神经网络股票指数预测模型,特点有两个:1)利 用主成份方法选取输入变量;2)利用遗传算法优化神经网络参 数。吴华星对基于神经网络的股票价格预测方法进行了研 究 ,他分析了传统的BP算法,通过引入调节参
6、数P解决了要 同时调整算法中学习速率卵和动量参数 的问题。从基于神 经网络的股票预测模型的研究成果来看,关注点主要集中在: 1)对输人数据的处理上;2)对神经网络的参数学习上;3)对 神经网络的集成方法上。 本文提出了一种基于BP神经网络的股票预测模型 (SPMM)。SPMM的优点及特点为:1)网络结构简单,易于实 现。2)给出了一种基于窗口技术的样本生成方法。3)基于前 天的任意单一指标的运行数据,可以预测未来 天的趋势。 4)该模型融合了多个神经网络的预测结果,模型的学习能力 强,预测精度高。系列实验结果表明,该模型效果良好。 1 BP神经网络 BP算法用来训练多层前馈神经网络(采用BP学
7、习算法的前 馈型网络被称为BP神经网络),属于有导师的学习算法。BP网络 具有结构清晰,易实现、计算功能强大、性能优越等特点,因而被广 泛应用于模式识别、文本分类等多个领域 。BP神经网络采用的 是并行网络结构,包括输入层、隐含层和输出层。BP网络已被证明 具有强大的非线性映射能力和泛化功能,多层网络能逼近任意非线 性函数 。 图1显示了一个三层结构的前馈神经网络,其中,输入层和输 出层各有2个节点;隐藏层具有3个节点。隐藏层和输出层的每一 个节点为一个sigmoid单元,它基于一个平滑的可微阈值函数。每 一个sigmoid单元按下式计算它的输出:0= ( ),其中 (y) 1+ =_ , 为
8、该节点的输入向量,W为它的权向量。 经常被称为 l十e sigmoid函数或者也可以称为logistic函数。 收稿日期:20121019。河北省科技厅项目(09213575D,092 13515D)。陈嶷瑛,副教授,主研领域:人工智能,软件工程,GIS。张泽 星,助教。李文斌,教授。 计算机应用与软件 2014丘 输入层 隐藏层 输出层 0 图1 三层结构的前馈神经网络 隐藏层节点的输入来自于输入层,当每一个输入层节点到 各隐藏层节点上的权重确定后,隐藏层节点的输出则是确定的。 隐藏层的输出作为输出层的输入,同理,当每一个隐藏层节点到 各输出层节点的权重确定后,则输出层节点的输出值也是确定
9、的。可见,权向量的学习是关键。 权重的学习问题实质是一个搜索问题,即需要在 。空间 中找到一个合理的W,使相应的网络在训练样本上的误差最小。 形式化表示为,找到W,使下式最小。 E( ) 下1( 一。树) (1) 一d ED 其中,D是训练样本集合;d是一个训练样本;ouuts是网络输 出单元的集合; 是d的期望输出向量中第k维的值;o 是神经 网络对d的输出向量中第k维的值。 显然,遗传算法、粒子群算法等均可以用于寻找W的近似最 优解。本文使用基于随机梯度下降的BP算法 搜索W。 2股票价格预测模型的建立 21预测模型 本文设计的股票价格预测模型(SPPM)如图2所示。该模 型分为两个阶段:
10、训练阶段及使用阶段。训练阶段指基于训练 样本集,学习神经网络权重的过程。预测阶段指的是使用前一 阶段学习到的神经网络,对股价进行预测的过程。为提高sP PM的泛化能力,强化该模型应用于股票价格预测的实效,采用 了神经网络集成技术。神经网络集成被证明是一种非常有效的 方法,即使仅仅是对一组网络进行简单的投票或平均,也可提高 学习系统的处理能力 。本文对神经网络的集成,体现在两个 方面:个体生成方面和结果融合方面。接下去,对这一模型进行 详细介绍。 模型 1方法:滑动窗口法 2赣出:k份数据 1方法: 2输出: BP算法 k个网络 图2股票价格预测模型 模型预测阶段 【 开始 J 测试数据预处理
11、个神经网络预测 预测“融合” 绩柬 1 22数据预处理 假设t ,t ,t (n2)是一个连续的时间序列,在时刻 t 上,可以获得一只股票的任意属性(如:开盘价、最高价、最低 价、收盘价、成交量、成交金额等)的值。对于某一属性(以下不 妨设为收盘价)在时间序列t。,t ,t 上获取的数据序列,不 妨设该数据序列为: , , 。 首先对该数据序列中的每一维进行归一化处理: : (2) L 其中,1 n,max和min分别表示 l, 2, 的最大值和 最小值。 其次,按式(3)构造nNM+1个样本,其中,和M表示用前 N(NI)天的收盘价预测未来M(MI)天的ffr;n+ 2。 X1 ,Y1= ,
12、 +1,y2= (3) ,yn一 一 +1= 所得到的样本集用D表示,显然,l DI为n一一 +1。D 中第i(1inNM+1)个样本,表示为,其中I I为,l I为 。对于一个时间序列,如图3所示,当窗口大小 发生调整时,则可以得不同的样本集。使用不同的样本集,则可 以训练得到不同的神经网络个体。以下,D 、D:、D 分别表 示k个样本集,k表示窗口个数或神经网络的总数。 生 F= =: 一一一一一一一一一一一 一一一1一一一一一一一一一一一一一一一一一1 I I I I ! I!l!L!L I I I I I I, I - 图3基于窗口技术的时间序列 23网络结构的确立 Homik等早已证
13、明:若输入层和输出层采用线性转换函数、隐 藏层采用sigmoid转换函数,则含一个隐藏层的多层神经网络能够 以任意精度逼近任何有理函数 。因此,本文使用的前馈网络具有 三层结构:输入层、隐藏层和输出层。该网络输入层的节点数由输 入向量的维数决定,由于输入向量的维数是,故输入层节点数确 定为个。输出层节点数由输出向量的维数大,而且是训练时出 现“过拟合”的直接原因。然而,遗憾的是,目前理论上还没有一种 科学的和普遍的确定方法。为尽可能避免训练时出现“过拟合”现 象,保证足够高的网络性能和泛化能力,确定隐藏层节点数的最基 本原则是:在满足精度要求的前提下取尽可能紧凑的结构,即取尽 可能少的隐藏层节
14、点数。在确定隐藏层节点数时必须满足下列条 件:1)隐藏层节点数必须小于I D I一1;2)训练样本数必须多于网 络模型的连接权数,一般为210倍。 不妨设隐藏层节点个数为h,连接权数则为:Nh+Mh。 第2个条件可表示为:2 10,得 而 。从而,上述两个条件则可 表示为: 且 一1(4) 综上,本文采用的是:NhM的神经网络,隐藏层节点为 sigmod单元,输出层节点为线性单元。 , , ,【 第5期 陈嶷瑛等:基于神经网络的股票价格预测模型 91 24预测融合 个数据集可以训练得到 个神经网络。假设对于一样未知 样本,设SPPM分别输出yl,y2, ,接下去,将讨论 “融合”这些输出并最终
15、给出未来 天的股价走势的具体方法。 一种最简单的方法就是取各输出的均值,如下式: Yi ,=午 (5) 其中,y的大小为 ,每一维代表对未来某一天的预测值。 在许多情况下,我们并不需要知道未来的具体预测值,而仅 需要知道未来是涨还是跌。此时,仅需要观察y中,当前这一天 相比于前一天的值即可获知。 3实验设计与结果 本文实验的硬件环境为:CPU为Intel Core 2 Duo Processor T5500;内存为1G。编程环境为:Matlab 71。实验数据取自“同 花顺”,总共取了五个时间段(即j=5)的收盘价数据,如表1所 示。由于篇幅关系,本文仅讨论N=10,M=2的情况,即根据前 1
16、0天的数据预测未来2天的走势。值得说明的是:表1中的交 易天数,对于不同的股票来说,可能略有不同(比如:有的股票 可能会有停盘现象)。在同一时间段内,表1中的n、nNM +1及h的值对于不同的股票可能略有差别。 表1中的五个数据集,分别训练五个神经网络,神经网络权 重学习的迭代次数为800,隐藏层节点的转换函数取tansig,输 出层节点的转换函数取purelin,其他参数取newff函数的默认 值。这五个神经网络分别记作:NN1、NN2、NN3、NN4及NN5。 表2是SPPM对上证指数的预测结果,预测的指标值为:收盘 价。值得指出的是,每一个神经网络的训练和预测都独立运行 10次,神经网络
17、对某一天收盘价的预测均取这10次独立实验 的均值。比如:NN1被独立训练了l0次,每一个独立训练后, NN1都将对20120319上证指数的收盘价得出一个预测值, 这10次预测的平均值为2 3358。这样做的好处是:从一定程 度上有效避免了随机的乐观或悲观。本文所有的实验数据都是 10次独立实验的平均值。 表1五个时间段的数据集 数据集 Dl D2 Dd D5 20110315至 20110615至 20110915至 20111215至 20111014至 时间段 2012一O316 20120316 20120316 20120316 20120316 交易天数(n) 246 184 11
18、9 59 103 数据集大小 235 173 108 48 92 (n一vjIf+1) 建议隐藏层节 196h9 144h72 09h45 04h2 077h383 点数范围(h) 表2中,SPPM预测20120319日上证指数的收盘价为 2 37464,相比于前一交易日(20120316)的实际收盘价(即 2 40474)而言,预测趋势为下跌。这与当天的真实运行结果有 所背离。 表2中,SPPM预测20120320日上证指数的收盘价为 2 37384,相比于前一交易日(20120319)的实际收盘价(即 2 37464)而言,SPPM预测趋势为下跌。这与当天的真实运行 结果完全符合,且预测值
19、与实际收盘价非常接近。 总体上看,SPPM预测未来两天相对于当前日期(即2012 0316)而言,将处于下行趋势,这与真实的运行情况是相符 合的。 为了进一步验证SPPM的性能,我们还对贵州茅台2012 0319及20120320的收盘价进行了预测。表3给出了SP。 PM对贵州茅台的预测结果。20120316 Et,贵州茅台的实 际收盘价为20759,20120319及20120320 Et,贵州茅 台分别有小幅上涨。SPPM预测20120319及20120320 日的收盘价分别为20716和20722,这与实际观测值非常 接近。 表2对“上证指数”的预测结果(参数设置:七=5。N=10,M=
20、2) 真实值 NN1 NN2 NN3 NN4 NN5 预测值 预测 日期 真实涨跌 (NA) (h=8) (h=6) (h=4) (h=2) (h=3) (NA) 涨跌 20120316 2 40474 2012一O3一l9 2 41018 涨 2 3550 2 3630 2 3456 2 4003 2 4093 2 37464 跌 2012一O32O 2 37684 跌 2 3527 2 3587 2 3460 2 4021 2 4097 2 37384 跌 表3对“贵州茅台”的预测结果(参数设置: =5,N=10,M-2) 真实值 真实 NN1 NN2 NN3 NN4 NN5 平均 预测
21、日期 (元) 涨跌 (h=8) (h=6) (h=4) (h=2) (h=3) 值(元) 涨跌 2012一O316 20759 201203一l9 20764 涨 20735 20667 20741 20713 20724 20716 跌 20120320 20775 涨 20715 20685 20756 2077l 20684 20722 涨 92 计算机应用与软件 2014生 图4分别给出了SPPM在上证指数和贵州茅台D 数据集 上的预测结果与实际结果的对比曲线。总体上来看,SPPM对 上证指数的拟合情况要好于贵州茅台。可能的原因在于:相比 于个股而言,上证指数受少数机构操控的可能性较小
22、,即上证指 数更反映了市场的整体规律。这也就是说,上证指数的运行规 律性更容易被SPPM捕捉和学习到。而由于炒作的原因,个股 的规律即使被捕捉到了,预测的值也可能与实际的值有差距。 越是拟合效果差的股票,越反映出其市场规律性的成份少,sP PM则越难预测准确。 4 结语 I预 值 l 卖酥值 、 I 嚏 。 、 霉 I 卯交易日( 11毋15 咩 卸 250 (a)上证指数 目 m, 1q Co)贵州茅台 图4 SPPM预测值与实际值的对比曲线 本文提出了一种股票价格预测模型SPPM,它可以预测未 来若干天的股票价格。由于集成了多个神经网络,所预测的价 格具有较高程度的准确性。实验结果证明了这
23、一点。未来的工 作包括:1)研究与M对预测准确性的关系;2)研究样本数 与预测准确性的关系等。 尽管本文的实验数据并不十分丰富,却提出了一种股价预 测的研究思路,从而使本文具有一定的实际参考价值。 参考文献 1吴建生最小一乘回归神经网络集成方法股市建模研究J计算 工程与设计,2007,28(23):58125815,5818 2唐娜基于灰色理论和神经网络理论的股票指数预测研究D武 汉理工大学,2007 3陈政,杨天奇基于RBF神经网络的股票市场预测J计算机应 用与软件,2010,27(6):108一l10 4潘晓明,吴建生基于遗传算法神经网络集成股票市场预测研究 J广西师范学院学报:自然科学版
24、,2007,24(1):7784 5刘磊基于遗传神经网络的指数跟踪优化方法J系统工程理论 与实践,2010,30(1):2229 6智晶,张冬梅,姜鹏飞基于主成分的遗传神经网络股票指数预测 研究J计算机工程与应用,2009,45(26):210212 7吴华星基于神经网络的股票价格预测D中国科学院研究生 院:计算机技术研究所,1998 8Mitchell T M机器学习M曾华军,译北京:机械工业出版 社。2009 9杨行峻人工神经网络与盲信号处理M北京:清华大学出版 社,2003 1O周志华,陈世福神经网络集成J计算机学报,2002,25(1):1 8 (上接第70页) 从图7和图8可以看出,
25、车轮均未出现抱死现象,轮速曲线 变化较为均匀,并且参考车速能够较好地反映当前时刻的车速, 符合控制模型中所设计的控制算法的控制循环。 从图9和图10可以看出,制动初期车速较高时滑移率变化 曲线在15左右浮动,即控制在最佳滑移率控制点附近,车速 较低时为使车辆具有较短的制动时间和控制距离,控制力度较 前期稍猛滑移率变化也相对较大,符合控制的要求。 6 结语 本文将ADAMS中建立的整车模型和在MATLAB中建立的 ABS控制模型以及气压调节控制单元模型进行了联合仿真,由 仿真结果可知ABS系统在整车的制动过程中起到了很好的制 动防抱死效果。在使用虚拟样机技术后,可以通过试凑参数,很 快得到制动性
26、能较好的控制门限值,大大减少了试验次数和缩 短了研制周期,这更能说明虚拟样机技术的优越性。同时可以 通过添加能真实模拟汽车行驶状态仿真的驾驶员模型,选择更 匹配的轮胎模型,开发出更具形象贴近、更复杂的汽车虚拟样机 模型,今后需要进一步研究。 参考文献 1Ozdalyan B,Blundell M VAntilock braking system simulation and modeling in ADAMSCIEE Conference Publication,1998:140 144 2王纪森,付卫强,余洋防抱制动系统自寻优控制的半物理仿真研 究J系统仿真学报,2005,17(12):28
27、412843 3李君,喻凡基于道路自动识别的ABS模糊控制系统的研究J 农业机械学报,2001,32(5):2629 4张云清,熊小阳,陈伟,等基于ADMAS与Matlab的ABS模糊控 制仿真研究J公路交通科技,2007(11):148153,158 5H Q,Jia Y M,Du Jun-ping,et a1ABS Composite Control Based On Optimal Slip RatioCProceedings of the 2007 American Control Conference Marriott Marquis Hotel at Times Square,Ne
28、w York City, USA,July 1113,2007:57485752 6程军汽车防抱死制动系统的理论与实践M北京理工大学出版 社,1999:8083 7唐国元基于遗传算法的车辆ABS在线整定PID控制及仿真J 系统仿真学报,2007,19(7):15541557 8Layne J RFuzzy Learning Control for Antiskid Braking SystemJ IEEE Transacations on Control System Technology,1993,1(2):122 129 9Lin C M,Hsu C FSelf-Learning Fuzzy Sliding-Mode Control for Anti lock Braking SystemsJIEEE Transations On Control Systems Tech- nology,2003,11(2):273278 姗 姗 鳓 砌 糊 珊 瑚 蛳 舢 姗 雹器 【丁 功 瑚 i等 捌 懈 佃 仍 啪 一 -)