halo 的技术博客

返回

如果你只从期权里读出「隐含波动率」,那你只看到了冰山一角。一个深度 enough 的期权链,藏着的其实是市场对未来股价整条概率分布的看法的——而且不是散户拍脑袋的看法,是用真金白银投票、由无套利定出来的分布。

这篇文章要讲的,就是如何把这条分布从期权价格里「倒」出来。方法只有一个优雅的公式,叫 Breeden-Litzenberger 定理(1978)。

一、Breeden-Litzenberger:二阶导即密度#

一个到期日为 TT、行权价为 KK 的欧式看涨期权,其价格就是未来收益的风险中性期望折现:

C(K)=erTEQ ⁣[max(STK,0)]C(K) = e^{-rT}\,\mathbb{E}^{\mathbb{Q}}\!\left[\max(S_T-K,\,0)\right]

把右边写成积分(对终端股价 STS_T 的风险中性密度 q(ST)q(S_T) 积分):

C(K)=erTK(STK)q(ST)dSTC(K) = e^{-rT}\int_{K}^{\infty}(S_T-K)\,q(S_T)\,dS_T

KK 求一阶导:

CK=erTKq(ST)dST=erTQ(ST>K)\frac{\partial C}{\partial K} = -e^{-rT}\int_{K}^{\infty} q(S_T)\,dS_T = -e^{-rT}\,\mathbb{Q}(S_T>K)

再求一阶导(对积分上限求导,多一个负号):

2CK2=erTq(K)\frac{\partial^2 C}{\partial K^2} = e^{-rT}\,q(K)

移项即得全文主角:

q(K)=erT2CK2q(K) = e^{rT}\,\frac{\partial^2 C}{\partial K^2}

看涨期权价格对行权价的二阶导,就是终端股价的风险中性密度。 不需要假设任何分布形态(对数正态、正态都不用),期权市场自己把分布「说」了出来。

二、为什么是二阶导,而不是一阶/零阶#

直觉上:C(K)C(K) 是一堆「(STK)+(S_T-K)^+ 的加权」堆起来的。零阶(价格本身)混合了位置和形状;一阶导剥掉了「线性部分」,只剩超过 K 的概率——它随 K 下降,但还没到密度;二阶导再对 K 求一次,把「概率随 K 的衰减率」暴露出来,那正是密度本身。一阶导给 CDF,二阶导给 PDF,和概率论里一模一样。

三、实操三步走:定价 → 微笑 → 二阶差分#

真实世界里我们没有解析式子的 C(K)C(K),只有离散行权价上的一堆期权报价。路线是:

  1. 报价 → 隐含波动率(IV):对每个 KK 用 BS 公式反解 IV,得到 IV 微笑/偏斜;
  2. 平滑 IV:用多项式或样条把 IV(K)(K) 拟合成光滑函数(关键,见陷阱一);
  3. 二阶有限差分:用平滑后的 IV 重估 C(K)C(K),再在行权价网格上算二阶导,乘以 erTe^{rT} 得到 q(K)q(K)

四、Python:合成真密度 → 定价 → 反推#

下面这段代码与四张配图完全对应,是自洽合成数据(先用一个两对数正态混合造出「真实」风险中性密度,再数值积分定价,最后用 Breeden-Litzenberger 反推;仅用于演示方法;真实落地请用实际期权报价,见文末)。

跑出来:IV 从低行权价到高行权价单调下滑约 15.4 个波动率点(典型的美股指数左偏 smirk),反推密度的积分约为 0.9997,与真实密度(积分 1.0048)几乎重合——方法成立。

看涨期权价格随行权价递减,凸性里藏着密度信息

五、配图解读:四张图各说明什么#

图一(期权价格)C(K)C(K) 是随 KK 递减的凸曲线,越深的虚值期权越便宜。它的**曲率(二阶导)**就是我们要的密度——平还是陡,决定了终端股价落在哪个区间更「密」。

