基于深度学习的平安银行(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.txtcd src
python train.pypython gen_figures.py- 防泄漏归一化:MinMaxScaler 仅在训练集上 fit,验证集只执行 transform
- 技术指标特征工程:从 6 维 OHLCV 扩展至 13 维(MA5/10/20、RSI-14、布林带宽度等)
- Pre-LN Transformer:采用 Pre-Layer Normalization 提升训练稳定性
- 可学习位置编码:替代固定正弦编码,适应金融序列周期结构
- 余弦退火学习率调度:配合 AdamW 优化器
陈锦彤 - 北京邮电大学智能交互设计专业
MIT License