KK Blog
← 全部文章
研究笔记 · 2026-09-09 · BTC/ETH 分钟数据 × Deribit 隐含波动率 × 官方经济日历

经济数据发布的时候,市场把波动率定错了吗

likangxian 2026-09-09 数据:Binance 分钟 K 线 · Deribit DVOL · BLS/美联储/BEA/Census/ISM/DOL 官方日历 代码和中间结果可以提供

我有个想法:CPI、非农、FOMC 这些日子是提前几个月定好的,谁都知道那天会有大波动。既然这么确定,市场会不会对那天的波动率定价不足?如果是,就有得做。

结论是不成立,而且反过来了。我先看到的东西很像成立:事件日的波动率溢价确实几乎被吃光,十几个事件类别全都显著。但那个差异是 30 天隐含波动率把单日事件摊平之后的算术必然,不需要任何定价错误。真正超出算术的部分,没有一个类别显著。再往下查,有三条证据说明市场不但定价了,还定得比数学要求的多。

这篇主要记那个陷阱,以及事件反应本身的量化结果。中间我自己犯了两个错,都是核对时才发现的,也一并写在里面。

先确认事件反应是真的

比特币 24 小时交易,美国数据发布时全球都在场。先确认它到底有没有反应。

做法是把每一分钟的 |收益| 除以一个季节性基线:按(星期几,UTC 一天中的第几分钟)分成 10080 个格子,取那个格子里 |收益| 的平均值,算基线时排除所有事件日。这样「美国时段本来波动就大」这件事就被差掉了,普通分钟的比值应该是 1.0。

这里我第一版做错了:分子用的是平均 |收益|,分母却用了中位数。|收益| 是重尾分布,均值大约是中位数的 2.6 倍,于是普通分钟的比值不是 1.0 而是 1.6,所有倍数被系统性放大了 60%。下面的数字是改用同一口径之后的。

02.557.51012.5-60-40-200204060倍数相对发布时刻的分钟CPI 通胀(n=67)FOMC 声明(n=45)非农就业(n=67)BLS 次要发布(n=178)安慰剂(同时刻、非事件周)
图 1 · 发布前后每分钟的波动,相对同时段平常水平(BTC,2021–2026)。横虚线是平常水平 1.0。另一条虚线是安慰剂 —— 同一个星期几、同一分钟,但那一周没有事件。

反应很清楚。CPI 公布那一分钟,BTC 的 |收益| 是同时段平常的 12.3 倍,FOMC 8.1 倍,非农 6.2 倍,初请失业金 4.0 倍。安慰剂在同一时刻是 0.95 倍,也就是基线本身没问题。

表 3 · 分钟级的事件反应(BTC)。「那一分钟」= 发布时刻那一分钟的 |收益| 相对同(星期几,分钟)季节性基线的倍数;后 30 分钟与前 30 分钟同理,用方差口径的基线。跨式 = |发布前一分钟到发布后 30 分钟的价格变化|,净额是减去安慰剂。安慰剂 = 同(星期几,分钟)、距任何事件 3 小时以上的时刻。独占 = 该时刻 ±15 分钟内没有别的类别在发布。
事件次数独占那一分钟后 30 分钟前 30 分钟跨式 bps净 bps
FOMC 声明45458.12.45 [1.92, 3.08]1.2486.5+47.4
CPI 通胀67112.32.47 [2.00, 3.00]0.95120.9+81.8
非农就业67626.21.77 [1.56, 1.98]0.8972.7+33.5
PPI 生产者物价56344.31.10 [0.92, 1.29]0.7836.9-2.2
ISM 制造业68521.50.90 [0.79, 1.03]1.0958.3+19.2
ISM 服务业68622.01.04 [0.90, 1.23]1.0346.8+7.6
零售销售65182.80.84 [0.69, 1.02]0.7036.4-2.8
初请失业金1691184.01.25 [1.12, 1.40]1.2934.5-4.6
职位空缺 JOLTS48461.51.20 [0.97, 1.47]1.0167.8+28.7
密歇根消费者信心1301301.40.90 [0.82, 0.97]1.1149.7+10.6
耐用品订单35352.30.73 [0.62, 0.86]0.8233.2-5.9
FOMC 会议纪要45451.81.12 [0.89, 1.43]0.8738.9-0.2
BLS 次要发布36365.80.67 [0.56, 0.77]0.7124.4-14.7
安慰剂167816781.00.84 [0.80, 0.89]0.9039.10.0
0123CPI 通胀FOMC 声明非农就业PCEGDP初请失业金职位空缺FOMC 纪要PPIISM 服务业ISM 制造业密歇根信心零售销售耐用品订单BLS 次要发布雇佣成本发布后 30 分钟的波动 / 同时段平常水平CPI 通胀: 2.47× [2.00,3.00] n=67FOMC 声明: 2.45× [1.92,3.08] n=45非农就业: 1.77× [1.56,1.98] n=62PCE: 1.41× [1.18,1.68] n=33GDP: 1.39× [1.16,1.63] n=58初请失业金: 1.25× [1.12,1.40] n=118职位空缺: 1.20× [0.97,1.47] n=46FOMC 纪要: 1.12× [0.89,1.43] n=45PPI: 1.10× [0.92,1.29] n=34ISM 服务业: 1.04× [0.90,1.23] n=62ISM 制造业: 0.90× [0.79,1.03] n=52密歇根信心: 0.90× [0.82,0.97] n=130零售销售: 0.84× [0.69,1.02] n=18耐用品订单: 0.73× [0.62,0.86] n=35BLS 次要发布: 0.67× [0.56,0.77] n=36雇佣成本: 0.61× [0.47,0.77] n=7安慰剂 0.84×
图 2 · 各类事件发布后 30 分钟的波动倍数。虚线是安慰剂水平。误差棒是按事件日重抽的 95% 区间。

剂量反应干净:FOMC、CPI、非农在最前面;PPI、PCE、初请在中间;零售销售、耐用品订单、雇佣成本指数基本和安慰剂分不开。BLS 的次要发布是个天然对照 —— 和 CPI 同一时刻、同一个部门发,但没人关心,它的独占日效应就是零。

事件之前呢?我原来以为没有预热,因为市场不知道数字往哪边出。这也是错的。

02468前 120–61 分钟前 30 分钟前 10 分钟前 3 分钟后 3 分钟相对同时段平常水平的倍数CPI 通胀 前 120–61 分钟:1.08×CPI 通胀 前 30 分钟:1.14×CPI 通胀 前 10 分钟:1.38×CPI 通胀 前 3 分钟:1.72×CPI 通胀 后 3 分钟:6.30×FOMC 声明 前 120–61 分钟:0.90×FOMC 声明 前 30 分钟:1.36×FOMC 声明 前 10 分钟:1.80×FOMC 声明 前 3 分钟:2.49×FOMC 声明 后 3 分钟:6.05×非农就业 前 120–61 分钟:0.97×非农就业 前 30 分钟:1.05×非农就业 前 10 分钟:1.13×非农就业 前 3 分钟:1.34×非农就业 后 3 分钟:3.92×PPI 前 120–61 分钟:1.20×PPI 前 30 分钟:1.22×PPI 前 10 分钟:1.31×PPI 前 3 分钟:1.31×PPI 后 3 分钟:2.64×平常水平CPI 通胀FOMC 声明非农就业PPI
图 7 · 发布前的分段波动,同一口径(平常水平 = 1.0)。CPI 和 FOMC 都是单调爬升的。

CPI 前 120 到 61 分钟是 0.98 倍,前 30 分钟 1.14,前 10 分钟 1.38,最后 3 分钟 1.72。FOMC 更陡:1.36 / 1.80 / 2.49。成交额也一样,CPI 最后 3 分钟是当天正常水平的 1.79 倍,FOMC 2.50 倍。所以市场事前是有动作的,只是幅度比事后小一个数量级。PPI 和耐用品订单则确实是平的。

看起来像定价错误的东西

反应是真的,那定价呢?要回答这个得有隐含波动率。Deribit 有个叫 DVOL 的指数,是 BTC 期权的 30 天隐含波动率,公开 API 能取小时线,最早到 2021 年 3 月,ETH 也有。

我算每天的「实现波动 / 前一日隐含波动」。小于 1 表示市场把波动率定高了,这是常态 —— 卖波动率的人就靠这个赚钱。

