3. 异常时段检测的信号体系
盘口异常时段检测的本质,是把“看起来不对劲”的主观感受转化为可计算、可复现的信号。单一信号往往脆弱:统计阈值对缓慢漂移不敏感,滑窗突变对噪声敏感,订单簿失衡在单边行情中会长期高位,撤单率突增又可能只是做市商正常换仓。因此工程上通常构建一个多信号候选集:每个信号独立打分或触发,再通过融合规则生成“异常时段候选”,最后交给摘要模块生成文字描述。本节重点讲清四类信号的计算方式、触发条件,以及误报与漏报之间如何权衡。
四类信号的计算口径
统计阈值信号以滚动基线为参照。以买卖价差为例,取过去 N 个快照(例如 N=600,约 10 分钟)的价差中位数与 MAD(中位数绝对偏差),构造稳健 z 分数:z = 0.6745×(x−median)/MAD。当 |z| 超过 3.5 且持续 5 个快照以上,记为一次价差异常。用中位数和 MAD 而非均值和标准差,是为了避免异常值污染基线本身。同理可对盘口深度、成交笔数、瞬时波动率建立阈值信号。
滑窗突变信号关注“变化的速度”而非绝对水平。常用做法是对指标序列做双窗对比:短窗(如 20 个快照)均值与长窗(如 120 个快照)均值之比,或使用 CUSUM 累积和检测均值漂移。以撤单量为例,若短窗均值超过长窗均值 2.5 倍,且 CUSUM 统计量越过阈值 h=5σ,则判定为突变。滑窗突变擅长捕捉“从平静到剧烈”的转折点,是划分异常时段起止边界的主要依据。
订单簿失衡信号刻画买卖两侧力量对比。定义失衡度 I = (BidVol − AskVol)/(BidVol + AskVol),取值在 [−1, 1],前五档或前十档均可。|I| 持续大于 0.6 说明一侧挂单明显占优。但要注意,单边趋势行情中失衡会长期存在,因此该信号更适合与价差、撤单信号联合判断,单独使用时误报率较高。
撤单率突增信号反映流动性撤离。撤单率 = 窗口内撤单量 /(撤单量 + 新增挂单量)。正常时段该比率通常在 0.3~0.6 波动,若 30 秒窗口内升至 0.85 以上,且伴随盘口深度下降 30%,往往意味着做市商集体撤退或事件驱动。撤单率对“闪崩前兆”尤其敏感,但对收盘集合竞价前的正常撤单也会误触发,需要按时段做基线修正。
候选集融合与边界生成
四类信号各自输出“触发/未触发”与强度值后,需要融合成时段候选。一种可落地的规则是:至少两个信号在同一 30 秒窗口内同时触发,或单个信号强度超过强触发线(如 z>6 或撤单率>0.95),即进入候选集。随后做窗口合并:相邻候选窗口间隔小于 60 秒则合并为同一时段,避免把一次异常切成碎片。最终输出结构建议包含起止时间戳、触发信号清单、各信号峰值强度与等级,供摘要模块引用。
举个教学示例(参数为合理假设,非实测):某标的在 10:15:00—10:17:30 出现价差 z 分数升至 4.8、短长窗撤单量比达 3.1、失衡度 I 从 0.2 跳至 −0.72,三个信号同时触发,融合后生成一个 150 秒的候选时段,等级标为“高”。而 14:55 附近仅撤单率升至 0.88、其余信号平稳,则只进入“预警”层,不直接生成高等级摘要。这种分层正是控制误报的关键。
误报与漏报的权衡
误报(把正常波动判为异常)会稀释摘要价值,漏报(错过真实异常)则可能造成风控失守。两者此消彼长,工程上通常从三个维度调节:阈值松紧、信号组合要求、持续时长要求。收紧阈值、要求多信号共振、延长持续窗口,都能降低误报但抬高漏报。建议采用双阈值分层:低阈值触发“预警候选”,高阈值或多信号共振触发“确认候选”,摘要只对确认候选生成正式描述,预警候选仅作记录。这样既保留敏感度,又避免噪声进入最终输出。
最后要强调,信号体系的目标不是“抓出所有异常”,而是以可接受的误报代价,稳定捕获对摘要叙事有价值的时段。四类信号互补:统计阈值管“偏离常态”,滑窗突变管“转折时刻”,订单簿失衡管“方向压力”,撤单率管“流动性撤离”。把它们组织成候选集并分层输出,才能让后续的自动摘要既讲得准,又不至于被噪声淹没。