第四节:净流入净流出计算原理——大单、中单、小单的划分标准
好,咱们直接切入正题。
很多新手看资金流向,上来就盯着那个红绿柱看。但说实话,如果连大单、中单、小单怎么划分的都不清楚,那看到的净流入净流出,基本就是看个热闹。我刚开始做量化那会儿,也犯过这个错——拿到的数据漂亮得很,结果一跑回测,亏得我头皮发麻。
后来我才明白:划分标准,才是资金分析的地基。地基歪了,上面盖什么都是危楼。
4.1 为什么需要划分大单、中单、小单?
交易所的原始数据,其实只有每一笔成交的价格和数量。它不会告诉你「这单是机构买的还是散户买的」。
那怎么办?我们只能通过单笔成交金额的大小,来反推这笔交易背后的资金性质。
逻辑很简单:
- 大单:金额大,大概率是机构、主力在操作
- 中单:金额中等,可能是游资或者大户
- 小单:金额小,基本就是散户行为
嗯,这里要注意:这个划分不是绝对的。不同市场、不同股票、甚至不同时间段,标准都不一样。我见过有人拿一套固定参数跑遍全市场,结果惨不忍睹。
4.2 常见的划分标准(实战经验版)
我个人习惯用金额阈值法,简单直接,回测效果也稳定。下面是我在A股市场常用的标准:
| 单笔成交金额 | 划分类型 | 典型资金性质 |
|---|---|---|
| ≥ 100万元 | 大单 | 机构、主力 |
| 20万元 ~ 100万元 | 中单 | 游资、大户 |
| < 20万元 | 小单 | 散户 |
你可能会问:为什么是100万和20万这两个数?
其实没有标准答案。我在项目中测试过50万、80万、120万等多个阈值,最终发现100万这个点,在沪深300成分股上的信号质量最好。对于小盘股,我建议把阈值下调到50万甚至30万。说白了,标准要跟着股票走,不能一刀切。
4.3 主力净流入的核心公式
好,划分标准定下来了。接下来就是核心逻辑:
就这么简单?对,就这么简单。但简单不代表容易用。
我解释一下:
- 大单买入:所有被判定为大单的成交中,属于主动买入的部分
- 大单卖出:所有被判定为大单的成交中,属于主动卖出的部分
- 差值:正数就是净流入,负数就是净流出
举个例子:
某只股票今天有3笔大单:
- 第一笔:主动买入 200万元 → 大单买入 +200万
- 第二笔:主动卖出 150万元 → 大单卖出 -150万
- 第三笔:主动买入 300万元 → 大单买入 +300万
那么:主力净流入 = (200 + 300) - 150 = +350万元
嗯,这里有个坑:「主动」和「被动」的区别。主动买入是指买方直接以卖一价甚至更高价格成交,说明买方着急要货。被动买入是挂单等着别人来砸。我一般只统计主动成交的部分,因为那才是真实意图。
4.4 代码实现:从原始数据到净流入
光说不练假把式。我直接给一段Python代码,你拿去就能用。
import pandas as pd
def classify_order(amount):
"""根据成交金额划分大单、中单、小单"""
if amount >= 1000000: # 100万元
return '大单'
elif amount >= 200000: # 20万元
return '中单'
else:
return '小单'
def calculate_net_inflow(df):
"""
计算主力净流入
df 必须包含字段:amount(成交金额), side(方向: 'buy' 或 'sell')
"""
df['order_type'] = df['amount'].apply(classify_order)
# 只筛选大单
big_orders = df[df['order_type'] == '大单']
# 计算买入和卖出
buy_amount = big_orders[big_orders['side'] == 'buy']['amount'].sum()
sell_amount = big_orders[big_orders['side'] == 'sell']['amount'].sum()
net_inflow = buy_amount - sell_amount
return net_inflow
# 示例用法
data = {
'amount': [2000000, 1500000, 50000, 3000000, 80000],
'side': ['buy', 'sell', 'buy', 'buy', 'sell']
}
df = pd.DataFrame(data)
result = calculate_net_inflow(df)
print(f"主力净流入: {result} 元")
这段代码很基础,但核心逻辑都在里面了。你实际用的时候,需要从行情接口获取逐笔成交数据,然后按这个思路处理。
4.5 知识体系总览
为了让你看得更清楚,我画了一张图,把整个计算逻辑串起来:
4.6 几个实战中的注意事项
最后,我把自己踩过的坑总结一下,你直接拿去用:
- 阈值要动态调整:牛市和熊市,阈值肯定不一样。我一般每季度重新校准一次。
- 小心「拆单」:有些主力会把大单拆成中单甚至小单,来隐藏意图。所以只看大单会漏掉信号。
- 结合价格位置看:同样的净流入,在低位和高位含义完全不同。低位净流入可能是建仓,高位净流入可能是拉高出货。
- 不要只看一天:单日的净流入数据噪音很大。我习惯看3日、5日的累计值,信号更稳定。