halo 的技术博客

返回

股市有 VIX,加密市场有没有自己的「恐慌温度计」?有——Deribit 的 DVOL 就是加密版的波动率指数。它的核心思想和 VIX 一脉相承:不靠一根 K 线的涨跌幅,而是把整条期权隐含波动率(IV)微笑用方差互换的口径积分成一个数字,这个数字越大,说明市场愿意为「保险」付越贵的价,恐慌越重。

本文从零构造一条合成 BTC 路径、一条隐式 IV 曲线,再用方差互换公式把 IV 微笑压成一个「DVOL 指数」,并验证它能不能真的当恐惧温度计用——以及它会骗你的地方。

一、DVOL 的数学骨架:方差互换口径#

期权的平值 IV 只是一点,但整条微笑(虚值看涨贵、虚值看跌更贵)才藏着市场对未来波动的完整预期。要得到一个「公平波动」,得用方差互换的公允价值公式——它把微笑上每档 IV 按对数行权价的权重积分起来:

σfair2kwkIV(k)2,wkΔkk2\sigma^2_{\text{fair}} \approx \sum_k w_k \cdot \text{IV}(k)^2,\quad w_k \propto \frac{\Delta k}{k^2}

直觉:离平值越远的虚值档,权重按 1/k21/k^2 衰减,但虚值看跌的凸起(尾部恐慌)仍会被计入——这正是 VIX 能从微笑里读出「崩盘保险溢价」的原因。DVOL 在此基础上乘 100,变成「指数点位」形态:

DVOL=100σfair2\text{DVOL} = 100 \cdot \sqrt{\sigma^2_{\text{fair}}}

二、自洽合成:让波动会「呼吸」#

DVOL 要想有意义,底层价格得有时变的波动 regime——平静期 IV 低、崩盘期 IV 飙升。我们用「慢变隐波动 + 两次崩盘跳变」合成:

这条路径里,DVOL 在两次崩盘点(第 480、1040 天)同步飙升——因为 theta 捕捉了下行冲击,把它写进了 IV 中枢。

BTC 价格与 DVOL 波动率指数:崩盘期 DVOL 同步飙升(恐惧温度计)

三、从真实期权报价算 DVOL:Deribit 数据形态#

上面是合成,真实落地时数据来自交易所期权订单簿。以 Deribit 为例,每个到期日会返回一组行权价 strike 与对应的隐含波动率 mark_iv。把平值附近的档位抽出来,喂进同一个方差互换公式即可:

把每个结算时刻的 DVOL 串起来,就是一条可回测的恐慌时间序列——后面所有验证都建立在这条序列上。

四、DVOL vs 已实现波动:隐含系统性更高#

把 DVOL(隐含波动)和 30 日已实现波动(RV)叠在一起,立刻看到波动率风险溢价(VRP)的影子:DVOL 几乎全程高于 RV。这合理——期权买方为尾部保险付的钱,本就比事后统计的实现波动贵。

rv = np.zeros(T)
for t in range(30, T):
    rv[t] = np.std(ret[t-30:t]) * np.sqrt(252.0) * 100.0
rv[:30] = rv[30]
# 真实结果: DVOL 区间 5.0~68.5, 均值 41.6, 系统性高于 RV
python

DVOL 隐含波动 vs 已实现波动:隐含系统性高于实现(含风险溢价)

五、DVOL 的领先性:高波动之后真的更波动#

DVOL 作为「温度计」有没有预测力?把 DVOL 分 10 档,看每档之后 30 日的已实现波动

HOR = 30
fut_rv = np.zeros(T)
for t in range(HOR, T):
    fut_rv[t] = np.std(ret[t-HOR:t]) * np.sqrt(252.0) * 100.0
# 真实结果: 线性拟合斜率 0.95%/单位, 逐日 t 统计量 ≈ 40.9 (显著正向)
python

结果是显著正向的(斜率 0.95%/单位,逐日 t≈40.9):DVOL 越高,未来 30 日波动越大。这不是废话——它说明 DVOL 捕捉到的不是已发生的波动,而是市场对未来不确定性的定价,因此可以当波动择时的前瞻开关。

DVOL 越高,未来 30 日波动越大(正领先性)

六、用 DVOL 做波动目标避险#

最朴素的落地:把目标年化波动钉在 25%,DVOL 越高仓位越低——

wt=min ⁣(25%DVOLt,1)w_t = \min\!\left(\frac{25\%}{\text{DVOL}_t},\, 1\right)

target_vol = 25.0
pos = np.zeros(T)
for t in range(1, T - 1):
    pos[t] = min(target_vol / max(dvol[t-1], 1e-6), 1.0)   # 上一日 DVOL 判定, 避免前视
nav = np.ones(T); bh = np.ones(T)
for t in range(1, T):
    nav[t] = nav[t-1] * (1 + pos[t-1] * ret[t])
    bh[t]  = bh[t-1]  * (1 + ret[t])
python
指标DVOL 波动目标(25%)买入持有
终值(倍)1.83x2.18x
最大回撤−42.8%−54.7%
年化波动25.5%42.4%

