🚀 AI 一键生成 joinquant 策略代码
立即体验
👉 AI 生成代码 👈

深入理解 JoinQuant 资金流向函数 get_money_flow() 及净占比关系

joinquant | 发布时间: 2026/6/3
以下内容由 EasyQuant 生成。

问题描述

get_money_flow()函数返回的结果是什么意思?

调用get_money_flow()函数,根据定义
net_pct_s 表示小单净占比(%)
net_pct_m 表示中单净占比(%)
net_pct_l 表示大单净占比(%)
net_pct_xl 表示超大单净占比(%)
net_pct_main 表示主力净占比(%)
但是返回的数据为net_pct_xl=net_pct_l+net_pct_m + net_pct_s。这小单、中单、大单、超大单有什么关系呢????????所有单加起来不应该为100%吗?????请高手赐教,感谢!!!!

解决方案

您好!关于 get_money_flow() 函数返回的资金流向数据,很多初学者都会有类似的疑问。要理解这个问题,我们需要先弄清楚**“净额”“净占比”**的概念。

1. 什么是“净额”和“净占比”?

在资金流向统计中:

  • 净额 (Net Amount) = 主动买入金额 - 主动卖出金额。
  • 净占比 (Net Percentage) = 净额 / 总成交额。

2. 为什么所有单的净占比加起来不是 100%?

在股票交易中,买卖是双向的,有买必有卖。整个市场的总买入金额永远等于总卖出金额。因此,如果我们把所有级别的订单(超大单、大单、中单、小单)的净额加在一起,其总和必然为 0。

即:
超大单净额 + 大单净额 + 中单净额 + 小单净额 = 0

由于“净占比”是净额除以总成交额,所以:
超大单净占比 + 大单净占比 + 中单净占比 + 小单净占比 = 0

这就是为什么它们加起来不是 100% 的原因。如果是“买入占比”或“卖出占比”,所有级别加起来才会是 100%。

3. 为什么会出现 net_pct_xl = net_pct_l + net_pct_m + net_pct_s

根据上面的公式:
net_pct_xl + net_pct_l + net_pct_m + net_pct_s = 0

移项后可以得到:
net_pct_xl = - (net_pct_l + net_pct_m + net_pct_s)

您观察到的现象,很可能是忽略了正负号。超大单的净占比,在数值上等于大单、中单、小单净占比之和的相反数。例如,如果超大单是净流入(正数),那么大单、中单、小单的净额之和必然是净流出(负数),且绝对值相等。

4. 各个字段的具体定义

根据 JoinQuant API 文档,各字段的划分标准如下:

  • 超大单 (xl):大于等于 50 万股或者 100 万元的成交单。
  • 大单 (l):大于等于 10 万股或者 20 万元,且小于 50 万股或者 100 万元的成交单。
  • 中单 (m):大于等于 2 万股或者 4 万元,且小于 10 万股或者 20 万元的成交单。
  • 小单 (s):小于 2 万股或者 4 万元的成交单。
  • 主力 (main):主力净额 = 超大单净额 + 大单净额。

希望这个解释能帮您理清资金流向数据的逻辑!在编写量化策略时,通常我们会关注主力净占比 (net_pct_main),以此来判断大资金的动向。