# 7Days-PreStock **Repository Path**: beituo/7Days-PreStock ## Basic Information - **Project Name**: 7Days-PreStock - **Description**: 智能股票预测系统 (Stock Price Prediction System) - **Primary Language**: Python - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2025-02-23 - **Last Updated**: 2025-02-23 ## 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) - 直观的图形用户界面 - 支持批量预测功能 - 自动处理异常值和缺失数据 - 动态学习率调整 - 多尺度特征提取 - 突发事件检测处理 ## 预置股票 系统预置了以下新能源汽车相关股票: - A 股: - 600104.SH (上汽集团) - 002594.SZ (比亚迪) - 601127.SH (赛力斯) - 600006.SH (长城汽车) - 601633.SH (广汽集团) - 300750.SZ (宁德时代) - 美股: - TSLA (特斯拉) - LI (理想汽车) - NIO (蔚来汽车) - XPEV (小鹏汽车) ## 系统要求 - Python 3.8+ - Windows 10/11 或 Linux - CUDA 支持(推荐用于模型训练加速) ## 依赖安装 ```bash pip install -r requirements.txt ``` 主要依赖包: - tushare >= 1.2.89 (A 股数据源) - yfinance >= 0.2.3 (美股数据源) - pandas >= 1.3.0 - numpy >= 1.19.5 - scikit-learn >= 0.24.2 - tensorflow >= 2.6.0 - torch >= 1.9.0 - matplotlib >= 3.4.3 - pyecharts >= 2.0.0 ## 模型架构 ### 1. LSTM 模型 (V2.0) - 双向 LSTM 结构,支持双向信息流 - 多尺度注意力机制 - 突发事件检测和处理 - 残差连接和层归一化 - 动态学习率调整 - 梯度裁剪防止梯度爆炸 - 参数配置: - 隐藏层维度: 128 - 网络层数: 3 - Dropout 率: 0.2 - 批次大小: 32 - 学习率: 0.001 ### 2. CNN 模型 (V2.1) - 多尺度卷积核(1x1, 3x3, 5x5) - 批归一化和 Dropout 正则化 - Huber 损失函数 - 参数配置: - 卷积核数量: 128 - Dropout 率: 0.3 - 批次大小: 32 - 学习率: 0.001 - 优化器: AdamW ### 3. Transformer 模型 (V2.0) - 8 头注意力机制 - 3 层编码器结构 - 位置编码增强时序信息 - 多尺度特征提取 - 参数配置: - 模型维度: 128 - 前馈网络维度: 512 - 注意力头数: 8 - Dropout 率: 0.15 - 批次大小: 64 ## 数据处理流程 1. 数据获取 - A 股:通过 Tushare API 获取 - 美股:通过 yfinance 获取 2. 数据预处理 - 自动处理缺失值和异常值 - 计算技术指标(MA、RSI、MACD、KDJ 等) - 数据标准化和归一化 - 时序数据增强 3. 特征工程 - 移动平均线(MA5、MA20、MA60) - 相对强弱指标(RSI) - MACD 指标 - 布林带指标 - KDJ 指标 - 波动率指标 - 动量指标 ## 使用说明 1. 启动系统: ```bash python app/main.py ``` 2. 在界面中选择: - 股票代码(可从预置列表选择或手动输入) - 训练年限(1-10 年) - 预测起始日期 - 预测结束日期(最多预测 30 天) 3. 点击"开始预测"按钮开始训练和预测 4. 点击"全部预测"按钮可以批量预测所有预置股票 ## 输出文件 预测结果将保存在 `record/{股票代码}_{日期}` 目录下: 1. `prediction_results.xlsx`:包含四个工作表 - 未来预测结果:30 天的预测数据 - 历史预测结果:模型在历史数据上的表现 - 评估指标:各模型的 MAPE、RMSE、MAE 指标 - 模型配置:各模型的参数配置 2. `images/` 目录: - `historical_comparison.png`:历史预测对比图 - `future_prediction.png`:未来预测趋势图 - `metrics_comparison.png`:模型评估指标对比图 ## 评估指标 - MAPE(平均绝对百分比误差):衡量预测值与实际值的相对误差 - RMSE(均方根误差):反映预测的准确性 - MAE(平均绝对误差):反映预测的平均偏差 - 训练时长统计:记录模型训练耗时 - 预测准确率分析:不同时间尺度的准确率统计 ## 注意事项 1. 首次使用需要配置 Tushare Token(用于获取 A 股数据) 2. 预测时长建议不超过 30 天 3. 建议使用 3-10 年训练数据以获得最佳效果 4. 预测结果仅供参考,投资需谨慎 5. GPU 加速需要正确配置 CUDA 环境 ## 许可证 MIT License ## 贡献 欢迎提交 Issue 和 Pull Request