4. 案例1

集合竞价阶段的盘口异常检测,最容易出现“看起来像操纵、实际是规则使然”的误报。本案例的典型现象是:某只股票在9:15—9:25之间出现大额买单挂出后迅速撤单,检测系统判定为“虚假挂单/诱导性申报”并触发告警,但人工复核发现该行为完全符合交易所竞价规则,属于正常撤单。排障的核心不是调低灵敏度了事,而是把规则约束、数据完整性、阈值口径三条线索逐一排除,定位误报真正来源。

一、先厘清竞价撤单规则,避免把合规行为当异常

以沪深交易所开盘集合竞价为例,9:15—9:20 接受申报也接受撤单,9:20—9:25 接受申报但不接受撤单,9:25 集中撮合产生开盘价。这意味着:在9:15—9:20窗口内,大单挂出后撤掉是规则明确允许的行为,撤单本身不构成异常;真正需要关注的是“撤单是否伴随价格引导、是否在不可撤单窗口出现撤单记录、撤单量占比是否异常”等组合特征。若检测规则只以“大额挂单+短时撤单”为单一条件,就会在9:15—9:20产生大量误报。

排障第一步应核对告警时间戳落在哪个窗口。若撤单时间在9:20之前,且系统规则未对窗口做区分,则基本可判定为规则口径缺失导致的误报。反之,若在9:20—9:25出现撤单记录,则要怀疑数据源时间戳错位或快照拼接错误,因为该窗口理论上不应有撤单成交回报。

二、快照缺失是竞价阶段误报的高发诱因

竞价阶段行情快照频率低、字段稀疏,很多数据源在9:15—9:25只推送逐笔委托或少量切片,十档盘口可能为空或沿用上一交易日收盘快照。检测引擎若直接读取“买一价/买一量”计算挂单强度,遇到空值或陈旧值时会得到失真的挂单量,进而误判为大额虚假挂单。常见表现是:同一笔委托在逐笔数据中存在,但快照序列里缺失对应档位,引擎用前值填充后计算出“挂单量突增又骤降”,触发撤单异常。

排查时应做一次数据对齐核验:取告警时刻前后各若干条逐笔委托与快照记录,比对委托编号、价格、数量、方向是否一致,确认快照是否存在跳变、空档或时间戳回退。若发现快照缺失,应在检测链路中增加“快照有效性校验”,对空档位、陈旧时间戳、价格越界做前置过滤,而不是让缺失值进入阈值计算。

集合竞价虚假挂单误报排障路径 告警输入 9:15—9:25 大额买单挂出后短时撤单,触发“虚假挂单”告警 ① 规则窗口核对 9:15—9:20 可撤单 9:20—9:25 不可撤单 撤单落在可撤窗口 → 合规 ② 快照完整性校验 逐笔委托 vs 快照档位比对 空档位 / 陈旧时间戳 / 跳变 缺失值不得进入阈值计算 ③ 阈值口径复核 撤单量占比 / 挂单存续时长 是否按窗口分别设阈 是否混用收盘快照基准 误报归因判定 规则未区分窗口 → 补窗口条件;快照缺失 → 加有效性过滤;阈值混用 → 按窗口与基准重设 三者叠加时优先修数据完整性,再调阈值,最后回归规则口径 回归验证:重放当日竞价逐笔与快照,确认告警消除且真实异常仍可捕获 保留误报样本作为规则回归用例,防止后续调参再次引入同类误报

三、阈值误设的典型形态与修正方法

阈值误设通常有三种形态。其一是撤单量占比阈值过低,例如把“撤单量/挂单量 > 30%”作为异常条件,而竞价阶段大资金试盘撤单占比本就容易超过该值;其二是存续时长阈值未区分窗口,用统一的“挂单不足60秒即撤”判定异常,忽略了9:15—9:20本就是试盘窗口;其三是基准量取错,用前一日收盘快照或全天均量作为分母,导致竞价阶段的正常挂单被放大成异常。

修正时应按窗口分别设定参数,并以同一标的近若干交易日的竞价逐笔分布作为标定样本。例如可将9:15—9:20的撤单占比阈值放宽至较高分位(如取近20日该窗口撤单占比的95分位),9:20—9:25则重点检测“不可撤单窗口出现撤单记录”这一硬性矛盾,而非占比。存续时长阈值同样按窗口分设,避免一刀切。

四、可执行的排障步骤与回归验证

建议按以下顺序推进,先排除数据问题再动规则参数,避免在脏数据上反复调参:

  1. 锁定告警样本:导出告警时刻的标的、委托编号、挂单价格数量、撤单时间、快照序列,形成最小复现集。
  2. 核对规则窗口:确认撤单时间落在9:15—9:20还是9:20—9:25,前者合规、后者需查数据时间戳。
  3. 校验快照完整性:逐笔与快照按委托编号对齐,检查空档位、时间戳回退、价格越界,标记缺失区间。
  4. 复算阈值指标:用清洗后的数据重算撤单占比、存续时长、挂单强度,与告警时的计算值对比,定位偏差来源。
  5. 修正并回归:补窗口条件、加数据有效性过滤、按窗口重设阈值,重放当日数据确认误报消除,同时用历史真实异常样本验证召回未下降。
排障经验:竞价阶段误报中,数据完整性问题往往比阈值问题更隐蔽。先做逐笔与快照的对齐核验,常能一次性解释“挂单量突增又骤降”的假象,避免在阈值上做无效调整。

完成修正后,应把该样本固化为回归用例,记录规则版本、窗口参数与数据过滤条件,后续每次调整检测参数时重跑,确保同类误报不再复发,同时不牺牲对真实诱导性申报的识别能力。