表 4 · 当日实现波动 / 前一日隐含波动。实现波动 = 当日分钟收益平方和年化;隐含 = 前一日最后一个 Deribit DVOL(30 天期限)读数。比值小于 1 表示市场把波动率定价定高了。「重大事件日」= CPI/非农/FOMC/PPI 任一。
分组天数实现 %隐含 %BTC 比值ETH 比值
非事件日175349.360.00.818 [0.802, 0.835]0.870 [0.853, 0.889]
重大事件日23160.061.00.980 [0.938, 1.023]0.994 [0.953, 1.039]
FOMC 声明4364.460.11.051 [0.981, 1.132]1.072 [1.000, 1.152]
CPI 通胀6463.461.81.015 [0.939, 1.101]1.024 [0.951, 1.110]
非农就业6456.059.60.957 [0.875, 1.047]0.954 [0.874, 1.037]
PPI 生产者物价6457.161.70.922 [0.848, 1.002]0.955 [0.874, 1.047]
ISM 制造业6554.059.30.932 [0.859, 1.012]1.001 [0.886, 1.168]
ISM 服务业6554.559.60.930 [0.836, 1.056]0.979 [0.870, 1.138]
零售销售6554.661.00.896 [0.843, 0.957]0.916 [0.861, 0.977]
初请失业金27755.061.20.905 [0.866, 0.946]0.946 [0.906, 0.989]
职位空缺 JOLTS6455.259.90.933 [0.856, 1.025]0.968 [0.889, 1.057]
密歇根消费者信心13054.360.10.911 [0.860, 0.973]0.951 [0.899, 1.012]
耐用品订单6552.061.00.865 [0.812, 0.919]0.923 [0.873, 0.975]
FOMC 会议纪要4459.160.60.942 [0.816, 1.106]1.049 [0.881, 1.284]
雇佣成本指数2248.657.80.843 [0.764, 0.924]0.876 [0.800, 0.955]
BLS 次要发布16957.361.00.936 [0.894, 0.982]0.962 [0.919, 1.007]

BTC 平常这个比值是 0.818,也就是市场把波动率定高了约两成。但在重大事件日(CPI、非农、FOMC、PPI 任一),比值升到 0.980;FOMC 那天 1.051,CPI 那天 1.015,实现比隐含还高。ETH 一样:平常 0.870,事件日 0.994,FOMC 日 1.072。

0.70.80.911.11.2BTC 非事件日BTC 事件日BTC FOMC 日BTC CPI 日ETH 非事件日ETH 事件日ETH FOMC 日ETH CPI 日当日实现波动 / 前一日 30 天隐含波动BTC 非事件日: 0.818 [0.802,0.835]BTC 事件日: 0.980 [0.938,1.023]BTC FOMC 日: 1.051 [0.981,1.132]BTC CPI 日: 1.015 [0.939,1.101]ETH 非事件日: 0.870 [0.853,0.889]ETH 事件日: 0.994 [0.953,1.039]ETH FOMC 日: 1.072 [1.000,1.152]ETH CPI 日: 1.024 [0.951,1.110]理论理论实现 = 隐含
图 3 · 当日实现波动 / 前一日隐含波动。上面那条横线是「实现 = 隐含」,虚线是后面会讲的理论值。

逐月配对之后更清楚:同一个月里,事件日的比值比非事件日高 0.154,自助法区间 [0.107, 0.202]。分类别看,FOMC、CPI、非农、PPI、ISM、初请、职位空缺、密歇根信心,十几个类别全部显著,Holm 校正后大部分还在。

表 5 · 配对差:事件日的比值减去同期非事件日。逐月配对,自助法 95% 区间,Holm 为多重检验校正后的 p。这一步看起来支持「事件日定价不足」——但表 6 会说明它几乎全部来自分母。
分组配对数BTC 差值pHolm pETH 差值
同月配对65+0.154 [+0.107, +0.202]0.00000.0000+0.114
同月+同星期几配对193+0.069 [+0.020, +0.120]0.00450.0180+0.041
FOMC 声明43+0.248 [+0.177, +0.328]0.00000.0000+0.223
CPI 通胀64+0.200 [+0.120, +0.291]0.00000.0000+0.154
非农就业64+0.143 [+0.072, +0.216]0.00000.0000+0.084
PPI 生产者物价63+0.101 [+0.033, +0.172]0.00100.0070+0.077
ISM 制造业65+0.114 [+0.048, +0.184]0.00000.0000+0.129
ISM 服务业65+0.113 [+0.030, +0.224]0.00200.0120+0.107
零售销售64+0.081 [+0.025, +0.139]0.00200.0120+0.048
初请失业金65+0.097 [+0.067, +0.130]0.00000.0000+0.081
职位空缺 JOLTS51+0.118 [+0.041, +0.202]0.00000.0000+0.108
密歇根消费者信心66+0.087 [+0.045, +0.138]0.00000.0000+0.078
耐用品订单64+0.048 [-0.002, +0.103]0.06150.1230+0.053
FOMC 会议纪要44+0.117 [+0.004, +0.259]0.03950.1185+0.161
雇佣成本指数22+0.025 [-0.044, +0.095]0.48900.4890+0.009
BLS 次要发布64+0.127 [+0.074, +0.180]0.00000.0000+0.097

