大单识别:大单定义与阈值设定、逐笔大单抓取、大单方向判断
做盘口分析,第一步就是搞清楚——什么是大单。
很多人以为,大单就是金额大的单子。这话没错,但太笼统。我个人的经验是,大单的定义必须结合具体品种、当前流动性和你的策略目标来定。说白了,没有放之四海而皆准的阈值。
一、大单定义与阈值设定
大单的核心特征就两个:单笔金额大、对盘口冲击明显。
我在项目中遇到过最典型的场景:某只小盘股,平时一笔单子就几万块,突然来了一笔50万的买单,直接把卖一、卖二、卖三全吃了。这种单子,你说是不是大单?肯定是。但同样的50万,放到贵州茅台里,可能连卖一都打不掉一半。所以阈值必须动态调整。
我个人习惯用以下三种方式设定阈值:
| 方法 | 说明 | 适用场景 |
|---|---|---|
| 固定金额法 | 比如设定单笔成交金额 ≥ 20万元为大单 | 流动性稳定的蓝筹股 |
| 百分比法 | 单笔成交量占近N日平均每笔成交量的倍数(如3倍) | 波动较大的中小盘股 |
| 分位数法 | 取过去一段时间所有成交单金额的90%或95%分位数 | 需要自适应阈值的量化策略 |
二、逐笔大单抓取
阈值设好了,接下来就是抓数据。逐笔成交数据是识别大单的原材料。国内A股的Level-2行情提供了逐笔成交明细,这是最靠谱的来源。
抓取逻辑其实不复杂,核心就三步:
- 订阅逐笔成交流(Tick级数据)
- 解析每一笔成交:价格、数量、成交金额、买卖方向
- 判断是否超过阈值,超过则标记为大单,存入队列或数据库
嗯,这里要注意:逐笔数据里有些是“拆单”后的结果。什么意思?就是主力把一个大单拆成几十个小单,逐笔看都不大,但短时间内连续出现。我建议你加一个时间窗口聚合的逻辑——比如1秒内同一方向的连续成交,合并计算。
# 伪代码示例:逐笔大单抓取 + 时间窗口聚合
def capture_large_orders(tick_stream, threshold, window_ms=1000):
buffer = {} # key: (方向, 时间窗口索引)
for tick in tick_stream:
amount = tick.price * tick.volume
if amount < threshold:
continue # 小于阈值,跳过
# 判断方向
direction = 'buy' if tick.is_active_buy else 'sell'
# 时间窗口聚合
window_key = int(tick.timestamp / window_ms)
key = (direction, window_key)
if key not in buffer:
buffer[key] = {'total_vol': 0, 'total_amt': 0, 'start_time': tick.timestamp}
buffer[key]['total_vol'] += tick.volume
buffer[key]['total_amt'] += amount
# 如果窗口结束,输出聚合后的大单
if tick.timestamp - buffer[key]['start_time'] >= window_ms:
yield buffer.pop(key)
三、大单方向判断:主动买 vs 主动卖
判断大单的方向,是盘口分析的核心。方向错了,后面的跟随策略全白搭。
判断标准其实就一条:看这笔成交是主动吃单,还是被动挂单。
- 主动买:买方直接以卖一价或更高价成交。说明买方着急,愿意多花钱拿货。
- 主动卖:卖方直接以买一价或更低价成交。说明卖方着急,愿意降价出货。
在Level-2数据里,每一笔成交都会带一个标记:BSFlag(买卖方向标识)。'B'表示主动买,'S'表示主动卖。但要注意,有些行情源会把“中性”成交(比如集合竞价)标记为'0',这些要过滤掉。
你想想看,为什么方向这么重要?因为主动买的大单,代表的是真金白银的买入意愿。被动成交的大单,可能是挂单被吃,不代表主动意愿。我见过不少新手,看到一笔大单成交就兴奋,结果发现是主动卖——那是主力在出货。
实际处理时,我还会加一个价格偏移判断:如果成交价等于卖一价,大概率是主动买;等于买一价,大概率是主动卖。如果成交价在中间,那就看BSFlag。两者结合,准确率能到95%以上。
四、知识体系总览
下面这张图,是我自己整理的大单识别知识框架。你可以把它当成一个检查清单,每次做策略时对照着看,不容易漏东西。
从图上你能看到,三个模块是串联的。阈值设不好,抓出来的大单要么太多噪音,要么漏掉关键信号。方向判断错了,后续的跟随策略就是反向操作。每一步都马虎不得。
好了,大单识别这块就聊到这儿。记住三个关键词:阈值要动态、抓取要聚合、方向要分清。把这三点吃透了,盘口分析的第一步就算站稳了。
公众号:蓝海资料掘金营,微信deep3321