Skip to content

qiadastrachen-bit/Stock-Prediction-DeepLearning

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Stock-Prediction-DeepLearning

基于深度学习的平安银行(000001)股价预测实验项目,北京邮电大学深度学习课程实践。

项目简介

本项目利用 2020--2026 年平安银行历史交易数据,构建 LSTM 与 Transformer 两种深度学习模型预测日度收盘价。数据处理采用严格时序分割与防泄漏归一化策略,并引入 MA5/10/20、RSI-14、布林带宽度等技术指标将特征维度从 6 维扩展至 13 维。

主要结论

  • 朴素基线在 MAE/RMSE 上占优(随机游走挑战),但 LSTM 以 52.7% 的方向准确率显著超越基线的 47.0%
  • LSTM 在本任务中优于 Transformer(受限于样本量与模型容量)
  • 两模型对 2026-03-31 收盘价的预测误差均控制在 0.53% 以内

项目结构

Stock-Prediction-DeepLearning/
├── data/                        # 数据集
│   └── a_stock_cleaned_20260331.csv
├── src/                         # 源代码
│   ├── preprocess.py             # 数据预处理与特征工程
│   ├── models.py                # LSTM & Transformer 模型定义
│   ├── train.py                 # 训练入口
│   ├── gen_figures.py           # 实验结果图生成
│   └── config.py                # 超参数配置
├── models/                      # 训练好的模型权重
│   ├── LSTM_best.pth
│   └── Transformer_best.pth
├── figures/                     # 实验结果图
├── report/                      # LaTeX 论文(Overleaf 兼容)
│   ├── main.tex
│   ├── figures/
│   └── *.ttf                    # 字体文件
├── docs/                        # PPT、讲稿等文档
├── requirements.txt
└── .gitignore

快速开始

环境配置

pip install -r requirements.txt

训练模型

cd src
python train.py

生成实验图

python gen_figures.py

技术要点

  • 防泄漏归一化:MinMaxScaler 仅在训练集上 fit,验证集只执行 transform
  • 技术指标特征工程:从 6 维 OHLCV 扩展至 13 维(MA5/10/20、RSI-14、布林带宽度等)
  • Pre-LN Transformer:采用 Pre-Layer Normalization 提升训练稳定性
  • 可学习位置编码:替代固定正弦编码,适应金融序列周期结构
  • 余弦退火学习率调度:配合 AdamW 优化器

作者

陈锦彤 - 北京邮电大学智能交互设计专业

许可证

MIT License

About

Stock price prediction comparing LSTM vs Transformer, with technical indicator feature engineering and anti-leakage normalization.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors