基于 VectorBT v2.1 的 A 股多策略回测工具,支持两种模式:
报告生成时按以下优先级自动获取/补全数据, 无需手动干预:
优先级数据源说明1本地通达信 .day 文件主数据,通过 mootdx 读取2通达信服务器直连 ( tdxpy)连接 110.41.147.114:7709 获取最新日K线3新浪财经 API前复权日K线,无需 token,稳定可用4AKShare 兜底stock_zh_a_hist() 历史数据,最后兜底
tdxpy(优先级2)、 requests(优先级3)、 akshare(优先级4)bash
pip install vectorbt pandas numpy plotly mootdx tdxpy requests akshare openpyxl
tdxpy — 通达信服务器直连(网络补全优先级2)requests — 新浪财经 API 调用(网络补全优先级3)akshare — 历史数据兜底(网络补全优先级4)bash
export PYTHONIOENCODING=utf-8
python <SKILLS_ROOT>/vbt-report/scripts/report.py <股票代码> [--data-dir <通达信数据路径>] [--output <输出路径>]
参数说明默认值tickerA股6位代码(必填),如 688387、 600519---data-dir通达信数据根目录F:\new_tdx64``--outputHTML 报告输出路径./<ticker>_vbt_report.html
bash
export PYTHONIOENCODING=utf-8
python <SKILLS_ROOT>/vbt-report/scripts/batch_report.py --csv <CSV路径> --output <输出目录> [--data-dir <通达信数据路径>] [--skip-existing]
参数说明默认值--csvCSV文件路径(必填)。列需包含"代码"和"名称"---output输出目录---data-dir通达信数据根目录F:\new_tdx64``--skip-existing跳过已存在的报告文件,只更新索引页否
market=0,深圳市场 market=1策略类型参数MA双均线趋势跟踪fast=[5,10,15,20], slow=[30,50,60,100]RSI超买超卖反转策略period=[7,14,21], oversold=30, overbought=70MACD金叉死叉趋势跟踪标准(12,26,9)布林带突破反转策略period=20, std=2KDJ超买超卖反转策略K<20买入, K>80卖出动量趋势跟踪period=[20,40,60]MA+RSI组合组合策略MA(10,50)金叉 + RSI(14)<30MA+ATR止损趋势跟踪MA(20) + ATR(14)动态止损买入持有基准全程持有
HTML 报告包含:
index.html 索引页包含:
回测结果会受行情极端波动影响。老股(上市>20年)的长周期复利策略可能产生极端收益值(>1000%),索引页会自动标记警告。
text
vbt-report/
├── SKILL.md # 本文档
└── scripts/
├── report.py # 单只报告生成脚本
└── batch_report.py # 批量报告生成脚本 + 索引页