到这一步我以为验证完了。而且十几个类别方向一致,不像噪音。

算清楚:问题出在分母

但 DVOL 是 30 天期限的。一个事件日的额外波动摊到 30 天里只占三十分之一。这个分母会怎么影响比值?我把它写下来算了一遍。

设非事件日的日方差是 v,事件日是 k·v,未来 30 天里有 m 个事件日。一个完全理性的 30 天隐含波动率满足

隐含日方差 = [v·(30−m) + k·v·m] / 30

这个值在事件前后基本不变(30 天窗口里的事件数只差 0.6 个)。于是非事件日的比值是 √(v / 隐含日方差),事件日是 √(k·v / 隐含日方差),两者相除:

事件日比值 / 非事件日比值 = √k

这是个恒等式,跟 m 无关、跟 v 无关、跟市场定价准不准也无关。只要事件日的实际方差是平常的 k 倍,哪怕市场定价完全正确,事件日的比值也必然比非事件日高 √k 倍。

实测:BTC 事件日的日方差是非事件日的 1.393 倍,所以 √k = 1.180。而实测的比值之比是 1.199。差 0.019。

表 6 · 把 30 天期限的数学效应扣掉。设非事件日的日方差为 v、事件日为 k·v,一个完全理性的 30 天隐含波动率会把两者摊平,于是「事件日比值 / 非事件日比值」在数学上恒等于 √k —— 与事件密度无关。实测比值和 √k 几乎相等,差值就是真正需要「定价不准」来解释的部分。
品种非事件日比值事件日比值实测之比k(方差倍数)理论 √k超额
BTC0.8180.9801.19871.3931.1801+0.0187
ETH0.8700.9941.14261.2481.1170+0.0256

ETH 同样:实测 1.143,理论 1.117,差 0.026。换个 k 的估计方法(中位数、几何均值),差值会变成负的。

也就是说,前面那个「事件日溢价被吃光」的现象,几乎全部是 30 天期限的算术必然。

最直接的演示是这个:从非事件日里挑出一批波动倍数和真事件日一样的日子,当作「伪事件日」。它们没有任何经济数据发布。

0.850.90.9511.051.1BTC 真事件日BTC 伪事件日ETH 真事件日ETH 伪事件日当日实现波动 / 前一日隐含波动BTC 真事件日: 0.980BTC 伪事件日: 0.967ETH 真事件日: 0.994ETH 伪事件日: 0.995真事件日伪事件日(非事件日里波动相当的)
图 8 · 真事件日 vs 伪事件日(从非事件日里按月配额挑出方差倍数相同的日子)。两者分不开。

BTC 的伪事件日比值是 0.967 [0.933, 1.006],真事件日 0.980。ETH 伪事件日 0.995,真事件日 0.994,几乎完全一样。只要当天波动大,这个比值就会抬到 0.97 到 1.00,和那天有没有 CPI 无关。

那点超额显不显著

剩下的 0.02,得看它统计上站不站得住。我对每个事件类别做自助法:按月成块,同时重抽事件日和对照日,每次都重新算实测比值和 √k,取两者的差 —— 这样 k 的估计误差也算进去了。