结论很诚实:波动目标不创造 alpha,它省的是冗余风险。回测里它把回撤从 −54.7% 压到 −42.8%、把年化波动从 42% 砍到 25%,代价是少赚一点(1.83x vs 2.18x)。这正是波动率择时的本质边界——它管风控,不管印钞。

DVOL 波动目标择时:把回撤从 -54.7% 压到 -42.8%

七、DVOL 分布:尾部是恐慌区#

把 DVOL 拉成直方图,会看到头轻尾重——多数时间它在 30~45 的平静区,少数极端日冲到 60+ 的恐慌区。这个 90 分位(本合成约 60)就是天然的风险开关阈值。

DVOL 分布:尾部是恐慌区,头部是平静区(可作为风险开关阈值)

八、DVOL 与 VIX 的换算:跨市场恐惧对齐#

加密交易者常想把 DVOL 和 VIX 放一起看,但两者口径不同。一个简单的对齐办法是只看相对水平而非绝对点位——各自减去自身历史均值、除以自身标准差,得到「标准化恐慌分位」:

def zscore(x):
    return (x - x.mean()) / x.std()

dvol_z = zscore(dvol)
vix_z  = zscore(vix_proxy)   # 若有美股 VIX 序列
# 真实世界里 DVOL 与 VIX 相关性高(加密恐慌多为美股溢出),
# 但危机期 DVOL 的尖峰更陡(7x24 无熔断、杠杆更高)
python

经验上,加密恐慌的尖峰比美股更陡:没有涨跌停、没有盘前盘后缓冲、永续合约高杠杆会放大去杠杆踩踏。所以 DVOL 冲到历史 99 分位时,往往对应比 VIX 同分位更极端的真实流动性冲击。对齐后做跨资产「恐慌分位」对比,比直接比点位靠谱得多。

# 用分位而非点位做风险开关
dvol_pct = (dvol > np.percentile(dvol, 90)).astype(float)
# 90 分位以上: 视为恐慌区, 降低杠杆或转稳定币

# 落地的三层风险开关(实战更常用的形态)
low_zone, mid_zone, high_zone = 33, 66, 90
w = np.ones(T)
for t in range(1, T):
    q = (dvol[t-1] > np.percentile(dvol[:t], high_zone)).astype(float)
    m = (dvol[t-1] > np.percentile(dvol[:t], mid_zone)).astype(float)
    w[t] = 0.5 if q else (0.75 if m else 1.0)   # 高恐慌半仓, 中恐慌七成, 平静满仓
# 经验上这套分级比硬阈值更平滑, 少触发买卖摩擦
python

九、诚实拆穿六类真实陷阱#

1. 方差互换口径被简化。 严格公式还有漂移项和连续分红修正 σ2=2TerTΔKK2C(K)1T()\sigma^2 = \frac{2}{T}e^{rT}\sum\frac{\Delta K}{K^2}C(K) - \frac{1}{T}(\cdots)。本文直接用 IV² 离散加权,跳过了漂移项,在大幅偏离平值时会有偏差。真做 DVOL 必须补回套利项。

2. 微笑建模失真。 我用 IV(k)=base+smile·k² 一条二次曲线代理整条微笑,但真实加密期权(尤其 OT M 看跌)在左翼更陡、甚至有翼部扭曲。曲线拟合不足会让尾部恐慌被低估。

3. 风险溢价混杂。 DVOL 里同时装着「真实波动预期」和「波动率风险溢价(恐慌保险溢价)」。两者同向,但高 DVOL 不等于高未来波动——它可能只是市场过度恐慌。把它当纯波动预测会系统性高估。

4. 时变到期与滚动。 真实 DVOL 用 30 天到期合约,但近月/远月流动性不同、到期会滚动。本文固定 30 天,没建模滚动日的跳变与近月流动性枯竭。

5. 合成自证陷阱。 这条路径里 theta 直接挂钩下行亏损,所以 DVOL 必然「领先」波动——这是我自己写进去的。真实数据里 DVOL 的领先性要跨多轮独立牛熊外样本验证,且加密市场 2020–2021 的 DVOL 与 VIX 高度联动,部分「领先」其实是美股恐慌的溢出。

6. 与 VIX 不可直接比。 DVOL 是 30 天、加密 7×24 无休、无风险利率近似为 0;VIX 是 30 天、美股有隔夜跳空、用国债利率折现。两者的「点位」口径不同,DVOL 报 40 不是 VIX 报 40 的同一种恐惧。

十、小结#

DVOL 把整条期权 IV 微笑用方差互换口径焊成一个数字,是加密市场最干净的「恐慌温度计」:崩盘时它同步飙升、对未来 30 日波动呈正领先、做波动目标能把回撤砍掉一段。但它装的是「波动预期 + 恐慌溢价」的混合体,别把它当纯方向信号——它告诉你市场有多慌,不告诉你慌完往哪走

加密市场波动率指数 DVOL 构建:用期权报价给恐慌定一个温度
https://blog.halo26812.eu.org/blog/crypto-volatility-index
Author halo
Published at 2026年7月20日
版权声明 CC BY-NC-SA 4.0
Comment seems to stuck. Try to refresh?✨