流式统一内核:阶段 4 观察窗口清单¶
本文用于指导 run_backtest 完成流式统一改造后的观察窗口执行,目标是在不破坏用户体验的前提下,决定是否推进到“移除旧阻塞分叉代码”阶段。
1. 观察周期¶
- 推荐观察周期:
2~4周,或至少覆盖2个内部版本发布周期。 - 至少覆盖场景:
- 单标的/多标的回测
- 短回测/长回测
- 无
on_event(默认用法)与有on_event(流式消费)两类调用
2. 必看指标¶
2.1 稳定性指标¶
- 回测失败率(按任务数):应不高于改造前基线。
- 回调异常率(
callback_error_count > 0占比):应可解释并可复现。 - 关键事件完整性:
started与finished必须一一对应。
2.2 结果一致性指标¶
- 核心结果一致性(抽样回放):
- 总收益率(
total_return) - 最大回撤(
max_drawdown) - 成交笔数(
len(trades)) - 判定原则:与改造前基线对比无系统性偏移;允许浮点微小差异。
2.3 性能指标¶
- 回测总耗时 P50/P95:不应出现明显劣化。
- 峰值内存:不应出现异常增长。
- 事件吞吐(有
on_event):在高频场景下无明显积压。
2.4 用户体验指标¶
- 现有
run_backtest(...)调用零改动可运行比例:目标100%。 - 新增迁移问题工单数:持续下降或稳定在低位。
3. 推进门槛(Go / No-Go)¶
满足以下全部条件,可推进阶段 5:
- 连续
2个发布周期无 P0/P1 级回归。 - 一致性抽样全部通过(无系统性偏移)。
- 性能指标相对基线无显著退化。
- 兼容入口
run_backtest无新增破坏性反馈。
出现以下任一条件,保持观察并延后阶段 5:
- 出现无法快速规避的结果偏差问题。
- 关键路径性能显著退化且短期无法修复。
- 用户侧出现较多与统一内核直接相关的阻断问题。
4. 回滚与兜底¶
- 阶段 5 后采用版本级回滚,不再提供运行时参数级回滚开关。
- 回滚后应记录:
- 触发条件
- 影响范围
- 修复计划与恢复目标版本
5. 阶段 5 前置清单¶
- 清理并确认所有内部调用默认走统一内核。
- 保留
run_backtest_stream作为显式语义入口。 - 明确发布说明:阶段 5 只移除内部分叉实现,不改变公共 API 行为。