表 7 · 超额部分显不显著。超额 = 实测比值之比 − 理论 √k;自助法同时重抽事件日和对照日(按月成块),所以 k 的估计误差也算进去了。BTC 和 ETH 没有一个类别在校正后显著。
事件天数BTC 超额pHolm pETH 超额p
ISM 制造业65+0.124 [-0.003, +0.252]0.0630.752+0.0410.624
非农就业64+0.112 [-0.022, +0.240]0.1081.000+0.1140.090
耐用品订单65+0.092 [-0.043, +0.217]0.1951.000+0.1100.121
职位空缺 JOLTS64+0.089 [-0.053, +0.224]0.2551.000+0.0780.344
密歇根消费者信心130+0.073 [-0.064, +0.204]0.3111.000+0.0660.371
ISM 服务业65+0.067 [-0.096, +0.209]0.3911.000+0.0420.621
零售销售65+0.050 [-0.124, +0.199]0.5671.000+0.0330.721
初请失业金277+0.037 [-0.123, +0.178]0.6601.000+0.0400.643
BLS 次要发布169+0.034 [-0.128, +0.183]0.7041.000+0.0400.675
FOMC 声明43+0.026 [-0.182, +0.224]0.7731.000+0.0350.703
CPI 通胀64-0.009 [-0.205, +0.168]0.9211.000+0.0110.933
PPI 生产者物价64-0.025 [-0.237, +0.169]0.8671.000-0.0250.874
-0.2-0.1-00.10.2ISM 制造业非农就业耐用品订单职位空缺密歇根信心ISM 服务业零售销售初请失业金BLS 次要发布FOMC 声明CPI 通胀PPI实测 − 理论(超出 30 天期限数学的部分)BTC ISM 制造业: +0.124 [-0.003,+0.252] p=0.063BTC 非农就业: +0.112 [-0.022,+0.240] p=0.108BTC 耐用品订单: +0.092 [-0.043,+0.217] p=0.195BTC 职位空缺: +0.089 [-0.053,+0.224] p=0.255BTC 密歇根信心: +0.073 [-0.064,+0.204] p=0.311BTC ISM 服务业: +0.067 [-0.096,+0.209] p=0.391BTC 零售销售: +0.050 [-0.124,+0.199] p=0.567BTC 初请失业金: +0.037 [-0.123,+0.178] p=0.660BTC BLS 次要发布: +0.034 [-0.128,+0.183] p=0.704BTC FOMC 声明: +0.026 [-0.182,+0.224] p=0.773BTC CPI 通胀: -0.009 [-0.205,+0.168] p=0.921BTC PPI: -0.025 [-0.237,+0.169] p=0.867ETH ISM 制造业: +0.041 p=0.624ETH 非农就业: +0.114 p=0.090ETH 耐用品订单: +0.110 p=0.121ETH 职位空缺: +0.078 p=0.344ETH 密歇根信心: +0.066 p=0.371ETH ISM 服务业: +0.042 p=0.621ETH 零售销售: +0.033 p=0.721ETH 初请失业金: +0.040 p=0.643ETH BLS 次要发布: +0.040 p=0.675ETH FOMC 声明: +0.035 p=0.703ETH CPI 通胀: +0.011 p=0.933ETH PPI: -0.025 p=0.874BTCETH
图 4 · 扣掉 30 天期限的算术效应之后剩下的超额。误差棒是 95% 区间,所有类别都跨零。

BTC 里超额最大的是 ISM 制造业 +0.124(原始 p = 0.063,Holm 校正后 0.752),其次是非农 +0.112。ETH 里最大的也是非农 +0.114(p = 0.090)。没有一个类别在多重检验校正后显著。CPI 和 FOMC 这两个最大的事件,超额基本就是零。

反过来:市场定价比数学要求的还多

既然测不出定价不足,那有没有市场确实在为事件定价的正面证据?有三条。

第一条:未来 30 天里事件越多,今天的隐含波动率应该越高。回归 log(隐含波动率) 对未来 30 天的重大事件数,控制月固定效应,按月成块自助。

表 8 · 隐含波动率会不会为未来的事件定价。回归 log(隐含方差) 对未来事件密度,控制月固定效应和过去 30 天的实现波动,按月成块自助。「理性基准」= 若市场完全正确地把一个事件日(方差是平常的 k 倍)算进 30 天窗口,log(隐含方差) 应上升的幅度。
品种自变量系数p理性基准
BTC未来 7 天内每多一个事件日+0.0178 [-0.0078, +0.0438]0.147+0.0130
未来 8–30 天内每多一个事件日+0.0405 [+0.0141, +0.0655]0.003+0.0130
ETH未来 7 天内每多一个事件日+0.0191 [-0.0035, +0.0419]0.113+0.0082
未来 8–30 天内每多一个事件日+0.0291 [+0.0030, +0.0554]0.027+0.0082

BTC 的系数是 +0.0175 [+0.0043, +0.0304]。理性基准是多少?窗口里多一个方差为平常 k 倍的事件日,log(隐含波动率) 应该上升 ½·log((30−1+k)/30) = +0.0065。实测是理性要求的 2.7 倍,ETH 是 4.2 倍。方向和幅度都说明市场在定价,而且定得偏多。

第二条:事件公布之后不确定性兑现,隐含波动率应该掉下来。

