1. 盘口高频异动聚类分析导论
盘口高频异动聚类分析,是把逐笔委托、逐笔成交与盘口快照中那些“短时间、高频率、形态相似”的异动片段自动识别出来,并按行为特征归为一类的分析方法。它要回答的不是“这只股票明天涨不涨”,而是更基础也更可复用的问题:当前盘口正在发生哪一类行为?这类行为在历史上通常对应什么后续演化?
传统盘口观察依赖人工盯盘,交易者凭经验把“大单扫货”“对倒放量”“撤单压盘”等模式记在脑子里。问题在于:人眼每秒只能处理有限档位的变化,而高频异动的持续时间往往只有几百毫秒到几秒,且同一时刻可能叠加多种行为。聚类分析的价值,就是把这种模糊的“盘感”转化为可量化、可复现、可回溯的特征向量与类别标签。
课程要解决的核心问题
本课程围绕四个层层递进的问题展开。第一,如何定义异动:什么样的盘口变化算“高频异动”,需要给出明确的时间窗口、档位范围与阈值口径。第二,如何描述异动:把一段异动片段转化为特征向量,例如委托速率、撤单率、主动买卖比、盘口斜率、成交均价偏移等。第三,如何归类异动:选择合适的聚类算法与距离度量,把形态相近的片段聚成簇,并给每个簇赋予可解释的语义标签。第四,如何验证与应用:用样本外数据检验簇的稳定性,并把聚类结果映射回具体的盯盘信号或风控规则。
整体分析流程
一条完整的分析链路包含六个环节,下图展示了从原始数据到可应用标签的流转关系,以及每个环节的关键产出物。
需要强调的是,这条链路不是一次性流水线。聚类结果往往会反过来提示特征设计的缺陷——例如某个簇内部混杂了两种截然不同的行为,说明缺少一个区分维度,此时应回到特征构造环节补充特征,而不是强行增加簇数量。
实战数据集概览
课程使用的示例数据集为某只中盘股的连续竞价时段盘口数据,覆盖一个完整交易日,包含三类文件:逐笔委托(含委托编号、方向、价格、数量、委托时间)、逐笔成交(含成交编号、主动方向、价格、数量、成交时间)、以及每三秒一帧的十档盘口快照(含各档价格与挂单量)。数据规模约为委托记录数十万条、成交记录十余万条、快照约四千八百帧。
在正式分析前,需要先做三项预处理。其一是时间对齐:把三类数据统一到毫秒级时间戳,并处理交易所时间戳与本地接收时间的偏差。其二是方向还原:逐笔成交中的主动方向需结合委托编号与盘口价格判断,避免把被动成交误记为主动买入。其三是异常剔除:剔除集合竞价时段、涨跌停封死时段的片段,因为这些时段的盘口结构不具备连续竞价的统计特性。
下面是一段异动切片与特征构造的示例代码,用于说明从原始事件到特征向量的具体转换方式。参数取值属于教学示例的合理假设,并非实测结论。
# 示例:以 500ms 窗口切片并构造基础特征(教学示例参数)
WINDOW_MS = 500
THRESHOLD_ORDERS = 40 # 窗口内委托笔数阈值
THRESHOLD_CANCEL_RATE = 0.35
def slice_events(events, window_ms=WINDOW_MS):
segments = []
for t0 in range(events[0].ts, events[-1].ts, window_ms):
seg = [e for e in events if t0 <= e.ts < t0 + window_ms]
if len(seg) >= THRESHOLD_ORDERS:
segments.append(seg)
return segments
def build_features(seg):
n = len(seg)
cancels = sum(1 for e in seg if e.type == "cancel")
buys = sum(e.qty for e in seg if e.side == "buy")
sells = sum(e.qty for e in seg if e.side == "sell")
return {
"order_rate": n / (WINDOW_MS / 1000), # 委托速率(笔/秒)
"cancel_rate": cancels / n, # 撤单率
"buy_sell_ratio": buys / max(sells, 1), # 主动买卖量比
}
运行上述逻辑后,每个满足阈值的窗口会得到一个三维特征向量。把全天所有片段堆叠成矩阵,就得到了聚类的输入。此时可以先观察特征的分布:若委托速率呈现明显的双峰,说明盘口存在“平静”与“活跃”两种状态,这本身就是聚类结构存在的初步证据。
学习本课程后的能力预期
完成全部章节后,读者应当能够独立完成一次完整的盘口异动聚类分析:从原始逐笔数据出发,设计贴合微观结构的特征,选择合适的聚类方案,对簇进行语义解释,并用样本外数据检验结论的稳定性。更重要的是,读者应建立起“先看数据结构、再选方法”的分析习惯,避免把聚类当作黑箱,把簇编号当作结论。