1. 课程导入与误报排障框架

盘口异常检测的目标,是从逐笔委托、逐笔成交与快照行情中识别出真正值得关注的异常行为,例如虚假挂单、瞬时撤单、对倒成交、盘口价格跳变等。但在真实生产环境中,检测系统每天输出的告警里,往往有相当比例并非真正的市场异常,而是由数据、规则、参数或环境因素引发的误报。本课程用 30 个案例,系统梳理盘口异常检测中常见的误报来源与排障方法。在进入具体案例之前,先把"检测什么、误报是什么、怎么排、按什么路径学"这四件事建立成统一框架,后续每一例才能定位到框架中的具体位置。

一、盘口异常检测的核心对象

排障的第一步是明确"被检测的对象"到底是什么。盘口异常检测的输入通常由三层数据构成:逐笔委托(含委托编号、方向、价格、数量、到达时间)、逐笔成交(含成交编号、买卖委托编号、成交价、成交量、成交时间)以及快照行情(十档或五档买卖盘、最新价、累计成交量、快照时间戳)。检测规则在这三层数据上计算特征,例如某价位挂单量在 200ms 内的撤单比例、买一卖一价差相对历史分位的偏离、同一委托编号的成交与撤单时序关系等。

因此,一个告警至少关联四类对象:标的与交易时段(哪只股票、集合竞价还是连续竞价)、触发规则与阈值(哪条规则、参数取值)、特征计算所依赖的原始记录(具体委托号、成交号、快照序号)、输出通道与下游动作(告警落库、推送、人工复核)。排障时若不能把告警还原到这四个对象上,就只能凭经验猜测。建议在告警体中固定携带 rule_id、symbol、session、trigger_ts、feature_value、threshold、raw_ref 字段,让每条告警天然可回溯。

二、误报的定义与分类

本课程对误报采用可操作的定义:告警所指向的"异常"在业务语义上不成立,或虽成立但不具备关注价值。前者是"假异常",后者是"真异常但无意义"。据此把误报分为五类,这也是 30 例案例地图的分类主轴:

  • 数据类误报:行情缺失、重复推送、乱序到达、时间戳精度不足、复权或代码映射错误,导致特征被算错。
  • 规则逻辑类误报:规则本身对市场机制理解有偏差,如把集合竞价的正常撤单、ETF 申赎引起的盘口变化判为异常。
  • 参数阈值类误报:逻辑正确但阈值过松或过紧,未按流动性、波动率、板块分层设定。
  • 环境与状态类误报:开收盘、停复牌、除权除息、熔断、临时停牌等状态切换期间,盘口形态本就特殊。
  • 下游处置类误报:检测正确,但去重、聚合、优先级或推送环节把同一事件放大成多条告警,形成"告警风暴"。
判断一条告警是否属于误报,先问三个问题:原始记录能否复现该特征值?该形态在当前交易状态下是否本就正常?即使异常成立,它是否影响交易决策或风控判断?三问中任一为"否",就应进入对应类别的排障路径。

三、排障流程总览

排障不是从头重跑模型,而是沿数据链反向定位第一个出错的环节。下图给出本节的核心排障框架:从告警出发,依次经过告警复现、原始数据核验、特征重算、规则与参数审查、市场状态核对,最终归入五类误报之一并给出处置动作。

盘口异常告警排障框架 告警触发 rule_id / symbol / ts ① 告警复现 同参数重算特征值 ② 原始数据核验 委托/成交/快照对齐 ③ 规则与参数审查 阈值/分层/状态 ④ 状态核对 时段/停复牌 逐环节比对:特征值能否复现?原始记录是否完整有序?规则在当前状态下是否适用? 数据类 缺失/重复/乱序 时间戳/代码映射 → 修数据管道 规则逻辑类 机制理解偏差 集合竞价/申赎 → 改规则条件 参数阈值类 阈值过松/过紧 未按流动性分层 → 调参并回测 环境状态类 开收盘/停复牌 除权/熔断切换 → 加状态门控 下游处置类 去重/聚合缺失 告警风暴 → 改聚合策略 处置与回归验证 修复后回放同一时段数据 → 确认告警消失且真实异常未被漏检 → 沉淀为案例与回归用例 30 例学习路径 数据类(例1-8) → 规则逻辑(例9-15) → 参数阈值(例16-21) → 环境状态(例22-26) → 下游处置(例27-30)

流程的关键在于顺序不可跳:先复现再核数据,先核数据再改规则。实践中常见的错误是看到告警直接调阈值,结果把真实异常一起压掉。正确做法是先用同一份原始数据、同一套参数重算特征值,若重算结果与告警记录不一致,问题在计算或数据链路;若一致,再检查规则在当前市场状态下是否适用。

四、30 例案例地图与学习路径

30 个案例按上述五类误报组织,每例都包含"现象—复现—定位—修复—回归"五个要素,但详略按案例复杂度自然分布。学习路径建议按类别推进:

案例区间误报类别典型排障切入点建议投入
例 1–8数据类逐笔与快照对齐、时间戳精度、重复推送去重打牢数据核验基本功
例 9–15规则逻辑类集合竞价撤单、ETF 申赎、做市商报价机制理解市场机制再改规则
例 16–21参数阈值类按流动性/波动率分层设阈、回测验证掌握调参与回归方法
例 22–26环境状态类开收盘、停复牌、除权除息的状态门控建立状态机意识
例 27–30下游处置类告警去重、聚合窗口、优先级排序从单条告警走向告警治理

建议的学习方法是:每学一例,先在框架图中标出它落在哪个环节、属于哪一类,再尝试用自己熟悉的标的复现一次。例如数据类案例中,可以取某只股票连续竞价时段的逐笔委托与快照,检查快照序号是否单调、逐笔时间戳是否落在快照区间内;参数类案例中,可以对比高流动性大盘股与小盘股在同一阈值下的告警密度差异。只有把案例放回框架,30 例才不是 30 个孤立故事,而是一张可迁移的排障地图。

排障记录应包含:告警原始字段、复现所用数据版本与参数、定位到的出错环节、修复动作、回归验证结果。缺少回归验证的修复,很可能在下一个交易状态切换时再次误报。

掌握这套框架后,后续每一例都可以按"它属于哪类误报、卡在流程哪一步、修复后如何验证"三个问题来阅读,从而把个案经验转化为可复用的排障能力。