表 9 · 事件公布后隐含波动率的变化(发布后 3 小时 vs 发布前 2 小时,%)。如果市场事前为这个事件定了价,公布之后不确定性兑现,隐含波动率应该掉下来。
事件次数BTC ΔIV %pETH ΔIV %
CPI 通胀64-0.845 [-1.538, -0.115]0.024-0.496
非农就业65+0.457 [-0.249, +1.213]0.207+0.365
FOMC 声明43-1.273 [-2.357, -0.308]0.008-0.883
PPI 生产者物价64+0.691 [+0.076, +1.317]0.027+0.079
ISM 制造业66-0.004 [-0.511, +0.503]0.975+0.351
初请失业金278+0.150 [-0.173, +0.468]0.375-0.001
密歇根消费者信心131-0.081 [-0.665, +0.517]0.777-0.269
BLS 次要发布171-0.096 [-0.575, +0.370]0.687-0.279
安慰剂2000+0.028 [-0.071, +0.129]+0.019
-2-101FOMC 声明CPI 通胀BLS 次要发布密歇根信心ISM 制造业初请失业金非农就业PPI发布后隐含波动率的变化(%)FOMC 声明: -1.27% [-2.36,-0.31] n=43CPI 通胀: -0.84% [-1.54,-0.11] n=64BLS 次要发布: -0.10% [-0.57,+0.37] n=171密歇根信心: -0.08% [-0.66,+0.52] n=131ISM 制造业: -0.00% [-0.51,+0.50] n=66初请失业金: +0.15% [-0.17,+0.47] n=278非农就业: +0.46% [-0.25,+1.21] n=65PPI: +0.69% [+0.08,+1.32] n=64安慰剂 +0.03%
图 5 · 事件公布后隐含波动率的变化(发布后 3 小时相对发布前 2 小时)。虚线是随机时刻的安慰剂。

CPI 公布后 BTC 的隐含波动率下降 0.85%(p = 0.024),FOMC 下降 1.27%(p = 0.008),而随机时刻的安慰剂是 +0.03%。算术上一个事件滚出窗口只该让它掉 0.65%,实测掉得更多。

第三条,也是最反直觉的一条。我原来算过一个「每天卖 1 单位方差」的账,事件日合计是负的,看起来事件日在亏钱。但那个账用的是没去平滑的隐含方差 —— 30 天指数在事件日给出的方差预测本来就偏低,这是会计上的错配,不是亏损。把 k 用前半样本估出来、后半样本外应用,给事件日的方差预测乘上 k 再算残差:

表 12 · 四个稳健性检验。伪事件日 = 从非事件日里按月配额挑出方差倍数与真事件日相同的日子。去平滑 = 用隐含方差反推「平常日」方差预测、事件日再乘 k̂,k̂ 由前半样本估、后半样本外应用,残差即为去平滑后的溢价。弹性回归控制月固定效应,按月成块自助。
品种检验结果细节说明
BTC伪事件日 vs 真事件日0.967 vs 0.980n=203,k=1.353 vs 1.393两者分不开,说明效应来自「当天波动大」而不是「当天有事件」
去平滑后的方差风险溢价+1.208 [+0.172, +2.305]k̂=1.405,32 个月事件日反而比非事件日多赚;未去平滑时是 -1.13
隐含波动率对未来 30 天事件数的弹性+0.0175 [+0.0043, +0.0304]理性基准 +0.0065实测是理性要求的 2.69 倍
单个事件日能把 30 天隐含波动率抬多少0.650%小时噪声 0.565%信噪比 1.15,工具本身没有分辨率
ETH伪事件日 vs 真事件日0.995 vs 0.994n=206,k=1.248 vs 1.248两者分不开,说明效应来自「当天波动大」而不是「当天有事件」
去平滑后的方差风险溢价+2.393 [+0.483, +4.395]k̂=1.305,32 个月事件日反而比非事件日多赚;未去平滑时是 -2.01
隐含波动率对未来 30 天事件数的弹性+0.0173 [+0.0049, +0.0300]理性基准 +0.0041实测是理性要求的 4.20 倍
单个事件日能把 30 天隐含波动率抬多少0.411%小时噪声 0.517%信噪比 0.79,工具本身没有分辨率

去平滑之后,BTC 事件日的方差风险溢价是 +1.385,非事件日 +0.448,同月配对差 +1.208 [+0.172, +2.305]。事件日反而比平常多赚。ETH 的配对差 +2.393 [+0.483, +4.395]。也就是说市场在事件日收的保险费,比事件实际带来的波动还要多一点。

还有一件事得说清楚:用 30 天 DVOL 去测单日事件,工具本身几乎没有分辨率。一个事件日进出 30 天窗口,理论上只能让 DVOL 变动 0.65%,而 DVOL 自己每小时的 |变化| 平均就有 0.57%,信噪比只有 1.15(ETH 是 0.79)。所以这篇能说的是「用 30 天隐含波动率测不出定价不足」,不能说「市场对事件的定价一定精确」。

