2. 封单金额的构成与数据来源

要测算封单金额与流通市值的比值,第一步不是算,而是把“封单金额”这个数从行情数据里准确地取出来。很多初学者会直接拿行情软件上显示的“买一金额”当作封单金额,这在多数情况下可用,但在涨停板反复打开、撤单频繁、或使用不同数据源时,结果会出现明显偏差。本节把封单金额拆成可核对的构成要素,并说明逐笔委托、快照数据、常见接口字段之间的对应关系,为后续比值测算打好数据基础。

一、封单金额到底由什么构成

涨停封单金额的本质是:在涨停价这一档上,尚未成交、仍然有效的买入委托所对应的资金总额。用公式表达为:

封单金额 = Σ(涨停价档位上每一笔未成交买入委托的 委托价格 × 委托数量)
         = 涨停价 × Σ(该档位未成交买入委托数量)

由于涨停价是唯一价格,公式可简化为“涨停价 × 买一挂单量”。但这里有两个容易被忽略的细节:其一,买一挂单量必须是未成交的剩余量,而不是当日累计委托量;其二,涨停价档位上可能同时存在多笔委托,快照只给出汇总后的一个数量,逐笔数据才能还原每一笔的进入与撤销。因此,“买一挂单金额”是快照层面的结果值,而“逐笔委托”是解释这个结果值如何形成的过程数据。

在实际教学中可以这样理解两者的分工:快照回答“此刻封单有多少”,逐笔回答“这些封单是什么时候、以什么方式堆上去的,又被撤掉了多少”。做比值测算时,若只取某一时点快照,得到的是瞬时封单强度;若用逐笔数据重建时间序列,则能观察封单的稳定性,这对判断封板质量更有意义。

二、快照数据:最常用的封单来源

快照(Snapshot / Tick)数据是按固定频率(常见为3秒一笔,部分源为1秒或逐笔快照)对盘口状态做的切片。每一笔快照通常包含最新价、买卖五档或十档的价格与数量、成交量、成交额、时间戳等字段。计算封单金额时,取买一档的价格与数量即可:

封单金额 ≈ 买一价 × 买一量
封单金额/流通市值 = 封单金额 ÷ 流通市值

需要注意,快照的买一量是“该时刻盘口上剩余未成交量”,它已经扣除了此前成交的部分,但不反映期间发生过又撤掉的委托。如果一只股票在涨停板上反复开板,快照序列会呈现买一量忽大忽小的锯齿形态,单看某一笔快照容易高估或低估封单强度。因此,用快照做测算时,建议至少取连续若干笔快照的均值或中位数,而不是只取一笔。

三、逐笔委托与逐笔成交:还原封单的形成过程

逐笔委托(Order)数据记录每一笔委托的进入,字段一般包括委托时间、委托编号、方向(买/卖)、委托价格、委托数量;逐笔成交(Trade)记录每一笔撮合成交,字段包括成交时间、成交价格、成交数量、买卖双方委托编号。两者配合,可以重建涨停价档位上的委托队列变化:

  • 某笔买入委托以涨停价进入,若尚未成交,则计入封单;
  • 该委托部分成交后,剩余量继续留在买一档,封单量相应减少;
  • 该委托被撤销,则从封单中扣除;
  • 新的涨停价买入委托进入,封单增加。

用逐笔数据重建封单时,核心是维护一个“涨停价未成交买单集合”,按时间顺序处理委托与成交事件,实时累加剩余量。这样得到的封单曲线比快照更平滑、更真实,也能识别出“大单进入后迅速撤掉”的虚假封单。对于教学示例,可以假设某股票涨停价为10.00元,流通市值为50亿元,某时刻买一档未成交买单合计800万股,则封单金额为8000万元,封单金额/流通市值 = 8000万 ÷ 50亿 = 1.6%。这个数值仅用于演示计算路径,不代表任何真实标的。

四、常见数据接口与字段说明

不同数据源对封单相关字段的命名和粒度不同,使用时必须核对字段含义,避免把“累计委托量”“委托总量”误当成“未成交量”。下表列出常见字段的对应关系,供取数时对照:

数据类别 常见字段 含义与用途
快照行情 bid1_price / bid1_volume 买一价与买一量,直接相乘得封单金额
快照行情 last_price / volume / amount 最新价、成交量、成交额,用于判断是否封板及换手情况
逐笔委托 order_time / order_no / side / price / qty 委托进入事件,用于重建涨停价买单队列
逐笔成交 trade_time / trade_price / trade_qty / bid_order_no 撮合事件,用于扣减对应买单的剩余量
基础信息 float_share / circ_mv 流通股本与流通市值,作为比值测算的分母

取数时有三个核对点值得养成习惯:第一,确认买一价是否等于涨停价,若未封板则“封单金额”不成立;第二,确认买一量的单位是股还是手,接口间常不一致,手需乘以100;第三,确认流通市值的时间口径,是取当日盘前静态值还是实时值,分母口径不同会直接影响比值。把这三项写进取数检查清单,可以避免大部分低级错误。

封单金额的数据构成与取数链路 逐笔委托 order_time / price / qty 涨停价买单进入队列 逐笔成交 trade_price / trade_qty 扣减对应买单剩余量 涨停价未成交买单集合 剩余量实时累加 剔除已撤、已成交部分 得到封单量 快照行情 bid1_price / bid1_volume 瞬时封单金额 流通市值 float_share / circ_mv 比值测算的分母 封单金额 ÷ 流通市值 比值 = 封单强度指标

上图把两条取数路径并列呈现:左侧逐笔委托与逐笔成交共同维护“涨停价未成交买单集合”,得到可解释的封单量;右侧快照直接给出买一价与买一量,得到瞬时封单金额;两者最终都与流通市值相除,形成比值。实际工作中,快照路径适合批量快速测算,逐笔路径适合对重点标的做封单质量复核,二者互为验证。

取数检查清单:①买一价是否等于涨停价;②买一量单位是股还是手;③流通市值取静态还是实时口径;④快照时间戳是否落在封板区间内;⑤逐笔数据是否包含撤单事件。五项核对完成后再进入比值计算,可显著降低口径错误。

把上述构成和数据来源理清后,封单金额就不再是一个“抄来的数字”,而是可以追溯、可以复核、可以解释形成过程的量。后续做比值测算时,无论采用快照的瞬时值还是逐笔重建的序列值,都应明确标注数据口径与时间点,保证同一批标的之间可比、同一标的跨时间可比。