cn-vhql
Futures_ML
Python

一个基于机器学习的期货价格预测系统,使用Streamlit构建交互式Web界面,支持多种技术指标分析和智能预测。

Last updated Jun 29, 2026
10
Stars
1
Forks
0
Issues
0
Stars/day
Attention Score
3
Language breakdown
Python 99.0%
Shell 1.0%
Files click to expand
README

🤖 AI期货预测系统

License: GPL v3 Python 3.8+ Streamlit

一个基于机器学习的期货价格预测系统,使用Streamlit构建交互式Web界面,支持多种技术指标分析和智能预测。

✨ 主要功能

📊 数据管理

  • 多品种支持: 支持多种期货品种(原油、黄金、白银、铜等)
  • 实时数据: 获取最新的期货市场数据
  • 数据预览: 完整的数据质量检查和统计信息
  • 趋势分析: 自动分析价格趋势分布

🎯 特征工程

  • 33个技术指标: 包括移动平均线、RSI、MACD、布林带、KDJ等
  • 智能特征选择: 可视化特征配置界面,支持自定义特征组合
  • 预设配置: 提供5种预设特征配置(基础、技术分析、全特征等)
  • 特征重要性: 自动计算和显示特征重要性排名

🤖 机器学习

  • 多模型支持: 随机森林、XGBoost、LightGBM、线性回归等
  • 双重任务: 支持回归(价格预测)和分类(趋势预测)
  • 自动调优: 智能超参数优化
  • 性能评估: 全面的模型评估指标和可视化

🔮 智能预测

  • 未来趋势: 预测未来1-10天的价格走势
  • 置信度分析: 提供预测结果的置信度评估
  • 详细报告: 自动生成专业的预测分析报告
  • 可视化图表: 直观的预测结果展示

🏗️ 系统架构

📁 ai_quick/                    # 项目根目录
│
├── 🚀 应用入口
│   ├── app.py                  # 🎯 主启动文件
│   └── setup.py                # 📦 包安装配置
│
├── 📁 src/                     # 源代码目录
│   ├── streamlit_app.py        # 🎨 主应用界面
│   ├── data_fetcher.py         # 📊 数据获取模块
│   ├── data_processor.py       # 🔧 数据处理和特征工程
│   ├── model_trainer.py        # 🤖 模型训练和评估
│   ├── model_predictor.py      # 🔮 预测和报告生成
│   ├── model_config.py         # ⚙️ 模型配置管理
│   └── feature_library.py      # 📖 特征库管理系统
│
├── 📁 config/                  # 配置文件目录
│   └── feature_configs.json    # 💾 特征配置文件(自动生成)
│
├── 📁 docs/                    # 文档目录
│   ├── FEATURECONFIGGUIDE.md # 📋 特征配置使用指南
│   └── PROJECT_OVERVIEW.md     # 📋 项目结构概览
│
├── 📄 项目文档
│   ├── README.md               # 📖 项目主要说明文档
│   ├── CHANGELOG.md            # 📈 版本更新日志
│   ├── LICENSE                 # ⚖️ GPL v3 开源许可证
│   ├── requirements.txt        # 📦 Python依赖包列表
│   └── .gitignore              # 🚫 Git忽略文件
│
└── 📁 tests/                   # 测试目录 (待开发)

核心模块说明

| 模块 | 功能 | 主要类/函数 | |------|------|-------------| | streamlitapp.py | Web界面和用户交互 | main(), render*_tab() | | datafetcher.py | 期货数据获取 | getfutures_data() | | dataprocessor.py | 数据处理和特征工程 | calculatetechnicalindicators(), createfeatures_targets() | | modeltrainer.py | 模型训练和评估 | traincompleteworkflow(), evaluatemodel_performance() | | modelpredictor.py | 预测和报告生成 | predictfuturetrend(), generateprediction_report() | | model_config.py | 模型配置管理 | ModelConfig, ModelEvaluator | | feature_library.py | 特征库管理 | FeatureLibrary, FeatureConfig |

🚀 快速开始

环境要求

  • Python 3.8+
  • 2GB+ RAM
  • 网络连接(获取数据)

安装步骤

  • 克隆项目
git clone https://github.com/yourusername/ai_quick.git
cd ai_quick
  • 安装依赖
# 方式1: 使用requirements.txt
pip install -r requirements.txt

方式2: 使用setup.py(推荐)

pip install -e .
  • 启动应用
# 方式1: 使用streamlit直接运行
streamlit run app.py

方式2: 使用命令行工具(安装后)

ai-futures
  • 访问应用
打开浏览器访问 http://localhost:8501

alt text alt text alt text alt text alt text alt text

📖 使用指南

基础使用流程

  • 📊 数据获取
- 选择期货品种 - 设置日期范围 - 点击"获取数据"
  • ⚙️ 特征配置
