Skip to content

hangzhangust/quant

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

网格交易策略回测系统 - 使用说明

系统概述

这是一个完整的网格交易策略回测和优化系统,能够:

  • 解析Table.xls文件中的ETF网格配置
  • 批量回测多个ETF的网格交易策略
  • 生成完整的回测指标和优化建议
  • 提供Web界面进行可视化操作

快速开始

1. 启动Web应用

cd C:\Users\zhanghang\OneDrive\Python\quant
streamlit run app.py

应用将在 http://localhost:8501 启动

2. 准备数据文件

标准Excel格式(推荐)

创建包含以下列的Excel文件:

  • ETF名称(如:科创50ETF)
  • ETF代码(如:159682)
  • 基准价(如:1.408)
  • 卖出网格间距(%)(如:2.0)
  • 买入网格间距(%)(如:4.0)
  • 委托数量(如:1000)

原始Table.xls格式

系统也支持从华泰证券导出的原始Table.xls文件

3. 上传文件并运行

  1. 在Web界面左侧边栏上传您的Table.xls文件
  2. 配置回测参数(时间范围、并行线程数)
  3. 点击"🚀 开始批量回测"按钮
  4. 等待回测完成并查看结果

系统功能

📊 完整指标体系

  • 基础指标: 总收益率、年化收益率、最大回撤、夏普比率、索提诺比率
  • 交易指标: 胜率、盈亏比、交易次数、平均持仓时间、交易成本
  • 风险指标: VaR(95%)、CVaR(95%)、年化波动率、贝塔系数、最大连续亏损

💡 智能优化建议

  • 基于历史波动率的网格间距优化
  • 买卖比例合理性分析
  • 交易频率优化建议
  • 风险管理参数调整

📈 可视化展示

  • 回测结果表格(支持排序和筛选)
  • 收益分布直方图
  • 风险收益散点图
  • 相关性分析矩阵
  • 排行榜展示

💾 数据导出

  • CSV格式结果导出
  • 优化建议报告导出
  • 详细的性能分析数据

系统架构

quant/
├── app.py                          # Streamlit主应用
├── src/
│   ├── data/                       # 数据处理模块
│   │   ├── grid_config_parser.py   # 网格配置解析器
│   │   └── market_data_fetcher.py  # 市场数据获取
│   ├── strategies/                 # 策略模块
│   │   └── grid_strategy.py        # 网格策略实现
│   ├── core/                       # 核心引擎
│   │   └── backtest_engine.py      # 回测引擎
│   ├── analysis/                   # 分析模块
│   │   └── metrics_calculator.py   # 指标计算器
│   └── web/                        # Web模块
│       ├── batch_backtest_engine.py # 批量回测引擎
│       ├── optimization_advisor.py # 优化建议生成器
│       └── results_display.py      # 结果展示
└── README.md                       # 使用说明

技术特性

  • 并行处理: 多线程并行回测,支持同时处理17个ETF
  • 实时进度: 显示处理进度和状态更新
  • 错误处理: 完善的异常处理和错误恢复机制
  • 数据质量: 自动评估数据质量和完整性
  • 风险评级: 智能风险评级和管理建议
  • 多数据源: 支持jqdatasdk、tushare、XTQuant、akshare、yfinance等多种数据源
  • 实时数据: XTQuant实时数据订阅和推送功能

测试示例

系统包含test_table.xls文件,包含3个ETF的测试数据:

  • 科创50ETF (159682)
  • 沪深300ETF (510300)
  • 芯片ETF (159995)

可用于测试系统的完整功能。

数据源支持

系统集成了多种数据源,按优先级自动切换:

🏆 付费数据源(高质量)

  1. jqdatasdk (优先级1) - 聚宽,专业量化数据
  2. Tushare Pro (优先级2) - Tushare专业版
  3. Wind (优先级3) - 万得金融终端

🆓 免费数据源

  1. XTQuant (优先级9) - 迅投,高质量免费数据源 ✨
  2. AKShare (优先级10) - AKShare免费数据
  3. Yahoo Finance (优先级11) - 雅虎财经国际数据

📡 实时数据功能

XTQuant提供完整的实时数据支持:

  • 实时价格推送
  • 自定义回调处理
  • 多标的同时订阅
  • 订阅状态管理
# 安装XTQuant
pip install xtquant

# 运行集成测试
python test_xtquant_integration.py

注意事项

  1. 数据要求: 确保ETF代码正确且市场数据可用
  2. 网络连接: 需要网络连接获取实时市场数据
  3. 处理时间: 17个ETF的完整回测大约需要1-3分钟
  4. 浏览器兼容: 推荐使用Chrome或Firefox浏览器

系统输出示例

回测完成!成功处理 17/17 个ETF,耗时 45.23 秒

科创50ETF (159682):
  总收益率: +12.34%
  夏普比率: 1.85
  最大回撤: -8.45%
  胜率: 67.5%
  风险评级: 中等风险 AAAA

优化建议:
  1. 建议降低买入网格间距,当前买入/卖出比例为1:2.1
  2. 该ETF波动率较高(24.5%),建议缩小网格间距至1.6%/3.2%
  3. 夏普比率表现优秀,可以继续使用当前参数

系统版本: 1.0.0 开发时间: 2025年11月 技术支持: Claude Assistant

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages