文章目录

  • 摘要
  • bp神经网络
  • 遗传算法
  • 实验结果与分析
  • 完整代码下载:

摘要

在目前的股票投资市场,不少自然人股民的投资主要方式使根据对当天或者一个较长周期对股票数据的预测,来得到下一天的股票数据,从而进行相应的投资。为了满足股民希望能更为理性合理准确的预测股票走向,需要借助机器的帮助。本文主要是利用优化过的遗传算法,利用遗传算法调整BP三层神经网络的权重与阈值,使BP神经网络的训练效果得到提升,从而对股票市场的行情有比较好的预测效果。

关键词 BP神经网络 遗传算法 特征选取

实验论文节选

bp神经网络

遗传算法

遗传算法的过程:






实验结果与分析

3.1 实验设置
3.1.1 股票数据库的选择
本实验使用了两种股票种类,为某单支股票(150个)数据与上证综合指数前复权日线(533个)数据,分别保存在两个文件中,将两个数据集的特征向量人工设定为同一列位置,方便后续实验。

3.1.2 实验参数设置
本次实验在Matlab环境上运行,分析给予遗传算法的BP神经网络与随机初始化的BP神经网络在股票预测上的差距。
本次实验所采用的为BP神经网络:训练次数epochs为1000,训练目标goal为0.01,学习速率lr为0.1;遗传算法:群体规模为N=60。

3.2 实验结果与分析
实验1:测试未优化的遗传算法运行的预测效果
本次实验,隐含层神经元个数为3,交叉概率为p_c=0.8,变异概率为p_m=0.05,交叉位置为15L到20L。迭代次数分别设为10次,50次,100次,比较区别。


本次测试出的每一代的最小误差波动很大,而且随着迭代次数的增加,最新一带的最小误差没有明显减小,达不到预期效果。

实验2:测试带指标变异操作的遗传算法优化的预测效果
本次实验,隐含层神经元个数为3,群体规模为N=60,交叉概率为p_c=0.8,变异概率为p_m=0.05,双点交叉,交叉位置为15L到20L。迭代次数分别设为10次,50次,100次,比较区别。


本次测试出的每一代的最小误差虽然波动很大,但是可以看出随着迭代次数的增加,最后一代的最小误差有下降的趋势,但是容易陷入局部最优解,可能使由于参数设置的问题。

实验3:测试优劣同时保留的遗传算法优化的预测效果
本次实验,隐含层神经元个数为3,群体规模为N=60,交叉概率为p_c=0.8,变异概率为p_m=0.05,交叉位置为15L到20L。迭代次数分别设为10次,50次,100次,比较区别。


本次测试出的每一代的最小误差虽然还是有波动,但是较前两个实验,已经是降低的趋势了,最优误差也是下降的趋势,说明此优化可以帮助算法跳出局部最差解,逼近局部最优解。

实验4:测试大变异值的自适应的遗传算法优化的预测效果
本次实验,隐含层神经元个数为3,群体规模为N=60,交叉概率为p_c=0.8,交叉位置为15L到20L。迭代次数分别设为10次,50次,100次,比较区别。


本次测试出的每一代的最小误差波动相较前几个实验,波动十分巨大,但是产生当前最优解的个数是最大的,说明可以帮助算法跳出局部最优解。

实验5:遗传算法不同参数的遗传算法优化的预测效果

可以看出,虽然最终的最终误差相差很小,但是种群个数为100的遗传算法明显要比种群个数为60的遗传算法收敛效果要好,相应的,算法的运行时间也有所增加。

实验6:BP神经网络算法不同参数的预测效果

可以看出,隐含层神经元个数为3个时,BP神经网络的预测效果更好。


股票预测模型实验结果对比:实验结果选取证综合指数前复权日线数据的总预测曲线。

图1 普通BP神经网络的预测效果
图1中,绿色线为股票真实值。可以看出,进行4次的普通BP神经网络算法的预测,预测效果十分不稳定。


图2 优化BP神经网络的预测效果
图2中,绿色线为股票真实值,红色线为带指标变异操作的遗传算法优化后的BP神经网络的预测值,蓝色线为优劣同时保留的遗传算法优化后的BP神经网络的预测值,黑色线为普通遗传算法优化后的BP神经网络的预测值,紫色线为大变异值的自适应的遗传算法优化后的BP神经网络的预测值。可以看出,这四次实验的预测效果比普通BP神经网络算法的预测效果稳定很多,也更为准确。


图3 优化BP神经网络的预测效果(放大节选)
从图3中,可以看出,预测效果的最好的是优劣同时保留的遗传算法优化后的BP神经网络,其次是带指标变异操作的遗传算法优化后的BP神经网络,然后是普通遗传算法优化后的BP神经网络,最差的是大变异值的自适应的遗传算法优化后的BP神经网络。

针对以上实验,可以得知,在遗传算法的优化下BP神经网络的预测值明显比未优化的普通BP神经网络的预测值更为准确和稳定。更进一步对遗传算法进行优化,优化的关键点在于遗传算法的选择、交叉、变异三大操作,优化后预测的准确度也有了进一步的提升

参考到的资料
https://download.csdn.net/download/u010667861/9617803
[1] 史峰,王辉,郁磊,胡斐. MATLAB智能算法30个案例分析——基于遗传算法的BP神经网络优化算法[M]. 北京航空航天大学出版社,2011:27-37.
[2] 翁苏骏. 遗传算法改进的新思路及其在股市投资中的应用[D]. 厦门:厦门大学,1999.