顺手测的:能不能交易

波动率这条路走不通,方向呢?常见说法是市场对数据反应不足、公布后会继续走。我测了:发布后第 k 分钟看价格往哪边走,同向持有到第 h 分钟。(k, h) 只在前半样本上挑,后半样本原封验证,扣往返成本。

表 10 · 顺手测的:发布后跟着方向做,能不能赚。规则是发布后第 k 分钟看价格往哪边走,同向持有到第 h 分钟。(k, h) 只在前半样本上挑,后半样本原封验证。扣往返成本:现货 10 bps、永续 5 bps。翻转检验 = 把后半样本每次的方向随机翻转 2000 次,看真实收益能排多前。
品种事件选中的参数前半 n前半净 bps后半 n后半净 bps胜率翻转 p
BTCCPI 通胀T+2→T+6033+47.934-2.4 [-23.6, +18.4]41%0.240
BTCFOMC 声明T+1→T+12022+46.323+44.0 [-11.6, +103.1]52%0.042
BTC非农就业T+1→T+3033-2.734+5.4 [-16.2, +28.0]56%0.102
BTCPERPCPI 通胀T+2→T+6033+53.634+2.4 [-19.1, +23.0]44%0.249
BTCPERPFOMC 声明T+2→T+12022+51.323+23.0 [-34.0, +87.6]52%0.180
BTCPERP非农就业T+1→T+3033+2.034+10.7 [-10.9, +33.3]59%0.100
ETHCPI 通胀T+1→T+6033+56.234+44.8 [+16.4, +74.8]71%0.000
ETHFOMC 声明T+2→T+3022+25.523-4.7 [-33.9, +27.9]35%0.363
ETH非农就业T+1→T+3033+5.134+6.6 [-14.5, +29.7]56%0.076

不行。BTC 的 CPI 在前半样本选出的参数净赚 47.9 bps,搬到后半变成 −2.4 bps。只有 ETH 的 CPI 后半是正的(+44.8 bps,胜率 71%),但一个品种一个类别对上、其余没对上,更像是挑出来的。这个结果和前面是一致的:没有可捕捉的定价错误,自然也就没有可交易的动量。

敏感度在变小

0246202120222023202420252026CPI 发布后 30 分钟的波动倍数2021: CPI 后 30 分钟 1.51×2022: CPI 后 30 分钟 5.53×2023: CPI 后 30 分钟 1.97×2024: CPI 后 30 分钟 2.44×2025: CPI 后 30 分钟 1.69×2026: CPI 后 30 分钟 1.15×
图 6 · CPI 发布后 30 分钟的波动倍数,逐年。
表 11 · 逐年。前三列是分钟级(CPI/FOMC 发布后 30 分钟的波动倍数、CPI 跨式净收益),后三列是日度的实现/隐含比值。
CPI 倍数FOMC 倍数CPI 跨式净 bps非事件日比值事件日比值
20211.513.39+27.50.8280.836+0.008
20225.534.51+286.10.7451.022+0.277
20231.971.39+58.10.7520.914+0.162
20242.441.95+39.70.8321.056+0.224
20251.691.51+45.20.8590.996+0.136
20261.151.62+6.50.9281.043+0.114

2022 年 CPI 的反应最大,发布后 30 分钟的波动是平常的 5.6 倍 —— 那是加息最猛的一年。之后一路降,2026 年只有 1.05 倍。跨式的净收益从 2022 年的 286 bps 降到 2026 年的 9 bps。我的理解是:2022 年每一次 CPI 都可能改变加息路径,是真信息;现在利率路径稳定,同样一个数字带的信息少多了。

我犯的两个错

都是核对时才发现的,写下来免得下次再犯。

第一个是数据。BTC 现货的分钟文件缺了 2023 年 11 月和 2026 年 4 月两个整月 —— 下载时网络失败,日志里写着,我没回头看。我写过补齐脚本,但从来没跑。更糟的是加载数据时把缺失分钟按前一根价格填平了,于是那 60 天产生 1440 个零收益,当日方差为零,却因为「分钟数够 1440」通过了过滤,以比值 0 混进面板。这把非事件日的比值从 0.818 压到 0.800。检查缺失时我按月份统计行数,而整月缺失的月份根本不在统计结果里,所以没看出来。

第二个是前面提过的基线口径:分子用均值、分母用中位数,把所有倍数放大了约 60%,还让「事件前没有预热」这个结论看起来成立。

