研究 · 不构成跟单信号

资金分流实验室

加密 ETF 申赎 × 永续杠杆成本 · 2026-08 建立 · 数据自 2024-01
同样是上涨,由现货申购推动和由杠杆多头推动,含义完全不同。前者回撤时没有连环清算的燃料,后者有。 这个实验室用两条可观测的轴把它们分开:ETF 净申赎决定资金从哪来,永续资金费率决定杠杆参与了多少。
▸ 查看实时数据面板

指标构造

两条轴各自二值化,交叉出四个象限。流量轴取 BTC + ETH 现货 ETF 的 20 日滚动净流入; 费率轴取 BTC 永续资金费率的 7 日均线,与静息点比较(下一节详述为什么是静息点而不是某个分位)。

象限条件含义
A 健康吸筹净流入 + 费率低位现货主导,杠杆未拥挤,上涨最扎实
B 杠杆追高净流入 + 费率高位多头拥挤,回撤易触发连环清算
C 磨底无人问津净流出 + 费率低位抛压已难压价,同时缺乏做空燃料
D 危险背离净流出 + 费率高位现货不接盘而杠杆仍做多

这个指标衡量的不是涨跌方向,是上涨的脆弱程度。 A 和 B 可能对应同样的价格走势,但风险结构完全不同。

费率阈值校准

币安永续的资金费率由两部分构成:溢价指数分量,加一个默认利率分量。默认分量固定为每 8 小时 0.01%, 一天三档,年化即 0.01% × 3 × 365 = 10.95%。 当永续与现货基本平价、溢价接近零时,费率就精确停在这个数上。

实测分布 · BTC · 2023-01 至 2026-08 · 4,003 条

p10 −1.18   p25 2.35   p50 6.70   p75 10.95   p90 10.95   p95 17.82   p99 48.69
恰好等于 10.95 者占 27.8%  ·  高于 10.95 者仅 7.0%  ·  负费率占 13.9%

近三成的时间费率精确停在同一个数上。这不是巧合,是机制决定的静息点。

由此确定的两件事

其一,阈值必须在静息点之上。 「杠杆在出价」的经济含义是多头真金白银付钱给空头,那只有突破静息点才成立。 本项目最初把阈值设在 10.0——低于静息点——结果「费率静息」被判成「杠杆追高」,象限系统性偏移一格。 这个错误不报错、不崩溃、图照画,只是结论全错,是整个模块最隐蔽的坑。

其二,费率轴不能用百分位。 实测 p75p90 都等于 10.95——中间是一个巨大的并列平台。 任何落在 75–90 分位的阈值都会砸在平台上,判定完全不稳定。

百分位还有个更根本的问题:它按构造必然让固定比例的日子被判为「高」, 无论真实费率是 30% 还是贴地 1%。而当前市场最重要的事实恰恰是「杠杆被清算后长期贴地」—— 这个状态在百分位口径下完全看不见。一个具体例证:面板上线时费率精确停在 10.95, 是最平淡无奇的读数,百分位却给出满分 100。

一个实测发现:十七个月无溢价

校准过程中出现一个我没有预期的结果。以 2025 年 10 月的大规模爆仓为界,对比前后:

区间观测数均值高于静息点占比低于 5% 占比
2025-04 → 10-105765.44%0.0%45.0%
2025-10-10 → 2026-089652.88%0.0%62.9%

2025 年 4 月至今十七个月,BTC 资金费率一次都没有突破过静息点。 全历史 7% 的多头溢价时段,全部发生在 2025 年 4 月之前。

而且爆仓并不是这件事的起点——它只是让贴水更深(低于 5% 的时段占比从 45% 升到 63%)。 趋势在爆仓之前就已经开始了。

与市场叙事的交叉验证

一份机构研报把 2026 年的行情归因于「AI 资金回流被低估的 BTC,完成一次对空头的清算」; 一位交易员的说法是「砸盘已经吓不掉人了」。两者都在描述杠杆结构的破坏。

但费率数据说得更极端:不是清算之后慢慢恢复,是十七个月没回来过。 而且所谓「清算空头」在费率上留不下痕迹——真正的挤空会把费率推过静息点,这十七个月里一次都没发生。 资金确实回流了,但通道是 ETF 申购,不是永续多头。

RDI:三次迭代与搁置

最初的设计还有第三条轴:把「加密」与「AI 股票」两个资金桶做比较,得出一个资金分流指数(RDI), 衡量边际风险资金站在哪一边。这条轴目前未启用,但推导过程本身值得记录。

第一版:双边 z-score 差

RDI = z(crypto_20d) − z(ai_20d)。看起来自然,实际上错得很彻底。 z-score 衡量的是「相对自身近期是否异常」,会把水平信息完全消掉。 但「BTC 净流出而 AI 净流入」是一个水平事实,且这类 regime 常持续 6–12 个月, 120 日的 z 基准会在半年内把它吸收干净——正好抹掉要测的东西。

第二版:规模归一化份额