完整代码下载:

注意,代码下载后仍需自行调试~
有调试能力的人再下载,问关于代码问题的不会回复,应该每个人环境不同,会出现各种问题,需要大家自己解决!!!
积分值为5(如果有变为csdn自行修改)
更新下载地址(抱歉这么久)
https://download.csdn.net/download/zxm_jimin/25625013

本文为原创,转载请注明出处。

基于遗传算法的BP神经网络的股票预测模型_matlab实现相关推荐

  1. BP神经网络优化 | MATLAB基于遗传算法优化BP神经网络(GA-BP)的预测模型(含完整代码)

    文章目录 前言 一.遗传算法描述 二.优化思路 三.完整代码 预测结果 前言 首先需要安装一下遗传算法工具箱,可参考这篇博客 MATLAB遗传算法工具箱安装包及安装方法(图解)_周杰伦今天喝奶茶了吗的 ...

  2. 基于遗传算法的BP神经网络齿轮箱故障诊断实例

    一.BP神经网络概述 BP网络是一类多层的前馈神经网络.它的名字源于在网络训练的过程中,调整网络的权值的算法是误差的反向传播的学习算法,即为BP学习算法.BP算法是 Rumelhart等人在1986年 ...

  3. 基于遗传算法的BP神经网络

    基于遗传算法的BP神经网络 源码地址:https://github.com/Grootzz/GA-BP 介绍: 利用遗传算法并行地优化BP网络的权值和阈值,从而避免了BP网络在优化权值和阈值时陷入局部 ...

  4. 【遗传优化BP网络】基于自适应遗传算法的BP神经网络的股票预测MATLAB仿真

    1.软件版本 MATLAB2021a 2.本算法理论知识 通过MATLAB对BP神经网络,基于遗传优化的BP神经网络,基于改进遗传优化的BP神经网络以及基于改进遗传优化的组合BP神经网络等多种算法的股 ...

  5. gadecod matlab,【预测模型】基于遗传算法优化BP神经网络房价预测matlab源码

    一.简介 1 遗传算法概述 遗传算法(Genetic Algorithm,GA)是进化计算的一部分,是模拟达尔文的遗传选择和自然淘汰的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法 ...

  6. 基于遗传算法改进BP神经网络的电池容量SOC预测

    摘要 为提升新能源汽车的整车动力性.经济性以及安全性,更精确估算车用电池的荷电状态值(SOC),以纯电动汽车动力锂电池为研究对象,采用遗传算法(GA)优化BP神经网络,解决了误差逆传播存在的收敛速度慢 ...

  7. 基于遗传算法的BP神经网络优化算法(GA BP)实用算例

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.工程背景 二.代码(部分) 1.引入库 2.读入数据 进化过程 注意 具体安装步骤 声明 前言 基于遗传算法的BP ...

  8. matlab基于遗传算法的BP神经网络优化算法(附代码)

    神经网络概述 BP网络是一类多层的前馈神经网络.它的名字源于在网络训练的过程中,调整网络的权值的算法是误差的反向传播的学习算法,即为BP学习算法.BP算法是 Rumelhart等人在1986年提出来的 ...

  9. 基于遗传算法的BP神经网络优化算法(附代码)

    BP网络是前向网络的核心部分,是神经网络中的最精华.最完美的部分,由于其简单的结构,可调整的参数多,训练算法也多,而且可操作性好,BP神经网络获得了非常广泛的应用,但是也存在着一些缺陷,例如学习收敛速 ...

最新文章

  1. 用c# 实现设计器 DesignSurface
  2. php 修改html文件内容吗,请问你们怎么将html的文件的内容改变为php
  3. Anaconda中软件库更新
  4. Linux 进程间通信(IPC)---大总结
  5. 添加源ubuntu_x64 安装 Adobe Reader
  6. linux tcl expect 安装(转)
  7. Tool -- 01 -- xml与map相互转换
  8. HTML5制作网页版个人简历
  9. 方差,标准差,协方差,样本标准差,总体标准差,抽样平均误差
  10. 国内it软件外包公司排行榜是怎么样的
  11. 《全网搜索》6.1版 - 更新内容及下载链接
  12. 简单易用的APIv3版微信支付SDK
  13. 程序员为什么要学习软件工程
  14. 两个PDF比较标出差异_[连玉君专栏]如何检验分组回归后的组间系数差异?
  15. cocos2dx 精灵的移动(2)
  16. 联想笔记本声音太小怎么办_笔记本声音太小,详细教您笔记本电脑声音太小解决方法...
  17. Android P适配以太网功能开发指南
  18. uni-app开发经验分享二十二: uni-app大转盘思路解析
  19. c/c++进阶之爱恨交织的临时对象: 二、天使与魔鬼
  20. 2021年11月_IEEE Transactions on Geoscience and Remote Sensing_科技前言热点调查表

热门文章

  1. html5 3D旋转木马幻灯片播放
  2. 管理理念:软件项目管理原则谈
  3. 2019上海到南京的养老保险转移
  4. 找准抖音发作品的最佳时间,让你的播放量提升10倍!
  5. ThinkpadR400键盘失灵的解决方法
  6. WIN10下Visual Studio 2012的安装
  7. 杰理之关于TWS声道配置【篇】
  8. 华为光伏usb适配器_颜值控的好选择—YOGA USBC 65W电源适配器
  9. 面向对象实验unit2-题目1(综合性题目):面向对象实验之实现复试系统
  10. jQuery Chats