4. 成交时点的刻画与分类

在盘口买卖价差的研究中,价差刻画的是“价格维度”,而成交时点刻画的是“时间维度”。同一笔成交,若只记录价格与数量,我们无法判断它是主动扫单还是被动挂单成交,也无法判断它发生在集合竞价还是连续竞价、是开盘瞬间还是尾盘异动。因此,成交时点的刻画与分类,是把逐笔成交数据转化为可分析事件的关键一步。

一、时间粒度:毫秒、秒、分钟的选择

成交时点首先面临粒度选择。不同市场、不同数据源提供的时间精度不同:A股Level-2逐笔成交通常带毫秒级时间戳(如“09:30:00.250”),部分行情快照为3秒一笔,而日线或分钟线数据则只保留分钟级时间。粒度选择不是越细越好,而要与研究目标匹配。

毫秒级适合研究微观结构,例如大单扫单在盘口上的连续冲击、同一毫秒内多笔成交的聚合、买卖价差在事件前后的瞬时变化。秒级适合观察短周期内的成交节奏,如每秒成交笔数与价差的关系。分钟级则适合统计性分析,如每分钟主动买入占比与价差均值。实践中常见做法是:原始数据保留毫秒时间戳,分析时按需聚合到秒或分钟,但聚合前必须保留“事件时间”的原始记录,避免信息丢失。

需要特别注意的是,毫秒时间戳并不等于真实成交顺序。交易所撮合系统内部有严格的序列号,同一毫秒内可能有多笔成交,时间戳相同但顺序不同。因此,在毫秒级分析中,应优先使用交易所提供的逐笔序号(如“成交编号”)作为排序依据,时间戳仅作为辅助。

二、事件时间与时钟时间

事件时间(Event Time)指成交实际发生的时刻,由交易所撮合系统打上时间戳;时钟时间(Clock Time)指数据被记录、传输或接收的时刻,受网络延迟、行情分发、本地时钟偏差影响。两者在低频分析中差异可忽略,但在毫秒级微观研究中可能造成严重误判。

例如,某笔成交在交易所的事件时间为10:00:00.100,但经过行情网关传输,本地接收时钟时间为10:00:00.350,延迟250毫秒。若用本地时钟时间判断“成交后价差是否扩大”,就会把价差变化错误地归因到成交之后,而实际上价差可能在成交前就已变化。因此,严谨的做法是:以交易所事件时间为准,本地时钟时间仅用于评估传输延迟和数据质量。若数据源只提供本地时间,应通过比对多笔成交的时间差分布,估计并校正系统性延迟。

实操建议:在数据清洗阶段,先计算相邻成交的时间差分布,若出现大量相同时间戳或异常负值,说明时间戳精度不足或存在时钟回拨,应降级到秒级或分钟级分析,避免在毫秒级得出不可靠结论。

三、主动买入、主动卖出与中性成交的时点标记

成交方向分类是时点标记的核心。常用方法是比较成交价与当时盘口买卖价:成交价等于卖一价(或高于卖一价)为主动买入;成交价等于买一价(或低于买一价)为主动卖出;成交价介于买一价与卖一价之间,或无法与盘口匹配的,归为中性成交。

具体标记时,需要把逐笔成交与成交前的盘口快照对齐。以A股为例,假设某时刻盘口为买一10.00元、卖一10.02元,随后一笔成交价为10.02元、数量500手,则该笔标记为主动买入;若成交价为10.00元,标记为主动卖出;若成交价为10.01元(例如大宗交易或特殊撮合),标记为中性。对于集合竞价阶段,由于没有连续盘口,通常按成交价与昨收价或开盘参考价的关系做近似分类,或直接标记为“竞价成交”单独处理。

时点标记还需处理“同一时点多笔成交”的情况。若同一毫秒内有多笔成交且方向不同,应按成交编号逐笔标记,而不是合并后取平均方向。合并会掩盖扫单与挂单的交替行为,影响后续价差与成交时点关联分析的准确性。

成交时点刻画与方向标记流程 逐笔成交数据 时间戳 + 成交编号 + 价格 盘口快照数据 买一价 / 卖一价 时间对齐 以事件时间为准 按成交编号排序 成交方向判断 成交价 ≥ 卖一价 → 主动买入 成交价 ≤ 买一价 → 主动卖出 买一价 < 成交价 < 卖一价 → 中性 时点标记结果(逐笔) 事件时间 + 成交编号 + 方向标签 + 价格 + 数量 同一毫秒多笔成交:逐笔标记,不合并方向 时间粒度选择 毫秒:微观冲击 秒级:成交节奏 分钟:统计特征 聚合前保留原始事件时间 关键校验 时间差分布异常 → 降级粒度;时钟偏差 → 以事件时间校正

四、从标记到可用特征

完成逐笔标记后,可以构造与价差关联的时点特征。例如:按秒聚合“主动买入笔数占比”,观察该占比与买卖价差的同期关系;或计算“成交后N毫秒内价差变化”,判断主动成交对价差的冲击方向。这里的关键是保持时间参照一致:若价差用事件时间对齐,成交方向也必须用事件时间;若用本地时钟,则两者都要用本地时钟,不能混用。

一个常见的教学示例(以下为合理假设的示例数据,非实测结果):某股票在10:00:00.100至10:00:00.900之间共发生8笔成交,其中5笔成交价等于卖一价(主动买入),2笔等于买一价(主动卖出),1笔介于两者之间(中性)。按秒聚合后,该秒主动买入占比为62.5%,主动卖出占比25%,中性占比12.5%。若同时观察到该秒买卖价差从0.02元扩大到0.03元,可初步判断主动买入压力对价差产生了扩张作用。但这一判断必须结合前后多秒的数据,排除偶发大单的干扰。

最后需要强调:成交时点的刻画不是一次性工作,而是数据治理的一部分。时间粒度、事件时间基准、方向标记规则应在整个研究周期内保持一致,并在数据说明中明确记录。否则,不同批次数据混用不同规则,会导致价差与成交时点的关联分析出现系统性偏差,且难以追溯。