跳转至

流式统一内核:阶段 4 观察窗口清单

本文用于指导 run_backtest 完成流式统一改造后的观察窗口执行,目标是在不破坏用户体验的前提下,决定是否推进到“移除旧阻塞分叉代码”阶段。

1. 观察周期

  • 推荐观察周期:2~4 周,或至少覆盖 2 个内部版本发布周期。
  • 至少覆盖场景:
  • 单标的/多标的回测
  • 短回测/长回测
  • on_event(默认用法)与有 on_event(流式消费)两类调用

2. 必看指标

2.1 稳定性指标

  • 回测失败率(按任务数):应不高于改造前基线。
  • 回调异常率(callback_error_count > 0 占比):应可解释并可复现。
  • 关键事件完整性:startedfinished 必须一一对应。

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 行为。