2. 逐笔成交数据结构解析

逐笔成交数据是交易所行情中最细粒度的一类记录,它把每一笔撮合成交单独保存下来,而不是像分时快照那样按固定时间间隔汇总。理解逐笔成交,第一步不是急着做统计,而是把一条记录拆开,弄清楚每个字段在描述什么、它的取值约定是什么、它和真实交易行为之间是什么关系。只有字段含义对齐了,后续的信息含量度量与价格变化检验才有可靠基础。

一条逐笔成交记录由哪些字段构成

以国内A股常见的逐笔成交数据为例,一条记录通常包含以下核心字段:

  • 成交时间:精确到毫秒甚至微秒的时间戳,标记该笔撮合发生的时刻。它是把逐笔成交与快照、委托、撤单等其他数据对齐的锚点。
  • 证券代码:标识标的,用于多标的场景下的分组与关联。
  • 成交价格:该笔撮合的成交价,通常落在当时最优买价与最优卖价之间。
  • 成交数量:该笔成交的股数或手数,反映单笔规模。
  • 成交金额:价格乘以数量,部分数据源直接给出,便于校验。
  • 买卖方向:标记该笔成交是主动买还是主动卖,即由买方还是卖方发起并成交于对手方挂单。
  • 成交编号 / 序列号:唯一标识一笔成交,用于去重、排序和与委托数据关联。
  • 买方/卖方委托序号:部分数据源提供,可回溯到具体的委托单,是订单流分析的关键。

不同交易所和数据商的字段命名与覆盖范围略有差异,但“时间、价格、数量、方向”这四项是任何逐笔成交数据都不可或缺的最小集合。做研究前应先核对数据字典,确认时间戳的时区与精度、数量单位是股还是手、方向字段的编码方式(如B/S、1/2或带正负号),避免在后续计算中引入系统性偏差。

买卖方向:最容易被误读的字段

买卖方向是逐笔成交中最具信息含量、也最容易出错的字段。它的本质是“主动方”标记:如果一笔成交以卖方挂单的价格成交,说明买方主动吃掉了卖单,记为主动买(外盘);反之记为主动卖(内盘)。这个定义隐含一个参照约定——方向描述的是发起方,而不是成交后持仓的变化方向。全文与图示都沿用这一约定:主动买表示买方发起、成交于卖方报价。

需要特别注意的是,方向字段并非总是由交易所直接给出。部分市场只提供成交价与当时的最优买卖报价,方向需要按规则推断:成交价接近卖一价视为主动买,接近买一价视为主动卖,介于两者之间则需借助逐笔委托或更细的规则判定。这种推断在价格快速变动时会产生误判,因此当数据源同时提供逐笔委托时,应优先用委托序号回溯真实发起方,而不是简单按价格比较。方向判断的准确性直接决定了后续“主动买入占比”“订单流不平衡”等指标的可信度。

数据频率与市场微结构背景

逐笔成交的频率不是均匀的,它由市场的撮合机制和参与者行为共同决定。集合竞价阶段成交稀疏,连续竞价阶段则可能出现每秒数百甚至上千笔的密集成交。这种“事件驱动”而非“时间驱动”的特性,正是逐笔数据区别于快照数据的根本之处:快照按固定间隔采样,会丢失间隔内的成交顺序与规模分布;逐笔数据保留了每一笔事件的先后,使研究者能够观察订单流的到达节奏、成簇现象和瞬时冲击。

从市场微结构角度看,逐笔成交承载了三类关键信息。其一是交易强度,用单位时间内的成交笔数与成交量衡量;其二是方向性压力,用主动买卖的失衡程度刻画;其三是单笔规模结构,大单与小单的分布往往对应不同参与者类型。这三类信息共同构成了“信息含量”的微观来源——知情交易者的大额主动成交,往往比零散的小单更能预示短期价格变动。因此,逐笔成交分析不是简单加总成交量,而是要在时间、方向、规模三个维度上还原订单流的真实形态。

