问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

如何利用 LSTM 预测上证指数未来值

创作时间:
作者:
@小白创作中心

如何利用 LSTM 预测上证指数未来值

引用
CSDN
1.
https://blog.csdn.net/2402_85668383/article/details/146187637

注意:本次教程是针对往期时间序列模型的一次补充,来实现对未来数据预测的简单示例!
在大部分预测任务的论文里面,一般不需要对未来数据进行预测的可视化展示(只展示模型对历史数据的拟合效果,原因是得不到未来的真实数据,不好评估预测拟合效果,所以会拿部分已知数据集划分为测试集,来充当未来数据进行可视化拟合效果展示)。而在实际项目里面,可能需要对未来数据进行预测,本期作品将介绍如何利用训练好的模型,来预测未来数据!

前言

本文基于2024-1-1到2024-10-26的上证指数收盘价格历史数据(文末附数据集),先经过数据预处理和制作加载,然后通过 Pytorch 实现 LSTM 模型对未来10个交易日收盘价格的预测。预测走势如下:

  • 数据集:上证指数收盘价格历史数据
  • 环境框架:python 3.9 pytorch 1.8 及其以上版本均可运行
  • 使用对象:论文需求、毕业设计、项目需求者
  • 代码保证:代码注释详细、即拿即可跑通。

1 数据集介绍与预处理

1.1 导入数据集

从年初到10.25日,一共195个交易日数据:
取收盘价格为目标预测值!

1.2 数据集制作

按照 8:2 划分训练集,测试集,滑动窗口设置为7

2 基于Pytorch的 LSTM 预测模型

2.1 定义 LSTM 预测模型

2.2 设置参数,训练模型

注意调整参数:

  • 可以修改LSTM层数和每层神经元个数;
  • 增加更多的 epoch (注意防止过拟合)
  • 可以改变滑动窗口长度(设置合适的窗口长度)

3 模型评估与可视化

3.1 结果可视化

3.2 模型评估

4 预测未来数据

4.1 预测思路

第一步:加载训练好的模型,加载历史数据;
第二步:初始化未来预测序列和交易日时间;
第三步:按照训练的输入方式,即用过去历史的 7 步,预测未来 1步,所以用最后的7步历史数据,来预测未来第一天的数据,然后更新这个7个数值的窗口序列,即每预测一次,删除第一个数据,然后把预测的结果加入到最后一个(把预测值当作已知值,预测下一步);

4.2 预测结果可视化

单独预测结果:
结合历史数据可视化:
该模型已经在如下四个全家桶里面更新,请购买过的同学及时更新下载:
(1)单步预测全家桶
最强更新 | 一次拥有,全面掌握 Python 时间序列预测
(2)多步预测全家桶
热点创新 | 基于 KANConv-GRU并行的多步预测模型
(3)麻雀优化算法—创新预测模型全家桶
下载链接:https://mbd.pub/o/bread/mbd-ZZuWlZxr
(4)二次分解——创新模型预测全家桶
VMD + CEEMDAN 二次分解,TCN-Transformer并行预测模型

5 代码、数据整理如下:

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号