无行情订阅也能跑通:演示数据、最小数据集与回归

做量化平台对外演示、对内联调时,最容易发生的失败不是策略本身,而是依赖外部行情:

  • 行情订阅权限临时失效
  • WS 不稳定、断线重连、数据缺口
  • 回填接口限流或延迟

如果你的系统“没有行情就无法跑”,就无法形成稳定的产品验收与工程回归。
结论先行:EasyQuant 把“无外部行情也能跑通闭环”当作交付底座能力:用演示数据与模拟数据保证最短闭环始终可复现,并用最小数据集支撑回归测试与持续迭代。


一、为什么必须支持 Mock/Seed?

在交付视角,Mock/Seed 不是 demo 技巧,而是三件关键能力:

  1. 可演示:对外展示不依赖外部不确定性
  2. 可联调:前后端/策略/回测/图表可以独立推进
  3. 可回归:升级指标/DSL/执行链路后能稳定验证行为是否变化

这会直接决定系统的“交付下限”:没有它,你的系统永远只能在“环境好的时候”才看起来可用。


二、演示数据(Seed Demo):产品级最短闭环

EasyQuant 推荐的最短验收闭环(见 02)里,“写入演示数据”是关键一环:

  • 一键清理上一轮演示残留
  • 写入可跑通的策略实例、Universe、资金账户
  • 写入可用于回测与图表展示的 1m bars(必要时含模拟走势形态)

它的产品价值是:

  • 新人 5 分钟就能跑通闭环
  • 测试环境可重复验收
  • 错误定位更容易(先排除外部行情问题)

三、模拟数据:让策略“真的会触发”

很多系统的模拟数据只是一条重复的正弦曲线,导致策略触发行为不稳定或不贴近实际。
平台更推荐的做法是:按策略类型生成“可触发的走势形态”,例如:

  • 均线策略:带趋势与回撤的走势(能出现金叉/死叉)
  • Bollinger:有阶段性收敛与扩张的波动(能出现突破与回归)
  • RSI/均值回归:有超买超卖段落(能出现反转信号)

这样你在没有外部行情时,也能验证:

  • 信号引擎是否工作
  • 成交点是否能正确画在图上
  • Blocking Reasons 是否能在“无成交”时给出正确归因

四、最小数据集(Minimal Dataset):为回归测试服务

当系统进入持续迭代阶段,你需要一套“可复现的固定输入”,用于验证升级不会引入行为漂移。

最小数据集的建议组成:

  • 3–5 只标的(覆盖趋势、震荡、缺口、停牌等典型形态)
  • 每只标的 3–7 天的 1m bars(覆盖开盘/收盘/午休/缺口)
  • 1–3 个策略模板(MA、BOLL、RSI 等)
  • 固定的成本模型口径(手续费/滑点/税率)

配合 04 的 provenance,你可以把回归定义为:
在同一份输入快照上,新旧版本输出差异是否在可解释范围内。


五、回归的验收口径:不要只对“收益”,要对“行为”

很多团队回归只看最终收益,但收益对微小变化非常敏感,容易产生误报。
更稳健的回归口径是“行为级”:

  • 信号触发点(时间戳、方向)是否一致
  • 成交次数与分布是否一致
  • 关键阻塞原因统计是否突变(ENGINE_ERROR 是否上升)

收益曲线可以作为最终兜底,但不应是唯一指标。


六、一个对外演示套路:先稳定跑通,再解释“为什么”

对外演示建议按顺序:

  1. 写入演示数据(确保闭环可跑)
  2. 跑组合回测(展示权益/回撤/成交/K 线买卖点标记)
  3. 故意制造一次“无成交”(例如提高阈值),展示系统状态页的阻塞原因与中文说明

这样观众会清晰感知:
EasyQuant 的价值不是“给你一条曲线”,而是“给你一个可交付、可解释、可复现的策略运行体系”。


结语:没有 Mock/Seed,就没有稳定交付

外部行情永远是不确定的。
能把闭环跑通、把问题定位清楚、把结果复现出来,才是平台的底盘。

到这里,00–12 的主线已经完整:从定位(交付)→ 可解释 → 可复现 → 数据口径 → DSL/指标产品化 → 执行/回测 → 可观测与 Mock 回归。下一步就是把它们串成可连续发布的系列,并在每篇末尾形成明确的“承上启下”。