计算机竞赛 深度学习 大数据 股票预测系统 - python lstm
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
文章目录
0 前言
优质竞赛项目系列今天要分享的是
深度学习 大数据 股票预测系统
该项目较为新颖适合作为竞赛课题方向学长非常推荐
学长这里给一个题目综合评分(每项满分5分)
- 难度系数3分
- 工作量3分
- 创新点4分
更多资料, 项目分享
https://gitee.com/dancheng-senior/postgraduate
1 课题意义
利用神经网络模型如果能够提高对股票价格的预测精度更好地掌握股票价格发展趋势这对于投资者来说可以及时制定相应的发展策略更好地应对未来发生的不确定性事件对于个人来说可以降低投资风险减少财产损失实现高效投资具有一定的实践价值。
1.1 股票预测主流方法
股票市场复杂、非线性的特点使我们难以捉摸其变化规律目前有很多预测股票走势的论文和算法。
定量分析从精确的数据资料中获得股票发展的价值规律通过建立模型利用数学语言对股市的发展情况做出解释与预测。
目前常用的定量分析方法有
- 传统时间序列预测模型
- 马尔可夫链预测
- 灰色系统理论预测
- 遗传算法
- 机器学习预测等方法
2 什么是LSTM
LSTM是长短期记忆网络LSTMLong Short-Term Memory想要理解什么是LSTM首先要了解什么是循环神经网络。
2.1 循环神经网络
对于传统的BP神经网络如深度前馈网络、卷积神经网络来说同层及跨层之间的神经元是独立的但实际应用中对于一些有上下联系的序列来说如果能够学习到它们之间的相互关系使网络能够对不同时刻的输入序列产生一定的联系像生物的大脑一样有“记忆功能”这样的话我们的模型也就会有更低的训练出错频率及更好的泛化能力。
JordanMI提出序列理论描述了一种体现“并行分布式处理”的网络动态系统适用于语音生成中的协同发音问题并进行了相关仿真实验ElmanJL认为连接主义模型中对时间如何表示是至关重要的1990年他提出使用循环连接为网络提供动态内存从相对简单的异或问题到探寻单词的语义特征网络均学习到了有趣的内部表示网络还将任务需求和内存需求结合在一起由此形成了简单循环网络的基础框架。
循环神经网络RNN之间的神经元是相互连接的不仅在层与层之间的神经元建立连接而且每一层之间的神经元也建立了连接隐藏层神经元的输入由当前输入和上一时刻隐藏层神经元的输出共同决定每一时刻的隐藏层神经元记住了上一时刻隐藏层神经元的输出相当于对网络增添了“记忆”功能。我们都知道在输入序列中不可避免会出现重复或相似的某些序列信息我们希望RNN能够保留这些记忆信息便于再次调用且RNN结构中不同时刻参数是共享的这一优点便于网络在不同位置依旧能将该重复信息识别出来这样一来模型的泛化能力自然有所上升。
RNN结构如下
开发环境
如果只运行web项目则只需安装如下包
-
python 3.6.x
-
django >= 2.1.4 或者使用conda安装最新版
-
pandas >= 0.23.4 或者使用conda安装最新版
-
numpy >= 1.15.2 或者使用conda安装最新版
*apscheduler = 2.1.2 请用pip install apscheduler==2.1.2 安装conda装的版本不兼容
如果需要训练模型或者使用模型来预测(注需要保证本机拥有 NVIDIA GPU以及显卡驱动)则还需要安装 -
tensorflow-gpu >= 1.10.0 可以使用conda安装最新版。如用conda安装cudatoolkit和cudnn会被自动安装
-
cudatoolkit >= 9.0 根据自己本机的显卡型号决定请去NVIDIA官网查看
-
cudnn >= 7.1.4 版本与cudatoolkit9.0对应的其他版本请去NVIDIA官网查看对应的cudatoolkit版本
-
keras >= 2.2.2 可以使用conda安装最新版
-
matplotlib >= 2.2.2 可以使用conda安装最新版
数据获取
训练模型的数据即10个公司的历史股票数据。获取国内上市公司历史股票数据,
并以csv格式保存下来。csv格式方便用pandas读取输入到LSTM神经网络模型 用于训练模型以及预测股票数据。
最后
更多资料, 项目分享
https://gitee.com/dancheng-senior/postgraduate
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |