4. 买单增减的逐笔测算方法
在涨停板封单分析中,很多人习惯直接看行情软件上的“封单量”数字,但这个数字是快照,它只告诉你某一时刻涨停价上挂着多少手买单,却不告诉你这些买单是怎么来的、又怎么没的。同样是封单从 8 万手变成 6 万手,一种可能是新增 1 万手、成交 3 万手,另一种可能是新增 0、撤单 2 万手——两者对后续走势的含义完全不同。要区分这两种情形,就必须回到逐笔委托数据,把涨停价买单的“增”和“减”拆开,逐笔还原,再累加成一条净增仓时间序列。
一、先明确口径:什么算“涨停价买单”
逐笔委托数据通常包含证券代码、委托时间、委托序号、买卖方向、委托价格、委托数量、委托类型等字段。测算前必须先固定三个口径,否则后续序列会前后矛盾:
- 价格口径:以当日涨停价 Plimit 为基准,只保留买方向且委托价等于 Plimit 的委托。部分数据源对市价买单会以特殊价格标记,需要单独判断是否计入。
- 方向口径:只统计买方(B 方向)。卖方在涨停价上的挂单属于卖盘,不属于本节对象。
- 事件口径:新增 = 涨停价买单委托进入;减少 = 该笔买单被成交或被撤单。注意“减少”是两件事的合并,后续要尽量拆分。
这里有一个容易忽略的细节:涨停价买单的减少,未必都发生在涨停价上。如果买单在涨停价排队,随后涨停被打开、价格回落,这笔买单可能在更低价格成交,但它依然是从“涨停价封单”这个池子里流出的。因此严格做法是按委托序号跟踪每一笔涨停价买单的生命周期,而不是只看成交价是否等于涨停价。
二、逐笔配对:用委托序号把“生”和“死”对上
逐笔委托流本身只记录“某笔委托出现”,并不直接告诉你它何时消失。要得到减少事件,需要把委托流与逐笔成交、逐笔撤单数据做配对。核心工具是委托序号(或称委托编号):每一笔新增买单有唯一序号,成交记录和撤单记录中会带回该序号,据此可以精确判定某笔涨停价买单是被成交还是被撤销。
实操中可按如下顺序处理(以某只涨停股某日数据为例,以下数值均为教学示例假设):
- 筛出全部买方向、价格等于涨停价的委托,按时间排序,得到新增事件集合,例如 09:31 至 14:57 共 1,240 笔。
- 对每笔新增,在成交明细中查找相同委托序号,累加其成交数量,得到该笔的“已成交量”。
- 在撤单明细中查找相同委托序号,得到“已撤数量”。
- 若已成交量 + 已撤数量 = 委托数量,则该笔买单生命周期结束;若小于委托数量,说明仍有剩余挂在涨停价上,属于“存量”。
这样,任意时刻的涨停价封单量就可以用“累计新增 − 累计成交 − 累计撤单”来校验,与行情快照对照,若偏差较大,通常说明口径有遗漏(如漏计市价单、漏计部分成交后撤单等),需要回头修正。
三、构建净增仓时间序列
把事件按时间桶聚合,就得到净增仓序列。设第 t 个时间桶内:新增量为 ΔAddt,成交减少量为 ΔFillt,撤单减少量为 ΔCancelt,则
净增仓 ΔNett = ΔAddt − ΔFillt − ΔCancelt
累计封单量则为各桶 ΔNet 的累加。时间桶粒度建议先用 1 分钟,既能看清节奏,又不至于过密;若涨停封单变化剧烈,可细化到 10 秒或按逐笔事件驱动。下面这张图展示了从逐笔委托到净增仓序列的完整数据链路与关键判断节点:
四、结果怎么读:三个观察点
得到序列后,不要只盯着最终封单量,重点看三件事。第一是净增仓的符号与斜率:连续多个时间桶 ΔNet 为负,说明封单在被持续消耗,即便总量还很大,也属于“失血”状态。第二是减少的构成:若减少主要来自成交,说明有真实买盘在涨停价吃货,属于主动承接;若主要来自撤单,则更可能是排队资金信心不足、主动撤退。第三是新增的节奏:新增集中在开盘瞬间还是全天均匀补充,反映封板资金的持续意愿。
以教学示例说明:某股 10:00 至 10:05 的 5 个一分钟桶内,新增分别为 800、300、200、150、100 手,成交减少为 500、600、700、650、600 手,撤单减少为 0、100、200、300、400 手。则 ΔNet 依次为 +300、−400、−700、−800、−900,累计封单从 10:00 的 5.2 万手降至 10:05 的约 4.9 万手。表面看封单仍厚,但净增仓连续为负且撤单占比从 0 升到 40%,这就是典型的“封单虚厚、资金松动”信号,值得警惕。
五、把方法固化成可复用的计算流程
实际使用时,建议把上述过程写成一个固定脚本或表格模板:输入逐笔委托、成交、撤单三张表,输出“时间桶、新增量、成交量、撤单量、净增仓、累计封单、撤单占比”七列。每次分析同一只股票的不同交易日,或同一交易日的不同涨停股,都套用同一模板,结果才具备横向可比性。净增仓序列的价值不在于某一个数字,而在于它把“封单变化”这个笼统现象,还原成了可归因、可比较、可跟踪的逐笔证据链。