Skip to content

Mrwhiter2019/Strategy-Backtesting

Repository files navigation

策略回测系统

这是一个基于Python的策略回测系统,使用多种数据源获取股票数据,Backtrader进行回测,Plotly进行结果可视化。

项目结构

.
├── backtest_engine.py       # 回测引擎模块
├── config.json             # 配置文件
├── data_fetcher.py         # 数据获取模块
├── grid_strategy.py        # 网格策略实现
├── main.py                 # 主程序入口
├── requirements.txt        # 依赖列表
├── visualization.py        # 可视化模块
└── yield_comparison.html   # 生成的收益率对比图(运行后产生)

功能特点

  1. 数据获取: 支持多种数据源(akshare、tushare、yfinance),网络连接失败时自动生成模拟数据
  2. 策略实现: 实现标准网格交易策略
  3. 回测引擎: 使用Backtrader进行回测,计算关键性能指标
  4. 可视化: 使用Plotly绘制策略收益率与基准股票收益率的对比图
  5. 配置管理: 通过JSON配置文件管理所有参数

安装依赖

pip install -r requirements.txt

配置参数

config.json 文件中可以配置以下参数:

  • symbol: 股票代码
  • start_date: 回测开始时间 (YYYYMMDD格式)
  • end_date: 回测结束时间 (YYYYMMDD格式)
  • period: 回测周期 (daily/weekly/monthly)
  • benchmark_symbol: 基准股票代码
  • grid_num: 网格数量
  • grid_spacing: 网格间距
  • initial_cash: 初始资金
  • allocation_ratio: 每格资金分配比例

数据源说明

系统支持以下数据源,按优先级顺序尝试:

  1. akshare: 默认数据源,无需额外配置
  2. tushare: 需要申请token并在代码中配置
  3. yfinance: 适用于国际股票市场
  4. 模拟数据: 当所有数据源都不可用时自动生成

运行系统

python main.py

运行完成后会生成 yield_comparison.html 文件,其中包含策略收益率与基准股票收益率的对比图。

生成的文件

  • yield_comparison.html: 交互式收益率对比图

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages