第九章:大单追踪——大单定义与阈值设定,大单对盘口的冲击分析,Python实现大单监控

做量化交易的朋友,尤其是做订单流和盘口分析的,一定绕不开一个词——大单

什么叫大单?说白了,就是那些能“砸出水花”的单子。我刚开始做盘口分析时,总以为大单就是手数大的单子。后来发现,事情没那么简单。

举个例子,一只茅台和一只ST股,同样是一万手的单子,对盘口的冲击能一样吗?显然不能。所以,大单的定义,必须结合具体的市场环境、股票流动性、以及你的交易策略来定。

这一章,我们就来聊聊大单的定义、阈值怎么设,以及如何用Python实时监控大单对盘口的冲击。


9.1 大单的定义:不是所有大单都叫“大单”

我个人习惯把大单分为两类:绝对大单相对大单

  • 绝对大单:比如单笔成交超过500手、1000手,或者金额超过100万。这种定义简单粗暴,适合流动性好的品种。
  • 相对大单:根据该股票过去一段时间的平均单笔成交量来动态设定。比如,过去20个交易日,平均单笔成交是50手,那今天突然出现一笔500手的单子,这就是相对大单。

我在项目中遇到过这样的情况:某只小盘股,平时一天才成交几万手,突然来了一笔2000手的买单,直接把价格拉涨停。如果用绝对大单的标准(比如500手),这笔单子会被捕捉到。但如果你用相对大单,它的冲击力会更明显。

核心观点:大单的定义,一定要结合“流动性”和“时间窗口”。流动性越差,大单的阈值应该越低。

9.2 阈值设定:怎么定才合理?

阈值设定,说白了就是“多大才算大”。我建议从三个维度来考虑:

  1. 成交量维度:单笔成交量占过去N日平均成交量的比例。比如,单笔成交量超过过去5日平均成交量的5%,就算大单。
  2. 金额维度:单笔成交金额。对于高价股,手数可能不大,但金额巨大。比如茅台,一手就要20多万,10手就是200万,这绝对算大单。
  3. 盘口冲击维度:单子成交后,盘口挂单的变化。比如,一笔买单吃掉卖一到卖五的所有挂单,这就算大单。

嗯,这里要注意:阈值不是一成不变的。我曾经在实盘中吃过亏,用固定的500手阈值去监控,结果遇到一只高送转后的股票,股价从200块跌到20块,500手变成了“小单”。从那以后,我改用动态阈值。

我的经验:动态阈值建议用“过去20个交易日平均单笔成交量的3倍”作为基准。如果市场波动大,可以放宽到5倍。

9.3 大单对盘口的冲击分析

大单来了,盘口会有什么反应?说白了,就是“流动性被抽走”和“价格被推动”。

我总结了大单冲击盘口的三种典型模式:

模式 特征 后续走势概率
主动吃单型 大单直接吃掉卖盘,盘口卖一迅速消失 大概率继续上涨,但需警惕主力诱多
挂单堆积型 大单挂在买一或卖一,不主动成交 可能是支撑或压力位,方向待定
撤单再挂型 大单先挂出,然后撤单,再在更优价格挂出 主力试盘,后续可能有动作

你想想看,如果一笔大单主动吃掉所有卖单,盘口瞬间变薄,价格跳涨。这时候,如果你手里有仓位,是跟还是跑?我的建议是:结合成交量放大情况来判断。如果大单成交后,后续没有跟风盘,那很可能是主力对倒,别急着追。


9.4 Python实现大单监控

好了,理论说完了,我们来点实际的。下面是我写的一个简单的大单监控脚本,基于tushare或akshare获取实时成交数据。

这个脚本的核心逻辑是:

  • 实时获取逐笔成交数据
  • 判断单笔成交量是否超过阈值
  • 如果超过,记录并计算对盘口的冲击
import pandas as pd
import numpy as np
import time
from datetime import datetime

# 假设我们有一个函数 get_tick_data() 获取实时逐笔成交
# 这里用模拟数据演示

class BigTradeMonitor:
    def __init__(self, stock_code, threshold_volume=500, threshold_amount=1000000):
        self.stock_code = stock_code
        self.threshold_volume = threshold_volume  # 手数阈值
        self.threshold_amount = threshold_amount  # 金额阈值
        self.trade_history = []  # 存储历史成交
        
    def is_big_trade(self, trade):
        """判断是否为大单"""
        volume = trade['volume']
        amount = trade['amount']
        if volume >= self.threshold_volume or amount >= self.threshold_amount:
            return True
        return False
    
    def calculate_impact(self, trade, orderbook):
        """计算大单对盘口的冲击"""
        # orderbook 包含买卖五档
        bid_prices = orderbook['bid_prices']  # 买一到买五
        ask_prices = orderbook['ask_prices']  # 卖一到卖五
        
        # 如果是买单,看它吃掉了多少卖单
        if trade['side'] == 'buy':
            # 计算成交均价与卖一价的偏离
            impact = (trade['price'] - ask_prices[0]) / ask_prices[0] * 10000  # 用BP表示
        else:
            impact = (bid_prices[0] - trade['price']) / bid_prices[0] * 10000
            
        return impact
    
    def run(self, data_stream):
        """实时监控主循环"""
        for tick in data_stream:
            if self.is_big_trade(tick):
                impact = self.calculate_impact(tick, tick['orderbook'])
                print(f"[{datetime.now()}] 大单发现!")
                print(f"  方向: {'买入' if tick['side']=='buy' else '卖出'}")
                print(f"  成交量: {tick['volume']}手, 金额: {tick['amount']:.2f}元")
                print(f"  盘口冲击: {impact:.2f} BP")
                print("-" * 40)
                
                # 记录到历史
                self.trade_history.append(tick)
                
            time.sleep(0.5)  # 模拟实时延迟

# 使用示例
if __name__ == "__main__":
    monitor = BigTradeMonitor("000001", threshold_volume=300, threshold_amount=500000)
    # monitor.run(real_data_stream)  # 实际使用时传入实时数据流
    print("大单监控已启动,等待数据...")
注意:上面的代码是演示框架,实际使用时需要对接交易所的Level-2行情数据。另外,阈值不要设得太低,否则会频繁报警,产生噪音。我曾经把阈值设成100手,结果一天报警上千次,根本没法看。

9.5 实战中的避坑指南

做了一段时间的大单监控,我踩过不少坑。这里分享几个:

  • 别只看手数,要看金额。 有些高价股,几十手就是几百万,绝对算大单。
  • 大单不一定代表方向。 有时候主力会用大单对倒,制造假象。要结合盘口挂单变化来判断。
  • 注意时间窗口。 早盘和尾盘的大单,往往比盘中更有意义。早盘的大单可能是主力建仓,尾盘的大单可能是拉抬收盘价。
  • 动态调整阈值。 市场活跃时,阈值可以适当提高;市场冷清时,阈值要降低。

我曾经在监控一只科创板股票时,发现连续出现大单买入,但价格就是不涨。后来一查,是主力在利用大单托盘,然后在小单出货。嗯,从那以后,我加了一个“价格与成交量背离”的过滤条件。


9.6 知识体系结构图

下面这张图,是我自己整理的大单追踪知识体系,方便你快速理解本章的核心逻辑:

大单追踪知识体系 大单定义 阈值设定 冲击分析 绝对大单 相对大单 成交量维度 金额维度 主动吃单型 挂单堆积型 Python实现大单监控 实时数据获取 大单识别 冲击计算 报警输出

大单追踪,说白了就是“在茫茫单海中,找到那些能改变市场格局的单子”。阈值设好了,监控跑起来了,剩下的就是结合你的交易策略去执行。

记住,大单只是信号,不是圣杯。真正赚钱的,是看懂大单背后的意图,然后做出正确的决策。


无相订单流研究社 微信Lucian808555