2. 行情规则体系:行情规则分类与规则变更的典型场景

行情规则是量化交易系统的数据基石,决定了行情数据的生成逻辑、推送频率与数据格式。本章从规则分类与变更场景两个维度,建立对行情规则体系的完整认知。

2.1 行情规则分类

根据数据生成方式与业务用途,行情规则可分为四大类:

规则类别 核心定义 典型字段 更新频率
行情快照 某一时刻市场全量挂单与成交统计的截面数据 最新价、涨跌幅、买一至买五价量、卖一至卖五价量 固定间隔(如 3 秒/次)或事件触发
逐笔成交 每一笔实际成交的明细记录 成交时间、成交价、成交量、成交方向、成交编号 实时(每笔成交即推送)
逐笔委托 每一笔订单进入交易主机的原始委托记录 委托时间、委托价、委托量、委托方向、委托类型 实时(每笔委托即推送)
指数计算 根据成分股价格与权重公式实时计算的指数值 指数代码、当前点位、涨跌点数、涨跌幅、成分股贡献度 实时(成分股价格变动触发重算)
关键认知: 行情快照是“截面”,逐笔成交与逐笔委托是“流水”,指数计算是“衍生”。量化策略对三类数据的依赖程度不同:高频策略依赖逐笔数据,中低频策略依赖快照与指数。

2.2 规则变更的典型场景

行情规则并非一成不变。交易所升级、业务逻辑调整、监管要求变化都会触发规则变更。以下是两类最常见的变更场景:

2.2.1 交易所升级

交易所对交易系统的升级通常涉及行情协议、数据格式或推送机制的变更。典型变更包括:

  • 协议版本升级: 如从 STEP 1.0 升级到 STEP 2.0,消息头长度、校验方式发生变化。
  • 字段扩展: 在行情快照中新增“盘后固定价格交易”相关字段,或逐笔成交中增加“成交类型”标识。
  • 推送频率调整: 快照推送间隔从 3 秒缩短为 1 秒,或逐笔委托的推送优先级发生变化。
  • 指数计算规则变更: 成分股调整、权重计算方法变更、除权除息处理逻辑更新。
案例: 某交易所将逐笔成交消息中的“成交金额”字段从 int32 升级为 int64,以支持单笔大额成交的精确表示。若行情系统未及时适配,将导致金额溢出或解析错误。

2.2.2 业务逻辑调整

业务逻辑调整通常由市场规则变化或产品迭代驱动,不涉及底层协议,但影响行情数据的生成逻辑:

  • 涨跌停板规则调整: 主板股票涨跌幅限制从 10% 调整为 20%,行情快照中的“涨停价”“跌停价”计算逻辑随之变更。
  • 临时停牌处理: 新增盘中临时停牌期间的行情展示规则(如仅展示集合竞价阶段数据)。
  • 指数样本调整: 定期调样或临时调样后,指数计算需立即切换至新成分股列表。
  • 行情数据脱敏: 对逐笔委托中的部分字段(如会员代码)进行脱敏处理,影响下游数据消费。

2.3 行情规则变更的影响链路

一次规则变更会沿数据链路逐级传导,影响行情接入、解析、计算、分发与存储等环节。下图展示了规则变更的典型影响范围:

行情规则变更影响链路 规则变更源 行情接入层:协议解析、字段映射 行情计算层:指数重算、衍生指标 行情分发层:推送频率、数据格式 下游消费层:策略、风控、存储

2.4 规则变更的灰度发布策略

为降低规则变更对生产环境的影响,灰度发布是行业最佳实践。核心策略包括:

  • 按市场/品种灰度: 先在非活跃品种或测试环境验证,再逐步推广至全市场。
  • 按用户分组灰度: 对部分订阅用户推送新规则行情,其余用户保持旧规则,通过对比验证正确性。
  • 按时间窗口灰度: 在非交易时段(如盘后测试)先行部署,观察无异常后再于盘中切换。
  • 双轨并行: 新旧规则同时运行,下游消费端通过配置开关选择使用哪套规则,便于快速回退。
注意: 灰度发布期间必须建立完善的监控与回退机制。一旦发现数据异常(如字段解析错误、指数计算偏差超过阈值),应立即触发自动回退,将行情消费切回旧规则。

2.5 规则变更的验证清单

每次规则变更上线前,建议按以下清单逐项验证:

验证项 验证内容 通过标准
协议兼容性 新旧协议版本能否同时解析 无解析异常,字段映射正确
字段完整性 新增/修改字段是否正常填充 字段值在预期范围内,无空值
计算准确性 指数、衍生指标计算结果 与交易所官方数据偏差 < 0.001%
性能基准 行情处理延迟、吞吐量 P99 延迟 < 10ms,吞吐量满足峰值需求
回退能力 灰度期间能否快速切回旧规则 回退时间 < 30 秒,数据不丢失

通过系统化的规则分类与变更管理,量化交易系统能够在交易所升级与业务调整中保持稳定、可靠的数据服务,为上层策略提供高质量的行情输入。