- 选择预设配置或自定义特征 - 保存特征配置(可选)
  • 🤖 模型训练
- 配置训练参数 - 选择任务类型(回归/分类) - 点击"开始训练"
  • 🔮 查看预测
- 查看训练结果和模型性能 - 生成未来预测报告 - 分析特征重要性

高级功能

特征配置管理

  • 访问"⚙️ 特征配置"标签页
  • 使用预设配置快速开始
  • 自定义选择特定技术指标
  • 保存和加载特征配置
详细使用说明请参考:docs/FEATURECONFIGGUIDE.md

🔧 技术指标说明

基础指标

  • OHLCV: 开盘价、最高价、最低价、收盘价、成交量
  • 移动平均线: MA5、MA10、MA20
  • 价格变化: 1日、3日、5日价格变化率

技术指标

  • RSI: 相对强弱指数(超买超卖指标)
  • MACD: 指数平滑异同移动平均线
  • 布林带: 价格通道指标
  • KDJ: 随机指标
  • 威廉指标: 超买超卖指标

高级指标

  • ATR: 平均真实波幅(波动率)
  • VWAP: 成交量加权平均价
  • OBV: 能量潮指标
  • CCI: 商品通道指数

📊 模型性能

支持的算法

  • 随机森林 (Random Forest)
  • XGBoost (Extreme Gradient Boosting)
  • LightGBM (Light Gradient Boosting)
  • 线性回归 (Linear Regression)
  • 支持向量机 (Support Vector Machine)
  • 决策树 (Decision Tree)

评估指标

  • 回归任务: R²、MAE、MSE、RMSE
  • 分类任务: 准确率、精确率、召回率、F1分数
  • 混淆矩阵: 详细分类结果分析

🛠️ 开发指南

添加新特征

  • dataprocessor.pycalculatetechnical_indicators() 函数中添加计算逻辑
  • feature_library.py 中定义新特征的配置
  • 更新特征描述和类别

添加新模型

  • modelconfig.pygetdefault_config() 中添加模型配置
  • 在相应的训练函数中添加模型训练逻辑
  • 更新模型评估和可视化代码

自定义配置

所有主要参数都可以通过界面或配置文件调整:

  • 训练参数: 历史天数、预测天数、训练集比例
  • 特征配置: 启用的技术指标列表
  • 模型参数: 各算法的超参数设置

⚠️ 重要声明

投资风险提示

⚠️ 本系统仅供学习和研究使用,不构成投资建议
  • 期货市场存在重大风险,可能导致资金损失
  • 预测结果基于历史数据,不保证未来准确性
  • 投资决策应结合多种分析方法
  • 请根据自身风险承受能力谨慎投资

技术限制

  • 数据质量依赖于数据源
  • 模型性能受市场环境影响
  • 极端市场条件下预测可能失效
  • 建议定期重新训练模型

🤝 贡献指南

欢迎贡献代码、报告问题或提出建议!

贡献流程

  • Fork 项目
  • 创建功能分支 (git checkout -b feature/AmazingFeature)
  • 提交更改 (git commit -m 'Add some AmazingFeature')
  • 推送到分支 (git push origin feature/AmazingFeature)
  • 开启 Pull Request

代码规范

  • 遵循 PEP 8 代码风格
  • 添加适当的注释和文档字符串
  • 确保所有测试通过
  • 更新相关文档

📄 许可证

本项目采用 GPL v3 开源许可证。详情请参考 LICENSE 文件。

GPL v3 主要条款

  • ✅ 自由使用、修改、分发
  • ✅ 商业使用
  • ⚠️ 修改后的代码必须开源
  • ⚠️ 需要包含许可证和版权声明
  • ⚠️ 提供源代码访问途径

📞 联系方式

  • 项目主页: https://github.com/cn-vhql/Futures_ML
  • 问题反馈: https://github.com/cn-vhql/Futures_ML/issues
  • 邮箱: yl_zhangqiang@foxmail.com

🙏 致谢

感谢以下开源项目的支持:


⭐ 如果这个项目对你有帮助,请给个Star支持一下!

📈 更新日志

v1.0.0 (最新)

  • ✨ 完整的特征配置管理系统
  • 🤖 多模型机器学习支持
  • 📊 交互式Web界面
  • 📈 期货价格预测功能
  • 🔮 智能报告生成
  • 💾 配置保存和加载

未来计划

  • 🌐 多市场数据源支持
  • 📱 移动端适配
  • 🔄 实时数据更新
  • 🎯 策略回测功能
  • 📊 更多技术指标
  • 🤖 深度学习模型支持

免责声明: 本项目仅用于教育和研究目的。使用本系统进行实际交易的任何损失由用户自行承担。

🔗 More in this category

© 2026 GitRepoTrend · cn-vhql/Futures_ML · Updated daily from GitHub