图二(IV 微笑):把价格翻译成 IV 后,曲线明显左高右低(K 越小 IV 越高),这就是「崩盘恐惧」的印记——市场愿为下行保护付更高溢价。

隐含波动率随行权价左高右低,呈现典型左偏 smirk

图三(反推 vs 真实):红线是「真实」风险中性密度(左偏、左尾厚),虚线是 Breeden-Litzenberger 反推出来的——两者几乎重合,证明二阶导法真的把隐含分布还原了出来。注意左尾比右尾「胖」,正是股指 RND 的标志性特征。

反推风险中性密度(虚线)与真实密度(实线)几乎重合,左尾更厚

图四(期限结构):同一标的、不同期限的 RND 形状不同——近月(1M)左偏更夸张(崩盘恐惧最浓),远月(6M)趋于对称(长期风险溢价被时间摊薄)。这就是为什么做波动率风险溢价要分清期限。

近月 RND 更左偏、远月更对称:崩盘恐惧随时间摊薄

六、实盘三大真实陷阱#

陷阱一:平滑与步长(最致命)。 二阶有限差分对 C(K)C(K)任何抖动都会被 1/h21/h^2 放大。如果 IV 拟合不光滑(多项式阶数太高、或直接在噪声报价上差分),密度会冒出尖锐毛刺甚至负值。必须用平滑的 IV(K)(K),且步长 hh 取行权价网格的自然间距,而不是把网格加密到极限去「提高精度」——那样只会放大噪声。

陷阱二:边界失真。 深度 ITM(K 很低)和深度 OTM(K 很高)的期权流动性差、买卖价差宽、报价噪声大,这些区域的 C(K)C(K) 不可信,反推出的边缘密度毫无意义。实务上只取中央行权价区间(平值附近 ±20%~30%),两端直接截断。

陷阱三:风险中性 ≠ 真实世界(Q ≠ P)。 这是最容易误解的一点:RND 是 Q\mathbb{Q} 测度下的分布,已经包含了风险溢价。它回答的是「市场愿意为哪种结局付多少钱」,不是「结局真实发生的概率」。左尾更厚,部分来自真实的崩盘概率,部分来自投资者愿意为保险多付的钱。想要物理测度分布 PP,需要额外假设(如用看跌-看涨平价剥离、或假设某种定价核),绝非直接拿 RND 当预测用。

补充两个实操坑:离散稀疏行权价需要插值/拟合才能差分;反推出的密度必须做无套利校验——非负、积分=1、均值=远期 F=S0erTF=S_0e^{rT},任何一条不满足都说明拟合失败、结果不可用。

七、落地路径与诚实结论#

真实复现时,把合成数据换成:

  • 数据:同一到期日、同一标的的看涨期权链(行权价、报价、到期日、无风险利率);
  • 清洗:剔除异常报价、非中央行权价区间,用买卖均价;
  • IV → 平滑:对 IV(K)(K) 做样条/低阶多项式拟合(优先 Cubic Spline,避免高阶多项式龙格现象);
  • 差分:用平滑 IV 重估 C(K)C(K),在网格上二阶有限差分 × erTe^{rT}
  • 校验:检查密度非负、积分≈1、均值≈远期,否则回炉重拟合;
  • 应用:用 RND 算隐含偏度/峰度、做波动率互换定价、或和已实现分布对比挖风险溢价。

结论:Breeden-Litzenberger 把一个看似不可见的量——市场对未来的完整信念——变成了一个可计算、可校验的二阶导数。它干净、优雅、不依赖分布假设,但干净的前提是你尊重它的脆弱性:平滑要够、边界要砍、Q 和 P 要分清。否则你「反推」出的,只是一张被数值噪声画花的假分布。

风险中性密度提取:从期权价格反推市场隐含的回报分布
https://blog.halo26812.eu.org/blog/rnd-option-implied-density
Author halo
Published at 2026年7月12日
版权声明 CC BY-NC-SA 4.0
Comment seems to stuck. Try to refresh?✨