逐笔成交记录:字段结构与方向判定 一条成交记录的字段 成交时间 毫秒/微秒时间戳,对齐锚点 成交价格 落在买一与卖一之间 成交数量 股或手,注意单位约定 买卖方向 主动买 / 主动卖(发起方) 成交编号 唯一标识,去重与排序 委托序号 回溯买方/卖方委托单 成交金额 价格×数量,可交叉校验 方向判定:谁发起,谁被动 卖一价(挂单) 买一价(挂单) 主动买 买方吃掉卖单 主动卖 卖方砸向买单 成交价 介于买卖一之间 无方向字段时:按成交价贴近买一/卖一推断 有逐笔委托时:优先用委托序号回溯真实发起方

从字段到可用数据:一次实际整理

假设拿到某只股票一个交易日的逐笔成交样例数据,字段为“时间、代码、价格、数量、方向、编号”。整理时可按以下顺序推进,每一步都对应一个可观察的判断点。

  1. 核对时间戳:确认是交易所时间还是本地接收时间,精度到毫秒还是微秒。若同一毫秒内有多笔成交,需用成交编号排序,不能仅依赖时间戳,否则会打乱真实的撮合顺序。
  2. 统一数量单位:确认数量是股还是手。若为手,乘以每手股数后再与金额字段交叉校验,用“价格×数量≈金额”筛出单位错配的记录。
  3. 校验方向编码:把方向字段映射为统一的“主动买/主动卖”两值。若数据源用价格推断方向,应统计成交价恰好等于买一价、卖一价、介于两者之间的三类占比,占比异常说明推断规则需要调整。
  4. 剔除异常记录:检查价格是否落在当日涨跌停范围内、数量是否为零或明显超出流通盘、成交编号是否重复。异常记录应在进入统计前标记,而不是直接删除后不再追溯。
  5. 构建事件序列:按成交编号排序后,计算相邻两笔的时间间隔、价格变动和方向,形成可用于订单流分析的序列。此时数据才真正具备“逐笔”的分析价值。

举个教学示例(以下数值为合理假设,非实测结果):某股票连续竞价期间一分钟内共有 240 笔成交,其中主动买 150 笔、主动卖 90 笔,主动买入成交量占比约 62%。若这 240 笔中前 20 笔集中在开盘后 3 秒内且单笔数量显著大于其余记录,则说明该分钟的成交强度在时间上高度不均,简单用“分钟总量”会掩盖这种成簇特征。此时应进一步看这 20 笔的方向与价格变动,判断是否存在大额主动买入推动价格上行的迹象。这个例子说明:字段整理完成后,真正的分析要回到时间、方向、规模三个维度的联合观察,而不是停留在总量层面。

整理逐笔数据时,建议先做一次“字段体检”:时间是否单调、金额是否等于价格乘数量、方向取值是否只有两类、成交编号是否唯一。这四项检查能提前暴露大部分数据质量问题,避免在信息含量计算阶段才发现方向标错或单位错配。

频率特性对后续检验的影响

逐笔成交的事件驱动特性,决定了它在不同时段的可比性并不天然成立。开盘与收盘附近成交密集,午间清淡,若直接比较不同时段的成交笔数或主动买入占比,会把“市场活跃度差异”误读为“信息含量差异”。因此在进入价格变化检验之前,通常需要按时间窗口或按成交笔数做归一化,并明确窗口的划分依据。此外,逐笔数据的高频噪声较大,单笔成交的方向和规模都可能带有偶然性,分析时应关注一定窗口内的累积订单流,而不是孤立地解读某一笔记录。

把字段含义、方向约定、频率特性这三件事理清之后,逐笔成交数据才从“一堆记录”变成可解释的订单流证据。后续的信息含量度量与价格变化检验,本质上都是在这套字段语义之上,回答“什么样的成交组合更可能伴随价格变动”这一问题。