




已阅读5页,还剩16页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
精品文档 1欢迎下载 基于神经网络的股票预测基于神经网络的股票预测 摘要 股票分析和预测是一个复杂的研究领域 本论文将股票技术分析理论与人工神经网络相 结合 针对股票市场这一非线性系统 运用 BP 神经网络 研究基于历史数据分析的股票预 测模型 同时 对单只股票短期收盘价格的预测进行深入的理论分析和实证研究 本文探 讨了 BP 神经网络的模型与结构 BP 算法的学习规则 权值和阈值等 构建了基于 BP 神经 网络的股票短期预测模型 研究了神经网络的模式 泛化能力等问题 并且 利用搭建起 的 BP 神经网络预测模型 采用多输入单输出 单隐含层的系统 用前五天的价格来预测第 六天的价格 对于网络的训练 选用学习率可变的动量 BP 算法 同时 对网络结构进行了 隐含层节点的优化 多次尝试 确定最为合理 可行的隐含层节点数 从而有效地解决了 神经网络隐含层节点的选取问题 abstract Stock analysis and forecasting is a complex field of study The paper will make research on stock prediction model based on the analysis of historical data using BP neural network and technical analysis theory At the same time making in depth theoretical analysis and empirical studies on the short term closing price forecasts of single stock Secondly making research on the model and structure of BP neural network learning rules weights of BP algorithm and so on building a stock short term forecasting model based on the BP neural network related with the model of neural network and the ability of generalization Moreover using system of multiple input single output and single hidden layer to forecast the sixth day price by BP neural network forecasting model structured The network of training is chosen BP algorithm of traingdx while making optimization on the node numbers of the hidden layer by several attempts Thereby resolve effectively the problem of it 关键词 BP 神经网络 股票预测分析 1 1 引言 引言 股票市场是一个不稳定的非线性动态变化的复杂系统 股价的变动受众多因素的影响 影 响股价的因素可简单地分为两类 一类是公司基本面的因素 另一类是股票技术面的因素 虽然股票的价值是公司未来现金流的折现 由公司的基本面所决定 但是由于公司基本面 精品文档 2欢迎下载 的数据更新时间慢 且很多时候并不能客观反映公司的实际状况 采用适当数学模型就能 在一定程度上实现对股价的预测 BP 神经网络是一种模拟人脑神经网络结构从而具有一定 的预测功能的数学模型 由于其具有很强的自学习能力自适应能力以及容错能力等优点 使它成为一种比较适合股票预测的方法 本文就采用此方法对股价趋势进行了分析 MATLAB 所搭配的 NeuralcNetwork Toolbox 将神经网络领域研究的成果完整地覆盖 它以 人工神经网络理论为基础 用 MATLAB 语言构造出典型神经网络的激活函数 另外 根据各 种典型的修正网络权值的规则 加上网络的训练过程 用 MATLAB 编写出网络设计与训练的 子程序 网络的设计者则可以根据需要去调用工具箱中有关神经网络的设计训练程序 使 自己能够从繁琐的编程中解脱出来 集中精力去思考问题和解决问题 从而提高解题效率 2 2 BPBP 神经网络算法 特点神经网络算法 特点 2 12 1 BPBP 神经网络算法神经网络算法 BP 网络的产生归功于 BP 算法的获得 BP 算法属于 算法 是一种有监督式的学习算法 其主要思想为 对于 q 个输入学习样本 P1 P2 Pq 已知与其对应的输出样本为 T1 T2 Tq 学习的目的是用网络的实际输出 A1 A2 Aq 与目标矢量 T1 T2 Tq 之间的误差来修改其权值 使 Ai i 1 2 q 与期望的 T 尽可能地接近 即使网络输 出层的误差平方和达到最小 它是通过连续不断地在相对于误差函数斜率下降的方向上 计算网络权值和偏差的变化而逐渐逼近目标的 每一次权值和偏差的变化都与网络误差的 影响成正比 并以反向传播的方式传递到每一层的 BP 算法由两部分组成 分别为信息的 正向传递与误差的反向传播 在正向传播过程中 输入信息从输入经隐含层逐层计算传向 输出层 每一层神经元的状态只影响下一层神经元的状态 如果在输出层没有得到期望的 输出 则计算输出层的误差变化值 然后转向反向传播 通过网络将误差信号沿原来的连 接通路反传回来 修改各层神经元的权值 直至达到期望目标 误差信号趋向最小 其具 体的实现步骤如图所示 精品文档 3欢迎下载 2 22 2 BPBP 神经网络在预测中的适用性神经网络在预测中的适用性 基于神经网络本身的特点与优越性 本文选择 BP 神经网络用于股票预测应用研究 第一 具有自学习功能 自学习功能对于模型预测有特别重要的意义 未来的人工神经网络计算 机将提供经济预测 市场预测 信用预测 其应用前途是很远大的 第二 容错能力强 网络中少量单元的局部缺损不会造成网络的瘫痪 也不会影响全局 它反映了神经网络的 鲁棒性 神经网络带有高度并行处理信息的机制且具有高速的自学习 自适应能力 内部 所包含的大量可调参数使得系统的灵活性更强 因此 神经网络很好的鲁棒性可以提高股 票预测模型的适应性与通用性 第三 具有高速寻找优化解的能力 寻找一个复杂问题的 优化解 往往需要很大的计算量 一个针对某问题而设计的神经网络 可以发挥计算机的 高速运算能力 能很快找到优化解 这对提高模型的运算效率很有帮助 第四 可以充分 逼近任意复杂的非线性关系 股票分析中的各个指标之间的关系并不十分明确 大多为非 线性的 而神经网络能够逼近任意复杂的非线性关系 这就决定了神经网络的预测精度比 其他的预测方法要高 而对股票预测来讲 预测精度无疑是非常重要的问题 第五 具有 在新环境下的泛化能力 能不断接受新样本 新经验并不断调整模型 自适应能力强 具 有动态特性 由于股票分析具有分行业 分阶段的特点 其评估结果的不确定性非常大 这就意味着需要针对不同的股票设立相应的预测模型 神经网络的这一特性正好满足这样 的需求 然而 BP 神经网络也不是没有缺点 一是其工作的随机性较强 即使是同样的训练 样本 相同的网络参数 多次运行生成的神经网络模型预测结果也有差别 因此要得到一个较好的神经网络结构 需要人为地去调试 非常耗费人力与时间 因此应 用受到了限制 二是 BP 算法本身存在一定的缺陷 2 32 3 BPBP 神经网络模型构建的方法神经网络模型构建的方法 建立 BP 神经网络模型的具体步骤 首先要分析问题的性质及核心 然后有针对性地建立网络模型 最后通过网络预测分析 调整参数 优化网络模型 具体 精品文档 4欢迎下载 过程如图所示 3 3 股票预测股票预测 BPBP 网络模型的建立网络模型的建立 3 13 1 数据的采集和预处理数据的采集和预处理 本文选择了中国银行 601988 2013 11 1 2014 5 15 的收盘价和中国汽研 601965 2013 4 1 2014 5 12 的收盘价作数据采集 根据模型建立的需要 BP 神经网络要求样本集合理区间为 0 1 或 1 1 所以要对样 本集进行归一化处理 归一化公式为 Matlab 中归一化处理数据可以采用 premnmx min maxmin k k xx x xx postmnmx tramnmx 这 3 个函数 本文用了 premnmx 归一化函数和 postmnmx 反归一化函 数 premnmxpremnmx 语法 pn minp maxp tn mint maxt premnmx p t 参数 pn p 矩阵按行归一化后的矩阵 minp maxp p 矩阵每一行的最小值 最大值 tn t 矩阵按行归一化后的矩阵 mint maxt t 矩阵每一行的最小值 最大值 作用 将矩阵 p t 归一化到 1 1 主要用于归一化处理训练数据集 postmnmxpostmnmx 语法 p t postmnmx pn minp maxp tn mint maxt 参数 minp maxp premnmx 函数计算的 p 矩阵每行的最小 最大值 mint maxt premnmx 精品文档 5欢迎下载 函数计算的 t 矩阵每行的最小值 最大值 作用 将矩阵 pn tn 映射回归一化处理前的范围 postmnmx 函数主要用于将神经网络的 输出结果映射回归一化前的数据范围 3 23 2 训练网络的设计训练网络的设计 在有合理的结构和恰当的权值条件下 三层前馈网络可以逼近任意的连续函数 这样 就 提供了一个设计 BP 神经网络的基本原则 较少的隐含层 可以实现样本空间的超平面划分 选择两层 BP 网络就可以实现有效的预测了 本文将采用单隐含层的网络设计 分为单隐含 层和输出层两个网络层次 如图所示 本文将连续五天的价格作为一组输入 将第六天的价格作为输出目标 既用前五天的价格 来预测第六天的价格 所以输入层神经元数目是 5 输出层的节点数取决于两个方面 输 出数据类型和表示该类型所需的数据大小 同时 根据经典的道氏理论 股票价量分析中 最重要的指标就是收盘价 本文所建的股票预测模型 就是针对单只股票的走势进行预测 所以 将股票的收盘价作为该预测模型的唯一输出向量 这样 网络输出层的神经元数目 即为 1 BP 网络隐含层节点数的多少和 BP 网络预测精度之间有很大相关性 节点数太少 神经 网络的训练能力就会变弱 无法完成精确预测 节点数太多 神经网络训练时间变长且网 络可能出现过度拟合现象 所以选择合适的节点数才能使 BP 网络的性能得到最大发挥 但 目前还没有统一的标准来确定隐含层的节点数 所以本文经过多次试验多次比较最终确定 了隐含层节点数为 12 传递函数是 BP 网络的重要组成部分 必须是连续可微的 BP 网络通常采用 S 型的对数 或正切函数 本预测模型采集到的原始数据 经过归一化处理后输入 输出向量均在区间 1 1 范围内 符合 S 型的对数或正切函数的取值区间 因此 隐含层传递函数选择 tansig 输出层传递函数选择 purelin 训练函数采用 traingdm 训练参数设为 net 1 trainParam show 50 限时训练迭代过程 net 1 trainParam lr 0 05 学习率 net 1 trainParam mc 0 9 附加动量因子 net 1 trainParam epochs 20000 最大训练次数 net 1 trainParam goal 1e 3 训练要求精度 训练过程如图 精品文档 6欢迎下载 关于性能函数的设计 本文采用典型的前项反馈网络误差性能函数为均方误差 函数 mse 4 4 股票预测分析股票预测分析 4 14 1 中国银行预测分析中国银行预测分析 在 MATLABr2014a 中用函数 xlsread 导入已经下载好的中国银行 601988 2013 11 1 2014 5 15 的收盘价作为输入样本 进行 BP 网络训练 网络结构 精品文档 7欢迎下载 BP 神经网络的仿真结果 图中红色线为预测曲线 蓝色线为实际曲线 可以看出模拟出的曲线大致上与实际曲线相 同 但有些地方明显误差偏大 很可能是由于训练样本的数目过少和训练次数不够而导致 精品文档 8欢迎下载 此图为实际值与预测值的误差曲线 可以明显看出误差确实比较大 所以此图预测结果不 尽人意 误差训练情况 梯度 精品文档 9欢迎下载 回归曲线 精品文档 10欢迎下载 股票分析 股票分析 方法一 移动平均线与 BP 曲线相结合 从上图可以看出 五日平均线从上而下穿过下降趋势的十日线 二十日线和六十日线 表明标号 1 这个点在这个时候支撑线被向下突破 此时为死亡交叉点 表示股价短期将继 续下落 十日线向下突破二十日线 说明中期内也将继续下跌 二十日线也向下突破六十 日线 长期内也将下降 行情看跌 死亡交叉预示着空头市场来临 而实际曲线也验证了 预测结果 精品文档 11欢迎下载 标号二为上升中的五日线由下而上穿过上升的十日线 形成黄金交叉 这个时候压力线 被向上突破 表示股价短期内将继续上涨 行情看好 而实际曲线也验证了预测 同时十 日线向上突破上升趋势的二十日线 说明中期内该股将会呈上升趋势 标号三为下降趋势的五日线向下跌破十日线 说明短期内该股会下降 而旁边下降趋势 十日线也向下跌破了二十日线 说明中期内该股呈下降趋势 标号四为上升趋势的五日线向上突破十日线 表明短期内该股会上升 上升趋势的十日 线也向上突破二十日线 说明该股中期内也将呈上升趋势 向上趋势的二十日线也向上突 破六十日线 形成黄金交叉 表明长期内该股呈上升趋势 结合 BP 曲线对下一日的预测 可以提高投资决策的准确性 标号五为下降趋势的五日线突破了十日线 表明短期内该股会有下降趋势 标号六为上升趋势的五日线向上突破十日线 说明短期内该股将呈上升趋势 方法二 指数平滑异同平均线 MACD 分析法 MACD 称为指数平滑异同平均线 是从双移动平均线发展而来的 由快的移动平均线减去慢 的移动平均线 MACD 的意义和双移动平均线基本相同 但阅读起来更方便 当 MACD 从负 数转向正数 是买的信号 当 MACD 从正数转向负数 是卖的信号 当 MACD 以大角度变化 表示快的移动平均线和慢的移动平均线的差距非常迅速的拉开 代表了一个市场大趋势的 转变 精品文档 12欢迎下载 MACD 线从正数转向负数时 股票即将有下降趋势 是卖出的信号 从负数转向正数的时候 股票有即将有上升的趋势 是买入的信号 综合所述 本次股票预测还算是成功 预测结果往往令人满意 MATLAB 程序 clc clear close all P xlsread 中国银行 2 T xlsread 中国银行 T2 Hn xlsread 中国银行 H2n K xlsread 中国银行五日线 L xlsread 中国银行十日线 M xlsread 中国银行二十日线 N xlsread 中国银行六十日线 Pn minp maxp Tn mint maxt premnmx P T net 1 newff minmax Pn 12 1 tansig purelin traingdm 精品文档 13欢迎下载 当前输入层权值和阈值 inputWeights net 1 IW 1 1 inputbias net 1 b 1 当前网络层权值和阈值 layerWeights net 1 LW 2 1 layerbias net 1 b 2 设置训练参数 net 1 trainParam show 50 net 1 trainParam lr 0 05 net 1 trainParam mc 0 9 net 1 trainParam epochs 100000 net 1 trainParam goal 1e 3 调用 TRAINGDM 算法训练 BP 网络 net 1 tr train net 1 Pn Tn 对 BP 网络进行仿真 A sim net 1 Hn 计算仿真误差 E Tn A MSE mse E A1 T1 postmnmx A min min P max max P Tn mint maxt x 1 129 x1 1 131 plot x A1 r hold on plot x T1 b hold on plot x1 K w hold on plot x1 L y hold on plot x1 M m hold on plot x1 N c title 中国银行 2013 11 1 2014 5 15 legend 预测 实际 五日线 十日线 二十日线 六十日线 1 figure 2 plot x E r 精品文档 14欢迎下载 4 24 2 中国汽研预测分析中国汽研预测分析 在 MATLABr2014a 中用函数 xlsread 导入已经下载好的中国汽研 601965 2013 4 1 2014 5 12 的收盘价作为输入样本 进行 BP 网络训练 网络结构 BP 神经网络的仿真结果 图中红色曲线为预测曲线 蓝色曲线为实际曲线 从图可以看出 BP 曲线近似的模拟出真 实曲线 较之前中国银行的预测效果要好 主要原因是中国汽研的训练样本数目提升到 256 组 并且训练了十万次 误差到了 0 006 精品文档 15欢迎下载 误差训练情况 梯度 回归曲线 精品文档 16欢迎下载 股票分析 股票分析 方法一 移动平均线与 BP 曲线相结合 精品文档 17欢迎下载 从标号一可以看出 下降趋势的五日线突破了下降趋势的十日线 说明短期内该股票将 下跌 下降趋势的十日线也同样突破下降趋势的二十日线 表明该股中期内也将下降 投 资者此时应谨慎 标号一和标号二之间连续出现几个死亡交叉点 并且 BP 曲线出现波动 此时投资者应该慎重考虑 切勿急功近利 标号二表明上升趋势的五日线向上突破十日线 表明短期内该股将上涨 同时上升趋势 的十日线也向上突破上升趋势的二十日线 表明中期内该股也呈上升趋势 标号三可以看出 上升趋势的五日线向上穿过上升趋势的十日线 所以该股短期内将会 上升 同样的上升趋势的十日线向上穿过上升趋势的二十日线 说明该股在中期内也将会 上升 标号四可以看出 下降趋势的五日线向下穿过下降趋势的十日线 表明短期内该股将会 上升 但是标号四与标号五之间连续出现几个死亡交叉点 并且 BP 曲线出现波动 此时投 资者应该慎重考虑 切勿急功近利 标号五为下降趋势的五日线 二十日线 分别向下穿过下降趋势的十日线 六十日线 精品文档 18欢迎下载 表明该股短期内 长期内将会下降 实际与预测的结果大致相同 方法二 指数平滑异同平均线 MACD 分析法 MACD 称为指数平滑异同平均线 是从双移动平均线发展而来的 由快的移动平均线减去慢 的移动平均线 MACD 的意义和双移动平均线基本相同 但阅读起来更方便 当 MACD 从负 数转向正数 是买的信号 当 MACD 从正数转向负数 是卖的信号 当 MACD 以大角度变化 表示快的移动平均线和慢的移动平均线的差距非常迅速的拉开 代表了一个市场大趋势的 转变 MACD 线从正数转向负数时 股票即将有下降趋势 是卖出的信号 从负数转向正数的时候 股票有即将有上升的趋势 是买入的信号 综合所述 本次股票预测还算是成功 预测结果往往令人满意 MATLAB 程序 clc clear close all P xlsread 6 T xlsread 7 H xlsread 8 精品文档 19欢迎下载 H1 xlsread H1 K xlsread 中国汽研五日线 L xlsread 中国汽研十日线 M xlsread 中国汽研二十日线 N xlsread 中国汽研六十日线 Pn minp maxp Tn mint maxt premnmx P T net 1 newff minmax Pn 12 1 tansig purelin traingdm 当前输入层权值和阈值 inputWeights net 1 IW 1 1 inputbias net 1 b 1 当前网络层权值和阈值 layerWeights net 1 LW 2 1 layerbias net 1 b 2 设置训练参数 net 1 trainParam show 50 net 1 trainParam lr 0 05 net 1 trainParam mc 0 9 net 1 trainParam epochs 100000 net 1 trainParam goal 1e 3 调用 TRAINGDM 算法训练 BP 网络 net 1 tr train net 1 Pn Tn 对 BP 网络进行仿真 A sim net 1 H E Tn A MSE mse E A1 T1 postmnmx A min minp max maxp Tn mint maxt x 1 256 plot x A1 r hold on plot x T1 b hold on plot x K w hold on plot x L y hold on plot x M m hol
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 基金考试题库及答案2024
- 森林公园防火知识培训课件
- 棕色化反应课件
- 梯队基础知识培训内容课件
- 《机械员》考试题库及完整答案【全优】
- 桥梁架设知识培训课件
- 2025年A特种设备相关管理(锅炉压力容器压力管道)考试题库及答案
- 2025年制造业企业招聘面试技巧及热点预测题解答
- 2025年道路安全法规测试题集
- 2025年酒店管理职业资格认证面试题详解
- 知识题库-人社练兵比武竞赛测试题及答案(五)
- 委托办理城市排水许可证授权书
- 多功能报告厅设计
- 学校生活指导老师面试问题
- 安防项目视频周界报警系统招投标书范本
- 烹饪概论高职全套教学课件
- 建筑装饰施工技术课件
- 2023年秋季国家开放大学-03593-机械制造装备及设计期末考试题带答案
- 建设用地报批服务投标方案(技术方案)
- 《雷雨天气防雷击》课件
- 2024届高考语文一轮复习:现代诗歌 专练(含答案)
评论
0/150
提交评论