币安合约「交易数据」页上那块「合约主动买卖量」,统计的是成交里谁在主动吃单:图例写着「主动卖出量 (BTC)」和「主动买入量 (BTC)」,单位是 BTC,两条量分开画。API 里的 buySellRatio 就是这两条量的比值——文档没有给公式,但拿它自己的返回示例除一下,387.33 ÷ 248.503 ≈ 1.5586(文档按 4 位给),和示例里的 buySellRatio 对得上,所以比值 = 主动买入量 ÷ 主动卖出量。
要紧的是别把它跟多空比混成一个东西。多空比数的是账户和持仓(谁手上拿着多单空单),主动买卖量数的是成交(这段时间里谁在跨价成交),在币安那一页上它们是上下排开的两块不同的图。另外还有一条硬限制写在文档里:这份数据只保留最近 30 天,周期最细 5 分钟、最粗 1 天。
1. 它统计什么:吃单方向,不是持仓方向。
按 taker 这个词在撮合里的一般含义,主动买入是吃单方直接按卖一价成交的买,主动卖出是吃单方按买一价成交的卖。挂着单等成交的那一方是 maker,被动;跨过价差去成交的那一方是 taker。一笔成交同时有买有卖,但主动的只有一边,币安这块数据统计的就是这一边。
这里要分清楚哪句是谁说的:币安 API 文档只列了字段名,没有给「主动买入量」的文字定义,上面那段是 taker 的一般含义,不是文档原文。文档里能拿到的是四个字段——buySellRatio、buyVol、sellVol、timestamp。
比值的算法同样是验算出来的,不是文档写明的。文档的 Response Example 给了 buySellRatio 1.5586、buyVol 387.3300、sellVol 248.5030,除一下分子是买、分母是卖。这也意味着比值小于 1 的时候,是主动卖出的量更大。这个除法任何人拿文档上那组示例数字都能自己复算一遍。
2. 在哪看这块图。
网页端路径是币安合约「交易数据」页。打开默认是 BTCUSDT 永续、5 分周期,顶部可以切 U 本位合约 / 币本位合约 / 期权,交易对和周期也都能换。
这一页从上往下依次是这几块图:合约持仓量(持仓总数量 BTC / 持仓总价值 USDT)、大户账户数多空比、大户持仓量多空比、多空账户数比、合约主动买卖量、基差、资金费率(最近 7 天)、未平仓量与市值比率。主动买卖量排在多空比那几块的下面,不留神会当成多空比的一部分翻过去。
有个细节先知道为好:这块图上看到的是两条量,单位 BTC,比值要自己算或走第 6 节那个接口。
3. 和多空比差在哪。
差别在统计对象:一个数成交,一个数账户和持仓。
| 指标 | 统计的是 | 比值 1.5 的意思 |
|---|---|---|
| 合约主动买卖量 / Taker 买卖比 | 这段周期内的成交量,按吃单的方向拆开 | 这段时间主动买入的量,是主动卖出量的 1.5 倍 |
| 多空账户数比 / 大户多空比 | 账户或持仓,按谁手上拿着什么单来分 | 做多的那一侧,是做空侧的 1.5 倍(按各自口径,人数或持仓量) |
所以这两个数完全可以背着走:一段时间里主动买盘占优(比值大于 1),同时账户口径上做多的人在减少,这两句话不冲突,它们本来就在数不同的东西。多空比那一族里还分人数、持仓量、大户与全市场几种算法,站内《多空比是反指标还是真信号?实战手册》按算法一种一种拆过。
还有一层不对称:成交是流量,持仓是存量。主动买卖量描述的是这 5 分钟里发生了什么,持仓描述的是此刻账上还留着什么。同一批主动买入,可能是新开的多单,也可能是空头在平仓回补,单看这条线分不出是哪一种——这正是下一节要它配着持仓量看的原因。
4. 编辑组怎么用这个比值。
下面几条是编辑组自己的用法。币安文档里没有任何「多少算高」的规则,这一节也不给阈值。
看相对位置,不看绝对数。 同一个交易对在不同行情阶段,比值的常态区间不一样;不同交易对之间更不能互相套标尺。我们的做法是把同一个交易对最近这段时间的比值拉出来当自己的参照,看当下这个数落在自己的分布里的什么位置。要提醒的是,能拉到的历史只有 30 天,这把尺子本身也只有 30 天厚。
配着持仓量变化看。 主动买入占优、同时持仓量在涨,和主动买入占优、持仓量在掉,是两种情形:前者更像新仓进场,后者更像空头平仓回补。持仓量那条线怎么读、在哪看,站内《持仓量 Open Interest 入门到实战》讲得比这里细。
配着资金费率看。 资金费率是持仓那一侧的成本和情绪,主动买卖量是成交那一侧的即时方向,两者节奏本来就不同步。费率的结算节奏和正负含义在《资金费率完整指南》里,两条线一起看比单看一条稳当。
周期对齐。 用 5 分钟周期的比值,就配 5 分钟的 K 线和持仓量,别拿 5 分钟的比值去解释日线上的一段走势。接口那边周期是必填参数,这一点它替你强制了。
5. 它什么时候没有信息量。
30 天以外的问题它答不了。 文档写明只提供最近 30 天的数据,周期枚举最细 5m、最粗 1d。想验证「这个指标在上一轮行情里灵不灵」,数据取不到,这个问题在这个接口上没法回答。
它是币安一家的口径。 这份数据来自币安自己的撮合,别的交易所、别的数据商各算各的,数字对不上属于正常。跨平台比大小之前,先确认两边统计的是不是同一件事。
成交清淡的时候比值会跳。 比值是个除法,分母小的时候,几笔稍大的主动卖出就能把它推到一个很难看的数。冷门交易对的 5 分钟周期尤其容易这样,换更长的周期看会稳一些。
文档没说这两个量怎么归集。 强平成交算不算进去、不同合约类型怎么分,页面上没有写。把它当方向上的参考可以;拿它跟别处的成交量数据做精确对账,前提本身就不成立。
6. 想自己拉数据:takerlongshortRatio。
接口在币安开放平台文档《Taker Buy/Sell Volume》这一页(U 本位),路径 GET /futures/data/takerlongshortRatio,权重 0。本文按 U 本位这一页写,币本位另有一页。
| 参数 | 必填 | 取值 |
|---|---|---|
symbol | 是 | 交易对,例如 BTCUSDT |
period | 是 | 枚举:5m、15m、30m、1h、2h、4h、6h、12h、1d |
limit | 否 | 默认 30,最大 500 |
startTime | 否 | 起始时间 |
endTime | 否 | 结束时间 |
参数表下面文档给了四条说明:不传 startTime 和 endTime 时返回最近的数据;只提供最近 30 天的数据;IP 限速 1000 次 / 5 分钟;返回里的 timestamp 是该周期的开始时间。这一条最影响读图:把 timestamp 当结束时间,整条线会错开一格,再去跟 K 线对因果就全错了。
返回的每一项是四个字段:buySellRatio(比值)、buyVol(主动买入量)、sellVol(主动卖出量)、timestamp。文档示例里这三个数是 1.5586 / 387.3300 / 248.5030,第 1 节那次验算用的就是它们。
站内那几个行情数据工具取的是同一类公开行情接口,不是什么私有数据源。这篇只讲口径,不配工具。
7. 常见问题。
主动买卖比多少算高?
币安文档只给了字段和取值,没有给任何阈值,所以不存在一个通用的「多少算高」。比值本身是主动买入量除以主动卖出量,等于 1 就是这段周期里两边的主动成交量一样大。要判断高低,只能把同一个交易对最近这段时间的比值拉出来自己比,而能拉到的历史只有 30 天,这把尺子的厚度就是 30 天。
它和 CoinGlass 上的 Taker 买卖比是一回事吗?
本文只核过币安自家的两处:合约「交易数据」页上的「合约主动买卖量」,以及 API 的 takerlongshortRatio。两边的统计对象与周期需各自在说明里确认,不能默认等同。跨平台对比之前,先在各自的说明里确认统计对象和周期是不是同一个。
这个数据能看多久的历史?
币安文档写的是只提供最近 30 天的数据,周期枚举从 5m 到 1d,单次请求最多 500 条。它是个短周期工具:想拿它验证一年前那段行情,数据根本取不到,这类回测问题在这个接口上做不了。
5 分钟周期和 1 天周期该看哪个?
看你要回答的问题有多长。盯当下的主动成交方向,5m、15m 这种细周期更贴;想看这一周主动成交偏向哪一边,4h 或 1d 更稳,细周期在成交清淡时容易跳。一个原则是周期对齐:用哪个周期的比值,就配哪个周期的 K 线和持仓量,别混着解释。
主动买卖量和普通成交量有什么区别?
成交量是全部成交的总量,不分方向;主动买卖量把同一批成交按吃单的那一方拆成两条——主动买入量和主动卖出量,两者是同一批成交按吃单方向拆出的两部分;文档没写归集口径,别拿它跟别处的成交量做精确对账。区别在于它多告诉你一件事:这些成交里,跨价主动去成交的是买方还是卖方。