同一个币的 24 小时成交量,为什么各网站差这么多?

第一次把交易所的 BTC 交易页和一个行情聚合站并排打开,很多人会怀疑自己数错了位数。两边都写着「24 小时成交额」,聚合站那个数却比交易所那个多出一个零还不止。行情没出问题,两个数装的不是同一堆成交。
同一个名字,三种范围
「24 小时成交额」这几个字本身不带范围。你在哪个页面看到它,决定了它加总的是哪些成交:
| 范围 | 一般在哪看到 | 加进来的是什么 |
|---|---|---|
| 一个交易对 | 交易所里某个交易对的页面,比如 BTC/USDT | 只有这一对里、用 USDT 买卖 BTC 的成交 |
| 一家交易所 | 聚合站上的「交易所」页 | 这家交易所所有交易对的成交加在一起 |
| 聚合站收录的全部市场 | 聚合站的币种页 | 它追踪的所有交易所、所有相关交易对加在一起 |
第一行最容易被当成「这个币的成交额」。币安现货的市场数据接口文档里,24 小时行情是按交易对返回的,每一对各带两个成交量字段:volume 的说明是「Total trade volume (in base asset)」,按基础币计;quoteVolume 是「in quote asset」,按计价币计。BTC 在同一家交易所里还和 USDC、FDUSD 等配对,每一对各算各的。
第三行在聚合站那边。CoinGecko 的方法论页写明,一家交易所的成交量是这家所有交易对成交量之和,网站顶部那个全网 24 小时成交量是它追踪的所有交易所之和。它的币种接口给 total_volume 的说明只有一句「Total trading volume in target currency」,圈了哪些市场,文档没写;下一节拿同一分钟前后读到的数摆一摆。
本站首页那一格,换条路差二十多倍
DYORly 首页的主流币行情表,「24h 成交额」那一列有两个来源。主路径读币安现货 /api/v3/ticker/24hr 的 quoteVolume,读到的是 BTCUSDT、ETHUSDT 这样的单个交易对;主路径不通时,改读 CoinGecko /coins/markets 的 total_volume。走哪条,取决于你所在的地方连不连得上 api.binance.com。我们写这篇时所在的网络去连,返回 HTTP 451(受限地区),在那个网络里打开首页,走的就是 CoinGecko 那条备用路。
为了看清差多少,我们把两边在同一分钟前后都读了一遍,时间是 UTC 2026-09-14 06:36 前后(以接口返回的时间戳为准)。前三行因为主地址返回 451,改从同一家的公开行情数据地址 data-api.binance.vision 读同一个接口:
| 读的是什么(前三行是币安现货) | 24 小时成交额(约) | 同一时刻的价格(约) |
|---|---|---|
| BTC/USDT 这一对 | 7.6 亿 USDT | 77,481 |
| BTC/USDC 这一对 | 2.4 亿 USDC | 77,462 |
| BTC/FDUSD 这一对 | 0.18 亿 FDUSD | 77,561 |
| CoinGecko 比特币 total_volume | 201 亿美元 | 77,431 |
201 亿除以 7.6 亿,约 26 倍。这三对加起来也才 10 亿出头,离 201 亿还差 20 倍左右。四行的价格呢,最多差一百三十上下(稳定币按约 1 美元算)。「24 小时涨跌幅从哪一刻算起」那篇说两条路之间「本身就会有一点差」,说的是价格和涨跌幅;成交额这一列,差的是范围。
放回首页那张表上说:同一格 BTC,在主路径连得上的地方打开,显示的是几亿美元;在走了备用那条的地方打开,是两百亿上下。表头一个字没变,表格底部那行也只写着「行情实时来自币安、CoinGecko 公开接口」,没有标出这一次用的是哪一条。拿我们首页的成交额去和别处比,先看 BTC 那格是几亿还是两百亿上下,大致就能看出这次走的是哪条路。上面的数是一分钟的快照,之后每分钟都在变,这里只拿它看量级。
聚合站的清单和换算,各家不一样
两个网站都号称「全市场」,也不会是同一个数。每家聚合站维护自己的收录清单,收哪些交易所、哪些交易对,自己定。清单里多一家少一家,总数跟着变。
剔除规则也各有各的。CoinGecko 方法论里的原话是「excludes trading pairs that have been blacklisted for inconsistent data and have not been updated for over 3 hours」,也就是计算交易所成交量时,把因数据不一致被列入黑名单、且超过 3 小时没更新的交易对排除在外。别的网站用什么规则,得去读它自己的说明页;没有公开说明的,只能当它是个黑箱。
还有换算。以 USDT、USDC、欧元计价的交易对要加到一起,得先换成同一种单位,CoinGecko 用的是它自己算出的成交量加权平均价。换算价不同,加出来的总数就不同,这一层在24 小时涨跌幅从哪一刻算起里讲过。
报上来的量,不全是真买卖
前面几层都默认交易所报的数是真的。可成交量是交易所自己报的,聚合站收录时能筛一筛,没法替每一笔成交作证。
最常被引用的一次测算来自资产管理公司 Bitwise。2019 年 3 月,它旗下的比特币 ETF 信托向美国 SEC 提交了一份文件,内容是转载的一篇报道,转述 Bitwise 当周向 SEC 演示的研究:查了报告成交量排在前面的 81 家交易所,有真实交易的是 10 家;按它的估算,当时报出来的比特币成交量约 95% 是虚的,CoinMarketCap 上显示日成交约 60 亿美元,它算出的真实日成交约 2.73 亿美元。
这是 2019 年的数。之后交易所格局、监管和聚合站的筛选都变了很多,不能拿它套今天的比例。它当年分辨真假成交用的两条依据,今天仍可以参考。Bitwise 的依据之一是,真实成交符合人的习惯:小额成交比大额的多,整数个 BTC 的成交比零碎的多。另一条是,真实交易所之间的价差平均不到 1%。倒过来用,一个平台成交量很大,成交尺寸却整整齐齐不像人下的单,价格还和别家明显脱节,这个量我们会打个折再看。
行情站自己怎么核验成交量,成交量说明什么那篇讲小币风险的一节里提过。
拿两个成交量比之前
真要比,下面这几样得先对上。缺一件,比出来的差距里就混着统计差。
范围。看清页面写的是交易对(BTC/USDT)、交易所,还是币种页。对 BTC 这种到处有人交易的币,交易对的数和币种页的数差出十倍以上并不稀奇,上面那次快照就差了二十多倍。
单位。数字后面跟的是币还是美元?拿不准就用上面那个办法,成交额除以成交量,看是不是接近价格。
时间窗口。标「24h」的一般是滚动窗口,标「今日」的一般从某条日界算起,两者覆盖的时长不一样。
我们自己看成交额,基本只做一种比较:同一个页面、同一个币,今天和它自己前几天比。页面不换,范围、单位、时间窗口都不会变。从两个网站各抄一个数放一起,我们不拿来下结论。
小币更要当心。某个没听过的币在一个平台上成交额大得出奇,先别当成热度,拿它和市值、和别的平台的价格对一对,涨幅榜是怎么排出来的里那三步交叉验证也用得上。这些是读数的办法,不是买卖的依据。
编辑组说明:文中的接口字段说明和文档原话,是按 UTC 2026-09-14 当天的公开文档逐条核对的。快照表是 UTC 2026-09-14 06:36 前后、一分钟之内读取的公开接口原始返回,数字每分钟都在变,只用来说明量级差,不代表任何时刻的行情。Bitwise 的数字出自 2019 年 3 月提交给美国 SEC 的那份文件,反映的是当时的市场。文中所有说法都只来自公开文档和公开接口,没有问过任何一家的客服。本站首页的取数方式按当前源码如实写出。
接着读: 成交量说明什么 · 24 小时涨跌幅从哪一刻算起 · 涨幅榜是怎么排出来的 · 币价换算器