# 7Days-PreStock **Repository Path**: ranxv/7Days-PreStock ## Basic Information - **Project Name**: 7Days-PreStock - **Description**: 智能股票预测系统 (Stock Price Prediction System) 本设计是我在 2025 年本科毕业开发的系统,欢迎大家以此为基础开发新的功能或者引入新的模型 - **Primary Language**: Python - **License**: MulanPSL-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2026-01-17 - **Last Updated**: 2026-01-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 智能股票预测系统 (Stock Price Prediction System) 基于深度学习的股票价格预测系统,集成 LSTM、CNN 和 Transformer 三种深度学习模型,支持 A 股和美股的未来 30 天股价预测。系统采用动态加权集成策略,提高预测准确性。 ## 功能特点 - 支持多个市场的股票预测(A 股和美股) - 集成三种深度学习模型(LSTM、CNN、Transformer) - 动态加权集成策略,根据历史表现自动调整模型权重 - 提供最长 30 天的未来股价预测 - 可配置 1-10 年的历史数据训练 - 自动生成预测报告和可视化图表 - 提供模型性能评估指标(MAPE、RMSE、MAE) - 现代化图形用户界面(GUI) - 支持批量预测功能 - 多股票趋势对比分析 - 预测结果可视化和导出 - 实时训练进度显示 - 自动异常处理和数据清洗 - 预测值与实际值对比分析 ## 系统界面功能 ### 1. 预测配置区域 - 股票代码选择(支持下拉列表和手动输入) - 训练年限设置(1-10 年可选) - 预测日期范围选择 - 实时进度条显示 - 操作按钮组: - 开始预测:单只股票预测 - 全部预测:批量预测所有预置股票 - 预测值 VS 实际值:历史预测对比 ### 2. 趋势对比区域 - 多股票选择列表 - 对比时间范围设置 - 趋势图生成和保存 - 自适应图表显示 ### 3. 运行状态区域 - 实时日志显示 - 操作状态反馈 - 错误信息提示 ## 预置股票列表 ### A 股 - 600104.SH (上汽集团) - 002594.SZ (比亚迪) - 601127.SH (赛力斯) - 600006.SH (长城汽车) - 601633.SH (广汽集团) - 300750.SZ (宁德时代) ### 美股 - TSLA (特斯拉) - LI (理想汽车) - NIO (蔚来汽车) - XPEV (小鹏汽车) - RIVN (Rivian 汽车) - LCID (Lucid Motors) - GM (通用汽车) - F (福特汽车) - VWAGY (大众汽车) - TM (丰田汽车) - HMC (本田汽车) - BYDDY (比亚迪美股) ## 技术架构 ### 1. 数据处理模块 - 数据源: - A 股:Tushare Pro API - 美股:Alpha Vantage API - 数据预处理: - 缺失值处理 - 异常值检测 - 数据标准化 - 时序特征提取 ### 2. 特征工程 - 基础技术指标: - 移动平均线(MA5/20/60) - RSI 指标 - MACD 指标 - 布林带 - KDJ 指标 - 高级特征: - ROC(变动率) - 动量指标 - 波动率指标 - 特征维度:15 个主要特征 ### 3. 深度学习模型 #### LSTM 模型 (V2.0) - 架构特点: - 双向 LSTM 层 - 多尺度注意力机制 - 残差连接 - 批归一化 - 参数配置: - 隐藏层维度: 128 - 网络层数: 3 - Dropout 率: 0.2 - 批次大小: 32 - 学习率: 0.001 - 优化器: Adam - 早停耐心值: 15 - 最小学习率: 1e-6 #### CNN 模型 (V2.1) - 架构特点: - 多层一维卷积 - 批归一化层 - 全局平均池化 - 残差连接 - 参数配置: - 卷积核数量: 128 - 卷积核大小: 3 - Dropout 率: 0.3 - 批次大小: 32 - 学习率: 0.001 - 优化器: AdamW - 损失函数: Huber Loss #### Transformer 模型 (V2.0) - 架构特点: - 多头自注意力机制 - 位置编码 - 前馈神经网络 - 多尺度特征提取 - 参数配置: - 模型维度: 128 - 前馈网络维度: 512 - 注意力头数: 8 - Dropout 率: 0.15 - 批次大小: 64 - 预热步数: 4000 - 学习率: 0.0001 - 梯度裁剪阈值: 1.0 #### 动态加权集成模型 (V2.2) - 架构特点: - 基于历史表现的动态权重分配 - 自适应权重调整机制 - 多模型融合预测 - 市场条件感知 - 权重计算策略: - 基于 MAPE 的反比例加权 - 权重归一化处理 - 实时权重更新 - 异常检测与处理 ## 输出文件结构 ``` record/{股票代码}_{日期}/ ├── prediction_results.xlsx │ ├── 未来预测结果 │ │ ├── 日期 │ │ ├── LSTM预测值 │ │ ├── CNN预测值 │ │ ├── Transformer预测值 │ │ └── 加权集成预测值 │ ├── 模型评估指标 │ │ ├── 模型名称 │ │ ├── MAPE (%) │ │ ├── RMSE │ │ └── MAE │ └── 模型配置 │ ├── 模型名称 │ ├── 版本号 │ └── 参数配置 └── images/ ├── historical_comparison.png ├── future_prediction.png └── metrics_comparison.png ``` ## 系统要求 - Python 3.8+ - Windows 10/11 或 Linux - CUDA 支持(推荐用于模型训练加速) ## 依赖安装 ```bash pip install -r requirements.txt ``` ### 主要依赖包 - tushare >= 1.2.89 - alpha_vantage >= 2.3.1 - pandas >= 1.3.0 - numpy >= 1.19.5 - tensorflow >= 2.6.0 - torch >= 1.9.0 - matplotlib >= 3.4.3 - tkinter - tkcalendar >= 1.6.1 - ttkthemes >= 3.2.2 - openpyxl >= 3.0.9 ## 配置说明 ### 1. API 配置 - Tushare Token(用于 A 股数据) - Alpha Vantage API Key(用于美股数据) ### 2. 模型参数配置 - 时间步长: 60 - 训练年限: 1-10 年可选 - 训练集比例: 80% - 预测天数: 最大 30 天 ## 使用注意事项 1. 首次使用前需要配置: - Tushare Token - Alpha Vantage API Key 2. 建议使用 3-10 年的训练数据以获得最佳效果 3. 单次预测时长建议不超过 30 天 4. 批量预测时请注意系统资源占用 5. 预测结果仅供参考,投资需谨慎 6. 确保网络连接稳定以获取实时数据 ## 开发说明 - 项目采用模块化设计,便于扩展和维护 - 代码注释完善,便于理解和二次开发 - 提供完整的测试用例 - 支持自定义模型参数配置 ## 许可证 MIT License ## 贡献指南 欢迎提交 Issue 和 Pull Request 来帮助改进项目。 ## 更新日志 ### V2.2 (当前版本) - 添加动态加权集成模型 - 实现基于历史表现的自适应权重分配 - 优化预测结果可视化 - 添加预测值与实际值对比分析功能 - 改进评估指标计算方法 - 优化数据获取模块,支持更多美股 ### V2.0 - 添加 Transformer 模型 - 优化 UI 界面 - 添加多股票对比功能 - 改进数据预处理流程 - 优化模型参数配置 - 添加预测结果导出功能 ### V1.0 - 基础版本发布 - 支持 LSTM 和 CNN 模型 - 实现基本预测功能 - 简单的数据可视化