两个错的方向都是让结果更像我想要的。

不稳的地方

最后

  1. 比特币对美国宏观数据的反应是真的:CPI 公布那一分钟的波动是同时段平常的 12.3 倍,FOMC 8.1 倍。发布前也有预热,最后 3 分钟波动 1.7 倍、成交额 1.8 倍。剂量反应清晰。
  2. 事件日的「实现/隐含」比值从 0.818 升到 0.980,逐月配对差 +0.154,十几个类别全显著 —— 但这是 30 天期限摊平单日事件的算术必然。理论 √k = 1.180,实测 1.199。
  3. 从非事件日里挑出波动相当的「伪事件日」,比值 0.967,和真事件日 0.980 分不开。效应来自「当天波动大」,不是「当天有事件」。
  4. 扣掉算术之后的超额,BTC 和 ETH 没有一个类别在多重检验校正后显著。
  5. 三条反向证据:隐含波动率对未来事件密度的弹性是理性要求的 2.7 到 4.2 倍;CPI 和 FOMC 公布后隐含波动率下降幅度大于算术要求;去平滑之后事件日的方差风险溢价反而比平常高(配对差 +1.208)。市场对事件收的保险费不是少了,是多了。
  6. 事件后的方向性动量策略在严格样本外站不住。
  7. BTC 对宏观数据的敏感度逐年下降,2022 年 5.6 倍,2026 年 1.05 倍。

下一步该抓 Deribit 短期期权的历史隐含波动率,直接看事件日跨越前后的期限结构 —— 那才能真正回答最初那个问题。这篇的价值主要在于说明为什么不能拿 30 天隐含波动率去测单日事件:那个看起来很显著的 +0.154,是个陷阱。

完整的表格和定义都在这里

表 1,用到的价格数据。

表 1 · 用到的价格数据。分钟收益取对数收盘价差分;黄金有休市,跨过休市缺口的那一根收益作废。
品种来源区间分钟收益数平均 |收益| bps
BTC 现货Binance2021-01-01 → 2026-08-312,979,3595.0
ETH 现货Binance2021-01-01 → 2026-08-312,979,3596.5
BTC 永续Binance2021-01-01 → 2026-08-312,979,3595.1
COMEX 黄金Databento 逐笔聚合2025-05-20 → 2026-05-19353,1662.7

表 2,经济日历的来源和覆盖。

表 2 · 经济日历。全部逐条抓自官方页面(BLS、美联储、BEA、Census、ISM、DOL/ETA、密歇根大学),每条带来源链接;2025 年 10–12 月因美国政府停摆有真实缺口,没有补。时刻是美东时间,转 UTC 时按当日夏令时处理。
类别条数常规时刻(ET)覆盖
FOMC 声明4614:002021-01 → 2026-09
CPI 通胀7108:302021-01 → 2026-12
非农就业7108:302021-01 → 2026-12
PPI 生产者物价7108:302021-01 → 2026-12
ISM 制造业6910:002021-01 → 2026-09
ISM 服务业6910:002021-01 → 2026-09
零售销售7208:302021-01 → 2026-12
初请失业金28908:302021-01 → 2026-09
职位空缺 JOLTS7110:002021-01 → 2026-12
密歇根消费者信心13810:002021-01 → 2026-09
耐用品订单7208:302021-01 → 2026-12
FOMC 会议纪要4514:002021-02 → 2026-08
雇佣成本指数2408:302021-01 → 2026-10
BLS 次要发布18908:302021-01 → 2026-12
PCE 物价6808:302021-01 → 2026-09
GDP6808:302021-01 → 2026-09

定义:

季节性基线 = 每个(星期几,UTC 一天中的第几分钟)格子上 |分钟收益| 的平均值(分钟级图表)或均方根(方差口径),计算时排除所有事件日。普通分钟的比值因此为 1.0。

实现波动(日)= 当日分钟对数收益的平方和,乘 365 开方年化成百分数。隐含波动 = 前一日最后一个 Deribit DVOL 小时读数,本身是 30 天年化百分数。只保留当日真实成交分钟数 ≥ 1200 且方差大于零的日子。

比值 = 实现 / 隐含。k = 事件日平均日方差 / 非事件日平均日方差。理论值 √k 的推导见正文。

安慰剂 = 与事件同(星期几,分钟)、但距任何日历事件 3 小时以上的时刻。

所有区间都是自助法 95% 区间,按事件日或按月成块重抽。多重检验用 Holm 校正。

数字随方法修订会更新(v1,2026-09-09)。