回测执行与指标口径¶
2026-10-25更新:策略库默认按实际端口选择引擎;真实行情按请求日期分批读取并与同期指数交易日核对,不再用最近条数代替旧区间。模型预热与正式净值分开,普通多标的按日期驱动与估值;图形组合记录冻结执行费用、滑点及风险参数。后台任务与API/CLI共用持久化Runner,失败和取消保留ID。详细操作见一键回测与工作台。
执行链路¶
simple 引擎加载已验证策略,读取实际可得日 K,调用标准端口生成 long/flat 信号,按订单、手数和仓位约束撮合,再更新现金、持仓、费用和组合净值。日线引擎不能模拟逐笔队列、真实市场冲击或完整券商规则。
模型与 ETF 策略使用滞后特征或信号,在下一交易日开盘执行;普通规则策略仍应按其实际信号时点核查,不能把所有示例都当作已具备相同时点保证。真实历史无区间内数据直接失败;mock 只证明流程。
主要指标¶
| 指标 | 当前解释与限制 |
|---|---|
| 总收益 | 期末权益相对初始资金的变化,包含未平仓估值和已计入成本 |
| 年化收益与波动 | 以观测日收益按交易日口径折算;短样本不能当作长期预测 |
| 最大回撤 | 净值相对此前峰值的最大跌幅;结合峰谷日期、持续与恢复时间读取 |
| Sharpe / Sortino | 日收益相对整体波动或下行波动的风险调整比率,当前非自定义完整无风险曲线模型 |
| Calmar | 年化收益相对最大回撤绝对值;无回撤、少样本时需结合说明读取 |
| 历史 VaR | 观测日收益尾部的历史估计,不保证未来损失上限 |
| 胜率、Profit Factor、期望盈亏 | 以已平仓交易衡量;无亏损或无成交时存在未定义/退化情况,不能只按比率排名 |
| 费用与累计换手 | 使用引擎实际成交和资金口径;并非真实盘口成交或机构完整成本模型 |
| 跟踪误差 | 策略与标的池等权买入持有的日收益差年化波动;不是 ETF 官方指数跟踪误差 |
基准标签为“标的池等权买入持有”,不自动读取沪深300或基金官方指数。资金曲线、月度热力、滚动风险、交易分布和持仓暴露分别回答不同问题,不能用一个收益数替代完整评估。
归因与验证¶
标的贡献与拖累来自实际交易和期末持仓,已实现与未实现盈亏应分别核对。零成交时空交易归因可能正常;缺失曲线、区间外日期或不平衡账本则需要排查。
Qlib 是原生 Workflow 适配链路,环境、provider、Workflow 和执行入口都需就绪。仅产出指标就显示摘要,不伪造净值;当前模型 simple 回测成功不能作为 Qlib 训练成功。
操作见回测指南。最低佣金、日期税费、成本加回与独立零成本实验的区别见执行成本原理。实现口径以 src/engine/backtest/engines.py 的指标计算和共享执行账本为准。