1. 课程导入

在实盘交易系统中,策略逻辑正确并不等于交易结果可控。真正决定盈亏质量的,往往是订单从生成到成交之间的那段“看不见的链路”:行情到达是否及时、风控校验是否阻塞、柜台是否拒单、成交回报是否完整。很多团队在回测阶段表现优异,一旦接入实盘便出现滑点扩大、撤单失败、持仓与预期不一致等问题,根源通常不在策略本身,而在于缺乏对实盘延迟、拒单率与成交率的持续监控。

本课程围绕这三个核心指标展开,目标不是讲概念,而是建立一套可落地、可告警、可复盘的监控体系。本章作为导入,先回答三个问题:为什么要监控、要学到什么、按什么路线推进。

一、核心价值:为什么这三类指标决定实盘生死

实盘交易监控的本质,是把“交易是否按预期执行”从主观感受变成可量化事实。延迟、拒单率、成交率分别对应交易链路的三个关键断面:

  • 延迟:从行情触发、策略计算、风控检查、报单发出到柜台确认的时间差。延迟过高会导致信号价格与成交价格偏离,尤其在高频或短周期策略中直接侵蚀收益。
  • 拒单率:报单被柜台、交易所或风控拒绝的比例。拒单不仅意味着错过交易机会,还可能暴露资金、持仓、权限或参数配置问题。
  • 成交率:有效报单最终成交的比例。成交率异常下降,可能来自流动性不足、报价偏离、撤单频繁或订单类型选择不当。

三者并非孤立指标。延迟升高会推高撤单率,进而影响成交率;拒单率上升会减少有效报单基数,使成交率统计失真。因此监控必须联动分析,而不是单看某一个数字。

核心判断:实盘监控的价值不在于“看到数字”,而在于把数字与交易动作、市场状态、系统状态关联起来,形成“发现异常—定位环节—触发告警—复盘改进”的闭环。

二、学习目标:完成本课程后应具备的能力

本课程面向量化开发、交易运维、策略研究和风控人员。学习完成后,你应能够:

  1. 理解实盘延迟的完整链路,能拆分行情、计算、风控、报单、回报各阶段耗时。
  2. 设计拒单率与成交率的统计口径,区分正常拒单与异常拒单。
  3. 搭建可运行的监控脚本或服务,采集日志、计算指标并输出告警。
  4. 针对典型故障场景进行定位,例如行情堆积、柜台超时、报单被限流、部分成交未回报。
  5. 建立复盘机制,把监控数据转化为参数调整和系统优化依据。

三、整体框架:从数据采集到告警复盘

本课程的整体框架分为五层:数据采集层、指标计算层、监控展示层、告警响应层和复盘优化层。数据采集层从交易网关、策略进程、风控模块和柜台回报中获取时间戳与订单状态;指标计算层按订单、按策略、按时间段聚合延迟、拒单率和成交率;监控展示层通过看板或日志呈现趋势;告警响应层在阈值越界时通知相关人员;复盘优化层则沉淀问题与改进项。

实盘交易监控五层框架与核心指标联动 数据采集层 行情/订单/回报日志 指标计算层 延迟/拒单率/成交率 监控展示层 看板/趋势/分策略 告警响应层 阈值/通知/处置 复盘 优化 延迟 行情→计算→风控→报单 单位:毫秒/微秒 拒单率 拒单数 / 报单总数 区分风控/柜台/交易所 成交率 成交数 / 有效报单数 含部分成交与撤单 联动关系:延迟升高 → 撤单增多 → 成交率下降;拒单率上升 → 有效报单减少 → 成交率统计需校正 监控必须联动分析,避免单指标误判

四、实战路线图:30章如何推进

课程按“认知—采集—计算—告警—排障—复盘”的路线推进。前几章建立指标定义与数据基础;中段进入代码实战,完成日志解析、延迟打点、拒单分类和成交率统计;后段聚焦告警阈值设计、典型故障排查和复盘模板。每一章都围绕一个可验证的交付物展开,避免只停留在理论。

阶段 核心任务 关键交付物
认知与定义 统一延迟、拒单率、成交率口径 指标字典与统计规则
数据采集 从日志、网关、柜台回报中提取时间戳与状态 结构化订单事件表
指标计算 按订单、策略、时间段聚合计算 监控脚本与指标输出
告警与排障 设置阈值、定位异常环节 告警规则与排障手册
复盘优化 将监控数据转化为系统与策略改进 复盘报告与优化清单

五、常见误区与导入期提醒

误区一:只看平均值。平均延迟可能被大量正常订单拉低,掩盖尾部延迟。必须同时关注P95、P99和最大值。

误区二:把拒单率当作单一指标。风控拒单、柜台拒单、交易所拒单原因不同,混在一起统计会误导排查方向。

误区三:成交率不区分部分成交。部分成交若按未成交处理,会低估实际执行效果;若按成交处理,又会高估完全成交比例。

导入期建议:先不要追求大而全的监控平台。从一张订单事件表开始,把每笔订单的关键时间戳和状态变化记录完整,后续所有指标都可以在此基础上逐步扩展。

# 订单事件表建议字段示例
order_id        # 订单唯一标识
strategy_id     # 策略标识
symbol          # 合约代码
event_type      # 事件类型:signal/risk_pass/order_sent/ack/reject/fill/cancel
event_time      # 事件时间戳(微秒)
price           # 价格
qty             # 数量
reject_reason   # 拒单原因,仅拒单事件填写
fill_qty        # 成交数量,仅成交事件填写