3. 异常类型与基线需求分析

构建跨时段盘口异常基线,第一步不是写代码,而是把“什么算异常”拆解成可度量、可分层、可回溯的维度。盘口数据本身噪声大、变化快,如果基线只用一个笼统的“盘口异常分数”,后续既无法定位原因,也无法针对不同时段调整阈值。因此本节的核心任务是:梳理跨时段常见的盘口异常形态,并据此反推基线必须覆盖的异常维度与粒度。

四类常见盘口异常形态

从盘口快照(Level-1/Level-2)可观测的量出发,跨时段反复出现的异常大致可归为四类,它们的触发机制和观测窗口差异明显。

价差异常。指买一价与卖一价之间的相对价差在某一时段显著偏离其常态分布。价差本身受标的流动性和波动率影响,开盘集合竞价后、午间复牌、尾盘几分钟的价差天然偏大。异常表现为:价差突然拉宽(流动性瞬时抽离)或异常收窄至接近零甚至出现负价差(买卖价倒挂,多见于撮合异常或数据错位)。度量上常用相对价差 (ask1 - bid1) / mid,并需按标的、按时段分别建立分布。

挂单量突变。指某一档或某几档的委托量在极短时间内出现数量级变化。典型如买一挂单从数百手骤增至数万手,或卖盘某档瞬间被抽空。这类异常既可能是真实大单介入,也可能是冰山单、虚假挂单的前兆。度量上关注单档挂单量的环比变化率、以及前 N 档累计挂单量的突变幅度。

撤单潮。指单位时间内的撤单笔数或撤单量显著高于常态,常伴随挂单量快速回落。撤单潮是虚假流动性的重要信号,尤其在价格接近关键位时集中出现。度量上使用滚动窗口内的撤单率(撤单量/挂单量)和撤单笔数密度。

买卖压力失衡。指买盘与卖盘的力量对比在时段内持续偏向一侧。常用指标包括委比 (bidVol - askVol) / (bidVol + askVol)、前五档买卖量比,以及订单簿斜率。失衡本身不必然是异常,但持续单边失衡叠加价差变化,往往预示方向性压力。

盘口异常形态 → 基线维度 → 粒度选择 异常形态 价差异常 相对价差偏离 / 倒挂 挂单量突变 单档/累计量环比骤变 撤单潮 撤单率 / 撤单笔数密度 买卖压力失衡 委比 / 量比 / 订单簿斜率 基线维度 价格维度 价差分布 · 中价漂移 · 倒挂标记 数量维度 单档量 · 前N档累计量 · 变化率 行为维度 撤单率 · 挂撤比 · 报单频率 结构维度 委比 · 买卖量比 · 订单簿斜率 粒度选择 时段粒度 开盘/盘中/午盘/尾盘分桶 标的粒度 按流动性/波动率分组 档位粒度 买一/卖一 vs 前五档 时间窗粒度 秒级/分钟级滚动窗口 四类形态并非一一对应单一维度:价差与结构、数量与行为常需交叉建模 粒度越细,基线越贴合时段特征,但样本量下降,需在稳定性与灵敏度间权衡

从形态到基线维度

上图给出了形态与维度的映射关系,但实际建模时不能简单一一对应。价差异常主要落在价格维度,但价差拉宽往往同时伴随挂单量减少和撤单增加,因此价格维度需要与数量、行为维度交叉验证。挂单量突变属于数量维度,但判断它是真实大单还是虚假挂单,必须结合行为维度的撤单率和结构维度的买卖失衡方向。撤单潮直接对应行为维度,其触发阈值又依赖数量维度的挂单基数。买卖压力失衡落在结构维度,但持续失衡会推高价差,形成价格维度的联动。

因此基线应至少覆盖四个维度:价格维度(相对价差、中价漂移、倒挂标记)、数量维度(单档挂单量、前 N 档累计量及其变化率)、行为维度(撤单率、挂撤比、报单频率)、结构维度(委比、买卖量比、订单簿斜率)。每个维度独立建立分布,再通过联合判定降低误报。

粒度:基线必须回答的四个分层问题

维度决定“看什么”,粒度决定“在什么范围内看”。跨时段盘口的难点在于同一指标在不同时段分布差异巨大,粒度选择直接决定基线是否可用。

时段粒度。不能把全天数据混在一起建一条基线。建议按交易阶段分桶:开盘前 15 分钟、上午连续竞价、午间复牌后 15 分钟、下午连续竞价、尾盘 10 分钟。每个桶单独统计均值、分位数和波动范围。示例参数:以 5 分钟为统计单元,每个时段桶至少积累 20 个交易日样本,取 95% 分位作为异常上界。

标的粒度。高流动性大盘股与低流动性小盘股的价差、挂单量天然不在一个量级。可按日均成交额或日均价差分为 3~5 组,组内建基线,避免用统一阈值误伤低流动性标的。

档位粒度。买一卖一反映即时成交意愿,前五档反映短期支撑压力,二者异常含义不同。价差和即时挂单突变用一档数据,压力失衡和虚假流动性判断用前五档累计数据。

时间窗粒度。价差和挂单量突变适合秒级到十秒级滚动窗口,撤单潮适合 30 秒到 1 分钟窗口,压力失衡适合分钟级窗口。窗口过短噪声大,过长则滞后,需按异常形态分别设定。

一个可执行的基线需求表

把上述分析落成一张需求表,可以直接作为后续数据加工和阈值配置的输入。下表为示例结构,参数为合理假设值,实际应基于历史数据回算校准。

异常形态 核心指标 基线维度 时段粒度 时间窗 示例判定条件
价差异常 相对价差 价格 分交易阶段 10 秒滚动 超过同时段 95% 分位或出现负价差
挂单量突变 单档量环比变化率 数量 按标的流动性分组 5 秒滚动 变化率绝对值 > 3 倍组内中位数
撤单潮 撤单率、撤单笔数密度 行为 分交易阶段 60 秒滚动 撤单率 > 同时段 90% 分位且笔数密度翻倍
买卖压力失衡 委比、前五档量比 结构 按标的流动性分组 1 分钟滚动 委比绝对值 > 0.6 且持续 3 个窗口
判定条件中的分位数和倍数均为示例假设,落地时应先用至少 20 个交易日的历史盘口回算各时段分布,再确定阈值,并保留按日更新的机制以适配市场状态变化。

粒度权衡中的两个实践要点

第一,粒度不是越细越好。把时段切得过碎、标的组划分过细,会导致每个桶内样本不足,分位数估计不稳定,反而制造大量误报。经验做法是:先按交易阶段和流动性分组建立粗粒度基线,观察各桶的分布差异是否显著,差异不显著的桶再合并。

第二,跨时段基线必须保留“时段标签”这一元数据。同一笔价差在开盘和尾盘的含义不同,若基线记录中丢失时段归属,后续回溯和阈值调整就无从下手。建议在基线表中同时存储指标值、时段桶编号、标的组编号和统计窗口长度,使每一条基线都可追溯到具体的观测条件。

完成异常形态梳理和维度、粒度定义后,基线构建就有了明确的目标结构:四个维度各自分时段、分标的组建分布,按形态配置不同时间窗,最终以联合判定输出异常信号。这一结构也是后续数据清洗、特征计算和阈值校准工作的直接依据。