Backtesting.py
以简洁 Strategy / Backtest 接口组织策略、交易模拟、统计和可视化的回测工具。
为什么值得学
适合第一个完整回测项目:核心文件集中,容易同时看懂策略代码和引擎行为。
数据与控制流程
- 1价格表
- 2Strategy.init / next
- 3模拟订单与持仓
- 4权益曲线
- 5统计与图表
此流程为教学归纳,便于建立整体认识;完整条件分支与运行细节请对照下方源码。
架构拆解 · 4 个核心模块
每个入口均已核对,点击可阅读源码策略与回测核心
同一核心文件定义 Strategy、订单、交易、模拟 Broker 与 Backtest。
- 输入
- OHLCV、策略与成本配置
- 输出
- 交易记录和权益曲线
backtesting/backtesting.py策略辅助工具
lib 提供交叉判断、重采样、信号型策略等可组合工具。
- 输入
- 价格或指标序列
- 输出
- 信号及辅助策略行为
backtesting/lib.py统计计算
compute_stats 从权益和交易数据计算收益、回撤等指标。
- 输入
- 权益曲线与交易清单
- 输出
- 统计结果序列
backtesting/_stats.py交互图表
绘图模块将价格、交易、指标与权益呈现为 Bokeh 图表。
- 输入
- 回测结果和行情
- 输出
- 可查看的回测图表
backtesting/_plotting.py建议阅读顺序
- 从 README 的最小均线策略开始
- 读 Backtest.run 的循环和 _Broker 撮合
- 跟踪 compute_stats 的收益与回撤口径
- 最后用图表抽查交易点
动手做一次
用固定 CSV 跑通双均线策略,并与买入持有比较。
完成后,检查这些证据
- 至少手工核对一笔交易
- 记录手续费和成交时点设置
- 输出净值、最大回撤和买入持有基线
适用边界与版本说明
不要默认它是完整多资产实盘系统;同一根 K 线内的成交路径、止损和成交选项需要按源码理解。
Star 快照:9,085 · 核验日期:2026-10-20 · GitHub 归档标记:未归档
核验默认分支:master · 源码固定提交:ca2e2611621e ↗
来源:GitHub 仓库与 Star 页面、README及上述源文件。分层、阅读顺序与练习为本站归纳;未逐一安装运行这些框架,源码提交不等于推荐安装版本。