c_n = crypto_20d / crypto 自身 250 日 |20日和| 均值 a_n = ai_20d / ai 自身 250 日 |20日和| 均值 RDI = (c_n − a_n) / (|c_n| + |a_n|)

先各自除以自身量纲基准,解决两桶绝对规模差几个数量级的问题,再取份额。 合成数据测试全部通过,象限判定正确,RDI 方向正确。

但把序列打印出来才发现问题:抽血期 RDI 被死死钉在 −1.00 长达 175 天。 份额公式在两侧符号相反时恒等于 ±1,与量级完全无关—— 「BTC −$1B / AI +$46B」和「BTC −$0.1B / AI +$2B」算出来是同一个数。 而分流的核心信息恰恰是量级差。一条钉在 −1 的直线,研究价值为零。

值得记住的一点

这个缺陷语法正确、断言全过、图也画得出来。只有把数值序列逐行打印出来看,才会发现它是条直线。 自动化测试能验证「是否符合预期」,验证不了「预期本身是否有意义」。

第三版:tanh

RDI = tanh((c_n − a_n) / 2) ∈ (−1, +1)

单调、有界、不饱和,强度梯度全程保留。除以 2 是量纲校准:|c_n||a_n| 典型量级约 1,差值约 2,tanh(1) ≈ 0.76,动态范围舒适。

为什么搁置

公式定了,数据没有。AI 主题 ETP 的日频资金流需要从流通份额变化估算,四条路径全部实测失败:

数据源实测结果
发行商日频 CSV(iShares)端点已不提供 CSV,三种请求头变体返回完全相同的产品页 HTML
yfinance get_shares_full()对 ETF 返回空,包括作为对照组的 IBIT
ETF 数据聚合站表格由 JS 渲染,静态 HTML 中不存在
SEC N-PORT权威且免费,但披露滞后约 60 天,20 日滚动流量无法使用

可以用价格类代理凑出一个数(比如半导体 ETF 相对大盘的强弱),但那就不再是资金流指标了。 沿用同一个名字会破坏方法论本身的可信度,因此选择留空而不是凑数

数据工程:四个陷阱

结论的可信度取决于取数环节,这部分通常不被记录。以下四个都是本项目实测踩到的。

一、HTTP 200 不等于拿到了要的东西

上游数据源在 Cloudflare 之后。用普通 HTTP 客户端请求时,返回的不是 403,而是一个 200 的诱饵页—— 38KB,结构完整,但没有数据表。如果抓取逻辑只判断「有没有抛异常」,会把这条判为成功并缓存下来, 从此再不尝试真正可用的方式。

修正方式是在抓取层加内容校验:用真正的解析器验一遍能否定位到目标表格,验不过就当这条策略失败、继续降级。 同类问题在本项目出现了两次,第二次是另一个数据源返回 2.2MB 的产品页 HTML—— 三种请求头变体返回完全相同的字节数,这才是判定「不是请求头问题」的决定性证据。

二、同一来源的两个页面可以有完全不同的结构

BTC 流量表首格是 Date,单行表头;ETH 流量表首格是空的, 双行表头(第一行发行商名,第二行 ticker),中间还夹着两行伪数据行。 按字符串匹配 "Date" 定位表头的写法,在 ETH 页上整张表都认不出来。

改成结构无关的判据后解决:选表看哪张表含有最多「首格能解析成日期」的行; 选表头看数据区之前哪一行的 ticker 形态单元格最多。 发行商行(Blackrock / Grayscale)得 0 分,ticker 行(ETHA / ETHB)得满分,自动选中后者。

三、非交易日记 0 会污染滚动统计

节假日在来源表中整行无数据。如果按「缺失即 0」处理,这些 0 会进入 20 日滚动和,把真实流量稀释掉。 正确做法是跳过而非记 0——没有交易就没有流量,不是流量为零。

同类问题还有 stale 判定的阈值口径。最初沿用了服务心跳的 30 小时,但 ETF 流量数据本身有约一个交易日的 发布延迟,叠加周末后,周五的数据到周一早上已经 72 小时——按小时判必然天天误报。改为数交易日后正常。

四、给自己留一个可验证的锚

来源表格的每一行都附有一个 Total 汇总列。解析时逐行核对 per-ticker 求和是否等于公布的 Total, 容差 0.15M,对不上就丢弃该行。全量 1,180 个交易日、11,995 条明细,失配数为 0

这是解析正确性最硬的证据——比「代码跑通了」「图看起来正常」都可靠。 整表层面另设两道闸门:解析行数低于下限、或失配率超过 2%,直接拒绝写库,不覆盖已有的好数据。

局限

▸ 查看实时数据面板
数据源 · Farside Investors(BTC / ETH 现货 ETF 日频申赎,2024-01 起)· 币安永续资金费率(2023-01 起)
口径 · 流量为百万美元,负值为净流出 · 费率为年化百分比 · 交易日对齐美股日历
本页所述结论均可由面板数据复现。指标定义与阈值参数公开于方法论区。