量化交易中文教材

第 19b 章 希腊字母(下):Theta、Gamma、Vega、Rho 与组合风险管理

第 19a 章讲了 delta 对冲:只要再平衡足够频繁,delta 中性头寸就能把期权空头的风险压得很低。但现实中有两个问题。第一,再平衡不可能连续进行,两次再平衡之间标的价格可能大幅变动,delta 中性只对小变动有效——这由 gamma 刻画。第二,BSM 假设波动率恒定,实际上隐含波动率每天都在变,期权价值随之变化——这由 vega 刻画。此外,theta 描述时间流逝带来的确定性价值变化,rho 描述利率风险。

本章逐一定义这些希腊字母,给出 BSM 下的公式,并讲清楚三件对量化交易最重要的事:

  1. Theta–Gamma 关系:delta 中性时,赚 gamma(大幅波动)的钱和赚 theta(时间流逝)的钱只能二选一,二者被 BSM 方程绑在一起。由此得到期权交易者最核心的盈亏公式——delta 对冲后的期权盈亏取决于实现波动率与隐含波动率之差。
  2. Gamma 与 vega 中性:标的资产本身的 gamma 和 vega 都是零,只能用期权调整;同时实现两者需要至少两种期权,归结为解一个线性方程组,最后再用标的修正 delta。
  3. 对冲的现实:交易台如何设限额、每天做什么、为什么卖期权的机构总是负 gamma、负 vega,以及情景分析如何补充希腊字母的局部视角。

学习目标

  1. 写出欧式期权(含收益率 \(q\))的 theta、gamma、vega、rho 公式,理解它们随股价和期限变化的形状,掌握单位换算。
  2. 由泰勒展开推出 delta 中性组合的 \(\Delta\Pi=\Theta\Delta t+\frac12\Gamma\Delta S^2\),并由 BSM 方程推出 \(\Theta+rS\Delta+\frac12\sigma^2S^2\Gamma=r\Pi\)。
  3. 推导 delta 对冲期权的盈亏公式 \(\frac12\Gamma S^2[(\Delta S/S)^2-\sigma^2\Delta t]\),解释 gamma 交易与波动率交易的原理。
  4. 计算使组合 gamma 中性、vega 中性或同时中性所需的期权头寸,并恢复 delta 中性。
  5. 了解期货期权、货币期权希腊字母的特殊之处,以及交易台的实际风险管理方式和情景分析。

读前导读

这一章在解决什么问题

上一章说 delta 是期权的"久期"。这一章补齐剩下的部分:gamma 是期权的"凸性",vega 是对波动率这个新风险因子的敏感度,theta 是时间流逝的价值变化,rho 是利率敏感度。用债券语言对照:

期权 债券中的对应物 说明
Delta 美元久期 一阶价格敏感度
Gamma 凸性 二阶敏感度,正凸性在大幅变动中获益
Theta 持有收益 / 骑乘收益(carry/roll-down) 价格不变时时间流逝带来的价值变化
Vega 对利差或波动率的敏感度 定价参数本身的风险
Rho 利率久期 对贴现利率的敏感度

这个类比有一点要说清:凸性从来不是免费的。债券里它的价格藏在收益率里(凸性高的债券收益率略低),容易被忽略;期权里它的价格明码标出——正 gamma 必须用负 theta 每天付费。BSM 方程把二者绑在一起:delta 中性时 \(\Theta+\tfrac12\sigma^2S^2\Gamma\approx0\)(忽略 \(r\Pi\))。由此推出全章最重要的结论:delta 对冲后的期权多头,赚的是"实现方差 − 隐含方差"。这正是期权交易员"做多波动率""做空波动率"的含义。

后半章讨论如何用期权同时把 gamma 和 vega 调到零——这是一个解线性方程组的问题,和固定收益里"用两个期限的国债同时对冲久期和凸性"完全同构。

需要先想起来的数学

1. 二阶泰勒展开。 \(f(x+h)\approx f(x)+f'(x)h+\tfrac12f''(x)h^2\)。债券里就是 \(\Delta P\approx-D^*P\Delta y+\tfrac12CP(\Delta y)^2\)。多元版本:对 \(\Pi(S,t)\) 展开时还有 \(\Delta t\) 项和交叉项。见 第 00 册第 02 章 导数与泰勒展开 和 第 05 章 多元微积分与优化。

2. 阶的比较。 当 \(\Delta t\) 很小时,\(\Delta t^2\)、\(\Delta t^{3/2}\) 都远小于 \(\Delta t\),可以忽略;但 \(\Delta S\sim\sqrt{\Delta t}\),所以 \(\Delta S^2\sim\Delta t\),不能忽略。例:\(\Delta t=1/252\approx0.004\),日收益标准差约 1.26%(年化 20%),\((\Delta S/S)^2\approx0.00016\),与 \(\sigma^2\Delta t=0.04/252=0.00016\) 同量级。见 第 00 册第 07 章 概率中的分析工具(大 O 小 o)。

3. 二元一次方程组。 \(a_1w_1+b_1w_2=c_1\),\(a_2w_1+b_2w_2=c_2\),解为 \(w_1=(c_1b_2-b_1c_2)/(a_1b_2-b_1a_2)\),\(w_2=(a_1c_2-c_1a_2)/(a_1b_2-b_1a_2)\)。分母(行列式)为零时无解或无穷多解,意味着两种期权的 gamma/vega 比例相同,无法分别控制。见 第 00 册第 06 章 线性代数速成。

4. 标准正态密度 \(N'(x)\)。 钟形曲线,\(x=0\) 时最大(0.399),\(|x|\) 越大越小。gamma、vega、theta 的公式里都有 \(N'(d_1)\),所以它们都在平值附近最大。

怎么读这一章

必读:19.6(gamma 与泰勒展开)、19.7(三者关系与 delta 对冲盈亏公式,全章核心)、19.8(vega 与例 19.5)。19.5 theta 和 19.9 rho 读公式和单位即可。19.12 的表 19.6 当作查询表。19.10、19.11 是实务,篇幅短,值得读。量化实战一可以只看输出;量化实战二 A 部分直接验证了盈亏公式,建议细读。


19.5 Theta

定义与公式

组合的 theta(\(\Theta\))是在其他条件不变时,组合价值对时间流逝的变化率,也称组合的时间衰减(time decay)。不付息股票欧式看涨期权:

\[\Theta(\text{call})=-\frac{S_0N'(d_1)\sigma}{2\sqrt T}-rKe^{-rT}N(d_2),\qquad N'(x)=\frac{1}{\sqrt{2\pi}}e^{-x^2/2}\tag{19.2}\]

\(N'(x)\) 是标准正态密度。欧式看跌:

\[\Theta(\text{put})=-\frac{S_0N'(d_1)\sigma}{2\sqrt T}+rKe^{-rT}N(-d_2).\]

由于 \(N(-d_2)=1-N(d_2)\),看跌的 theta 比对应看涨大 \(rKe^{-rT}\)(由平价 \(c-p=S-Ke^{-rT}\) 对时间求导也可直接看出)。

theta 公式的两项各有含义:第一项 \(-\frac{S_0N'(d_1)\sigma}{2\sqrt T}\) 是期权"保险价值"随时间流逝而减少,在平值附近最大;第二项与执行价的贴现有关。

单位

公式中时间以年计。报价时通常以天计:每日历日 theta = 公式值 / 365,每交易日 theta = 公式值 / 252。(原书配套软件 DerivaGem 按日历日。)

例 19.2 本章例子(\(S_0=49\),\(K=50\),\(r=5\%\),\(\sigma=20\%\),\(T=20\) 周)中,看涨期权 \(\Theta=-4.31\)(每年),即每日历日 \(-0.0118\),每交易日 \(-0.0171\)。对 10 万份期权,每过一个交易日价值约减少 1,710 美元。

形状与解读

期权 theta 通常为负:时间流逝,期权价值下降。(例外:不付息股票的实值欧式看跌、利率很高货币的实值欧式看涨,它们的 theta 可能为正。)看涨期权的 theta(原书图 19.5、19.6):股价很低时接近 0;平值时绝对值最大;股价很高时趋于 \(-rKe^{-rT}\)。平值看涨的 theta 在临近到期时急剧变负。

白话解释:看涨 theta 的两项可以对应 BSM 公式的两块。第一项来自 \(N'(d_1)\),是期权的"不确定性价值"随剩余时间缩短而流失——离到期越近,股价还能走多远就越有限,这份保险就越不值钱。第二项 \(-rKe^{-rT}N(d_2)\) 来自执行价的贴现:时间推移,要付的 \(K\) 现值上升(贴现期变短),看涨期权价值随之下降。看跌期权是收 \(K\) 的一方,所以第二项符号相反,深度实值看跌的 theta 甚至可以为正:它基本上就是"未来收 \(K\)",越临近收款越值钱,像零息债一样随时间增值。

theta 和 delta 不是同一类参数:未来股价是不确定的,时间流逝却是确定的,对冲时间流逝毫无意义。但许多交易员仍把 theta 当作有用的描述统计量,因为在 delta 中性组合中,theta 是 gamma 的代理(19.7 节)。


19.6 Gamma

定义

组合的 gamma(\(\Gamma\))是组合 delta 对标的价格的变化率,即组合价值对标的价格的二阶偏导:

\[\Gamma=\frac{\partial^2\Pi}{\partial S^2}.\]

gamma 小,delta 变化慢,维持 delta 中性不需要频繁调整;gamma 的绝对值大,delta 对价格高度敏感,放着一个 delta 中性组合不管的风险就很大。

对冲误差的来源(原书图 19.7)。 股价从 \(S\) 变到 \(S'\) 时,delta 对冲隐含假设期权价格沿切线从 \(C\) 变到 \(C'\),实际却沿曲线变到 \(C''\)。\(C'\) 与 \(C''\) 之差就是对冲误差,它取决于期权价格曲线的曲率,而 gamma 正是曲率的度量。

泰勒展开

(对应原书本章附录。)波动率恒定时 \(\Pi=\Pi(S,t)\),

\[\Delta\Pi=\frac{\partial\Pi}{\partial S}\Delta S+\frac{\partial\Pi}{\partial t}\Delta t+\frac12\frac{\partial^2\Pi}{\partial S^2}\Delta S^2+\frac12\frac{\partial^2\Pi}{\partial t^2}\Delta t^2+\frac{\partial^2\Pi}{\partial S\partial t}\Delta S\Delta t+\cdots\tag{19A.1}\]

推导拆解:(19A.1) 是二元函数 \(\Pi(S,t)\) 的二阶泰勒展开:一阶项是对每个变量的偏导乘以该变量的增量;二阶项是 \(\tfrac12\times\)(对 \(S\) 的二阶导 \(\times\Delta S^2\) + 对 \(t\) 的二阶导 \(\times\Delta t^2\) + 2 × 交叉偏导 \(\times\Delta S\Delta t\)),其中 2 和 \(\tfrac12\) 约掉,所以交叉项前面没有 \(\tfrac12\)。 判断哪些项可以丢掉,只看它们的量级:\(\Delta S\sim\sqrt{\Delta t}\),所以 \(\Delta S^2\sim\Delta t\),\(\Delta S\Delta t\sim\Delta t^{3/2}\),\(\Delta t^2\) 更小。保留到 \(\Delta t\) 阶,就只剩 \(\Theta\Delta t\) 和 \(\tfrac12\Gamma\Delta S^2\)。 在普通微积分(例如债券收益率是确定性变化)里,\(\Delta y^2\) 通常被当作高阶小量;这里不行,因为随机变量的增量只有 \(\sqrt{\Delta t}\) 那么"小",平方之后和 \(\Delta t\) 一样大——这正是 Itô 引理多出一项的原因。

金融直觉:这就是债券的"久期 + 凸性"近似,只是多了时间项。久期中性的债券组合,收益率变动 \(\Delta y\) 时损益约 \(\tfrac12C\cdot P\cdot\Delta y^2\):正凸性组合在收益率大涨大跌时都赚钱。期权组合也一样:正 gamma 在股价大幅变动时赚钱。差别在于债券的凸性成本体现为较低的收益率,而期权的正 gamma 直接表现为负 theta,每天都要付"租金"。

delta 中性消掉第一项;第二项是确定性的;\(\Delta S\) 的量级是 \(\sqrt{\Delta t}\),所以第三项 \(\Delta S^2\) 与 \(\Delta t\) 同阶,不能忽略;其余各项都高于 \(\Delta t\) 阶。于是对 delta 中性组合

\[\Delta\Pi=\Theta\Delta t+\frac12\Gamma\Delta S^2.\tag{19.3}\]

这就是 delta 中性组合在一小段时间里的全部损益:一部分来自时间(theta),一部分来自价格变动的平方(gamma)。原书图 19.8 的含义:

  • gamma 为正时,theta 倾向为负:价格不动,组合贬值;价格大涨或大跌,组合增值。
  • gamma 为负时相反:价格不动,组合增值;价格大幅变动,组合贬值。
  • \(|\Gamma|\) 越大,组合价值对 \(S\) 的变动越敏感。

例 19.3 某 delta 中性组合 gamma 为 \(-10{,}000\)。若短时间内资产价格变动 ±2,组合将意外损失约 \(0.5\times10{,}000\times2^2=20{,}000\) 美元。

使组合 gamma 中性

标的资产的 gamma 为零(它的价值对自身价格是线性的),所以不能用标的资产改变组合的 gamma,必须用与标的非线性相关的工具,比如期权。

设 delta 中性组合的 gamma 为 \(\Gamma\),某可交易期权的 gamma 为 \(\Gamma_T\)。加入 \(w_T\) 份该期权后组合 gamma 为 \(w_T\Gamma_T+\Gamma\),所以

\[w_T=-\frac{\Gamma}{\Gamma_T}.\]

加入期权会改变组合的 delta,因此还要再调整标的头寸以恢复 delta 中性。gamma 中性同样只维持一小段时间,需要随时间调整期权头寸,使其保持在 \(-\Gamma/\Gamma_T\)。

delta 中性防范再平衡之间的小幅价格变动;gamma 中性进一步防范较大的变动,可以看作对图 19.7 中对冲误差的修正。

例 某 delta 中性组合 gamma 为 \(-3{,}000\),可交易看涨期权 delta 0.62、gamma 1.50。买入 \(3{,}000/1.5=2{,}000\) 份看涨可使组合 gamma 中性;组合 delta 由 0 变为 \(2{,}000\times0.62=1{,}240\),需卖出 1,240 单位标的资产恢复 delta 中性。

Gamma 的公式与形状

不付息股票的欧式看涨或看跌(二者 gamma 相同):

\[\Gamma=\frac{N'(d_1)}{S_0\sigma\sqrt T}.\]

推导拆解:\(\Gamma=\partial\Delta/\partial S=\partial N(d_1)/\partial S\)。用链式法则:\(N'(d_1)\cdot\partial d_1/\partial S\),而 \(d_1\) 中只有 \(\ln S\) 依赖 \(S\),\(\partial\ln S/\partial S=1/S\),所以 \(\partial d_1/\partial S=\frac1{S\sigma\sqrt T}\)。合起来就是上式。看跌 delta 是 \(N(d_1)-1\),常数 \(-1\) 求导为零,所以看涨看跌 gamma 相同。分母里的 \(\sqrt T\) 说明:期限越短,同样的股价变动让 \(d_1\) 移动得越多,delta 变化越剧烈。

期权多头的 gamma 恒为正。原书图 19.9:gamma 在 \(K\) 附近最大。图 19.10:平值期权的 gamma 随到期临近而增大,短期平值期权的 gamma 极高——持有人的头寸价值对股价跳跃高度敏感,卖方的风险也最集中。

例 19.4 本章例子中 \(\Gamma=0.066\):股价变动 \(\Delta S\) 时,delta 约变动 \(0.066\Delta S\)。


19.7 Delta、Theta 与 Gamma 的关系

单个衍生品满足 BSM 方程 (15.16),由线性性,衍生品组合的价值 \(\Pi\) 也满足:

\[\frac{\partial\Pi}{\partial t}+rS\frac{\partial\Pi}{\partial S}+\frac12\sigma^2S^2\frac{\partial^2\Pi}{\partial S^2}=r\Pi .\]

用希腊字母写出来就是

\[\Theta+rS\Delta+\frac12\sigma^2S^2\Gamma=r\Pi.\tag{19.4}\]

其他标的有类似的式子(原书习题 19.19):收益率为 \(q\) 的资产把 \(rS\Delta\) 换成 \((r-q)S\Delta\);期货期权则没有 \(S\Delta\) 项。

对 delta 中性组合,\(\Theta+\frac12\sigma^2S^2\Gamma=r\Pi\):theta 大且为正时,gamma 倾向于大且为负,反之亦然。这与图 19.8 一致,也解释了为什么在 delta 中性组合中 theta 可以作为 gamma 的代理。

核心推论:delta 对冲后的盈亏公式

把 (19.3) 和 (19.4) 合在一起,可以得到期权交易中最重要的一个公式。考虑买入 1 份期权并 delta 对冲,其余资金按无风险利率借贷,使整个头寸初始价值为零。在 \(\Delta t\) 内:

  • 期权与股票部分的损益由 (19.3) 给出:\(\Theta\Delta t+\frac12\Gamma\Delta S^2\);
  • 现金部分(借入 \(f-\Delta S\))的利息成本为 \(-r(f-\Delta S)\Delta t\)。

由 (19.4),\(\Theta-rf+rS\Delta=-\frac12\sigma^2S^2\Gamma\),于是总损益为

\[\boxed{\ \text{P\&L}\approx\frac12\Gamma S^2\left[\left(\frac{\Delta S}{S}\right)^2-\sigma^2\Delta t\right]\ }\]

其中 \(\sigma\) 是定价(隐含)波动率,\((\Delta S/S)^2\) 是这段时间实现的平方收益。含义非常清楚:

推导拆解:把三块损益逐项写出来再合并。

  1. 期权 + 股票(delta 中性部分):由 (19.3),\(\Theta\Delta t+\tfrac12\Gamma\Delta S^2\)。
  2. 现金:买期权花 \(f\),卖空 \(\Delta\) 股收入 \(\Delta S\),净借入 \(f-\Delta S\),利息 \(-r(f-\Delta S)\Delta t\)。
  3. 合计:\(\big[\Theta-rf+rS\Delta\big]\Delta t+\tfrac12\Gamma\Delta S^2\)。
  4. 方括号用 (19.4) 替换:(19.4) 移项得 \(\Theta+rS\Delta-rf=-\tfrac12\sigma^2S^2\Gamma\)(这里 \(\Pi=f\),单份期权)。
  5. 代入:\(-\tfrac12\sigma^2S^2\Gamma\Delta t+\tfrac12\Gamma\Delta S^2=\tfrac12\Gamma S^2\big[(\Delta S/S)^2-\sigma^2\Delta t\big]\)。 第 4 步是关键:BSM 方程告诉我们 theta 加上融资成本,恰好等于"按隐含波动率计算的预期凸性收益"的相反数。所以凸性收益只要按实现方差算出来高于按隐含方差算的预期,就有净盈利。

金融直觉:用数字感受一下。平值期权、\(S=100\)、\(\Gamma=0.04\),dollar gamma \(\tfrac12\Gamma S^2=200\)。隐含波动率 20%,每日隐含方差 \(0.04/252=0.000159\)。若某天股价实际变动 2%,实现方差 \(0.0004\),当天盈利 \(200\times(0.0004-0.000159)=0.048\) 元;若股价不动,亏 \(200\times0.000159=0.032\) 元(就是这一天的 theta 净成本)。日复一日,盈亏取决于实际日波动平均来看是否超过 \(20\%/\sqrt{252}=1.26\%\)。这和"买入凸性高的债券、用期货对冲久期后,利率波动大于市场预期才能赚钱"是一回事。

  • delta 对冲的期权多头,每段时间赚的是"实现方差 − 隐含方差",权重为 \(\frac12\Gamma S^2\)(称为 dollar gamma)。
  • 实现波动率高于买入时的隐含波动率,长期看就赚钱;低于则亏钱。这就是 gamma 交易(gamma scalping):买入期权、不断 delta 对冲、通过"低买高卖"标的来收割实现波动率。卖方则相反,赚的是隐含波动率高于实现波动率的波动率风险溢价。
  • 盈亏依赖于路径:同样的总实现方差,发生在 gamma 大的时候(平值、临近到期)贡献更大。这也是为什么普通期权的 delta 对冲并不是"纯粹"的波动率押注,后来的方差互换(variance swap)正是为了去掉这种路径依赖(原书第 26 章)。

这个公式也解释了第 19a 章模拟中的对冲误差:即使实现波动率恰好等于隐含波动率,每期的 \((\Delta S/S)^2\) 也是随机的,与 \(\sigma^2\Delta t\) 之差以 \(\frac12\Gamma S^2\) 为权重累加成对冲误差。


19.8 Vega

定义

到目前为止我们都假设波动率恒定。实际上波动率随时间变化,衍生品价值也因此变化。组合的 vega(\(\mathcal V\))是组合价值对标的资产波动率的变化率:

\[\mathcal V=\frac{\partial\Pi}{\partial\sigma}.\]

(vega 并不是希腊字母表里的字母,但沿用了这个称呼。)vega 绝对值大,组合价值对波动率的微小变化就很敏感。

标的资产的 vega 为零。和 gamma 一样,可以加入可交易期权来调整:若某期权的 vega 为 \(\mathcal V_T\),加入 \(-\mathcal V/\mathcal V_T\) 份即可使组合瞬时 vega 中性。但 gamma 中性一般不是 vega 中性,反之亦然。要同时实现二者,通常至少需要两种依赖于同一标的、gamma/vega 比例不同的可交易衍生品。

例 19.5 某 delta 中性组合 gamma 为 \(-5{,}000\)、vega 为 \(-8{,}000\)。可交易期权 1:delta 0.6、gamma 0.5、vega 2.0;期权 2:delta 0.5、gamma 0.8、vega 1.2。

只用期权 1 做 vega 中性:买 \(8{,}000/2.0=4{,}000\) 份,delta 增至 2,400(需卖 2,400 单位资产),gamma 变为 \(-5{,}000+0.5\times4{,}000=-3{,}000\)——vega 中性了,gamma 没有。

同时 gamma、vega 中性:设买入期权 1、2 各 \(w_1\)、\(w_2\) 份,解

\[-5{,}000+0.5w_1+0.8w_2=0,\qquad -8{,}000+2.0w_1+1.2w_2=0,\]
得 \(w_1=400\),\(w_2=6{,}000\)。加入后组合 delta 为 \(400\times0.6+6{,}000\times0.5=3{,}240\),需卖出 3,240 单位资产恢复 delta 中性。

推导拆解:解方程组的过程。第一个方程乘以 4,第二个方程不变:\(2w_1+3.2w_2=20{,}000\),\(2w_1+1.2w_2=8{,}000\)。相减得 \(2w_2=12{,}000\),\(w_2=6{,}000\);代回第一个方程 \(0.5w_1=5{,}000-4{,}800=200\),\(w_1=400\)。 能解出来的前提是两种期权的 gamma/vega 比例不同(期权 1 是 0.25,期权 2 是 0.67)。期权 2 相对更"偏 gamma"(像短期期权),期权 1 相对更"偏 vega"(像长期期权)。如果两者比例相同,就等于只有一种工具,无法同时满足两个约束——行列式为零。这和用 2 年期、10 年期两只国债同时对冲久期和凸性一样:两只债券的凸性/久期比例必须不同。 最后才调 delta,是因为股票的 gamma 和 vega 都是 0,调整股票不会破坏已经达成的 gamma、vega 中性。

一般地,要同时中和 \(m\) 个希腊字母(gamma、vega,以及按期限分桶的多个 vega……),需要 \(m\) 种期权,解一个 \(m\times m\) 线性方程组;delta 最后由标的资产调整,因为标的只影响 delta。若可用的期权多于 \(m\) 种,可以在满足中性约束下最小化交易成本,这就变成一个约束优化问题(第 04 册第 12–18 章)。

Vega 的公式与形状

不付息股票的欧式看涨或看跌:

\[\mathcal V=S_0\sqrt T\,N'(d_1).\]

欧式或美式期权多头的 vega 恒为正。原书图 19.11:vega 在 \(K\) 附近最大。与 gamma 不同,平值期权的 vega 随期限增加而增大(含 \(\sqrt T\)),所以长期期权是主要的 vega 来源,短期期权是主要的 gamma 来源。正是这种差异使"用短期和长期两种期权同时中和 gamma 和 vega"成为可能。

白话解释:比较 gamma 与 vega 公式:\(\mathcal V=S\sqrt TN'(d_1)\),\(\Gamma=\frac{N'(d_1)}{S\sigma\sqrt T}\),所以 \(\mathcal V=\Gamma\cdot\sigma S^2T\)。同样的 gamma,期限越长 vega 越大。这就是"短期期权买 gamma、长期期权买 vega"的数学原因。也说明 vega 对应的单位:\(\mathcal V=12.1\) 是"波动率变 1.00(即 100 个百分点)时价格的变化",实务中常除以 100,报成"每 1 个波动率点 0.121"。

例 19.6 本章例子中 \(\mathcal V=12.1\):波动率从 20% 升到 21%,期权价值约增加 \(0.01\times12.1=0.121\)。

几点说明

  • 用一个假设波动率恒定的模型(BSM)去计算对波动率的敏感度,看起来自相矛盾。理论上应该使用随机波动率模型;但 Hull & White (1987, 1988) 发现,随机波动率模型算出的 vega 与 BSM vega 非常接近,所以实务做法效果尚可。
  • gamma 中性防范再平衡之间标的价格的大幅变动,vega 中性防范 \(\sigma\) 的变动。用某个可交易期权做 vega 对冲还是 gamma 对冲更好,取决于再平衡间隔和波动率本身的波动程度。
  • 波动率变动时,短期期权的隐含波动率变动通常大于长期期权。计算组合 vega 时,常让长期期权的波动率变动小于短期期权(第 23 章 23.6 节),即按期限分桶计算 vega,而不是假设整个波动率曲面平行移动。

19.9 Rho

组合的 rho 是组合价值对利率的变化率 \(\partial\Pi/\partial r\)。不付息股票的欧式期权:

\[\text{rho}(\text{call})=KTe^{-rT}N(d_2),\qquad \text{rho}(\text{put})=-KTe^{-rT}N(-d_2).\]

例 19.7 本章例子中 rho \(=8.91\):利率从 5% 升到 6%,期权价值约增加 \(0.01\times8.91=0.0891\)。

对短期股票期权,rho 通常是最不重要的希腊字母;对长期期权和利率衍生品,它变得重要。


19.12 公式的推广

资产以收益率 \(q\) 提供收益时,欧式期权的希腊字母如表 19.6(\(d_1\)、\(d_2\) 按 (17.4)(17.5) 定义):

希腊字母 看涨 看跌
Delta \(e^{-qT}N(d_1)\) \(e^{-qT}[N(d_1)-1]\)
Gamma \(\dfrac{N'(d_1)e^{-qT}}{S_0\sigma\sqrt T}\) 同左
Theta \(-\dfrac{S_0N'(d_1)\sigma e^{-qT}}{2\sqrt T}+qS_0N(d_1)e^{-qT}-rKe^{-rT}N(d_2)\) \(-\dfrac{S_0N'(d_1)\sigma e^{-qT}}{2\sqrt T}-qS_0N(-d_1)e^{-qT}+rKe^{-rT}N(-d_2)\)
Vega \(S_0\sqrt TN'(d_1)e^{-qT}\) 同左
Rho \(KTe^{-rT}N(d_2)\) \(-KTe^{-rT}N(-d_2)\)
  • \(q\) 取指数股息率,得股指期权的希腊字母;取 \(r_f\),得货币期权的希腊字母。
  • 期货期权:取 \(q=r\)、\(S_0\to F_0\),得 delta、gamma、theta、vega(这里 delta 指对期货价格的敏感度,看涨为 \(e^{-rT}N(d_1)\))。但 rho 不能这样类推:看涨期货期权 rho 为 \(-cT\),看跌为 \(-pT\)。原因是期货价格 \(F_0\) 本身不随 \(r\) 变化(它是可观测的输入),利率只通过贴现因子 \(e^{-rT}\) 影响价格。
  • 货币期权有两个 rho:对本币利率的 rho 用表中公式(\(d_2\) 按 (17.11));对外币利率的 rho:看涨 \(-Te^{-r_fT}S_0N(d_1)\),看跌 \(Te^{-r_fT}S_0N(-d_1)\)。
  • 美式期权的希腊字母需用数值方法计算(原书第 21 章)。

远期与期货合约的 delta、用期货替代现货的对冲已在第 19a 章讨论。


19.10 对冲的现实

理想世界里,交易员可以频繁再平衡,使所有希腊字母都为零。现实中做不到。管理依赖单一标的的大型组合时,交易员通常至少每天一次通过交易标的资产使 delta 为零或接近零;让 gamma、vega 为零则困难得多,因为很难以有竞争力的价格大量买卖期权或其他非线性衍生品。

Business Snapshot 19.1 动态对冲实务 依赖某一标的的衍生品组合通常由一名或一组交易员负责,例如高盛某交易员负责所有依赖澳元的衍生品。计算机系统实时计算组合价值和希腊字母,每个希腊字母都有限额,日终超限需要特批。

  • delta 限额常表示为标的资产的等值最大头寸。例如某股票的 delta 限额为 100 万美元,股价 50 时,\(|\text{delta}|\) 不得超过 20,000。
  • vega 限额通常表示为波动率每变动 1% 的最大美元敞口。

交易员每天收盘前使自己 delta 中性或接近中性;gamma 和 vega 受监控,但通常不每日管理。 金融机构与客户的业务多为卖出期权,因而积累负 gamma、负 vega,交易员总在寻找以合理价格买入期权的机会。缓解因素是:期权卖出时多接近平值,gamma、vega 较大;一段时间后标的价格变动使它们变成深度实值或虚值,gamma、vega 就变得很小。交易员的噩梦是卖出的期权临近到期时仍非常接近平值——gamma 极大,delta 在 0 与 1 之间剧烈跳动。

衍生品交易有很大的规模经济。对少量期权每天维持 delta 中性,因交易成本(每天按卖价买入或按买价卖出标的)通常不经济;对大型组合,每份期权分摊的对冲成本就合理得多。


19.11 情景分析

除了监控 delta、gamma、vega 等局部敏感度,交易员还常做情景分析(scenario analysis):计算组合在指定期间内、不同情景下的盈亏。期间长度取决于工具的流动性;情景可以由管理层选定,也可以由模型生成。希腊字母是"在当前点附近的线性/二次近似",情景分析则直接重估组合,能捕捉大幅变动下的非线性和交叉效应。

表 19.5 某银行持有一个外币期权组合,价值主要依赖于汇率和汇率波动率。当前汇率 1.0000,波动率 10%。2 周一个标准差的汇率变动约 0.02,所以取约 0、1、2、3 个标准差的汇率。2 周后盈亏(百万美元):

波动率 \ 汇率 0.94 0.96 0.98 1.00 1.02 1.04 1.06
8% +102 +55 +25 +6 −10 −34 −80
10% +80 +40 +17 +2 −14 −38 −85
12% +60 +25 +9 −2 −18 −42 −90

最大损失出现在右下角(波动率升至 12%、汇率升至 1.06)。

金融直觉:情景分析之于希腊字母,相当于债券组合的利率冲击测试之于久期凸性。久期凸性告诉你收益率小幅平行移动时的损益;但收益率曲线扭曲、或大幅跳动 200 个基点时,你需要直接按新曲线重估组合。期权组合也一样:希腊字母是局部近似,情景网格是全量重估。

最大损失通常出现在网格的某个角落,但并非总是如此。例如持有蝶式价差空头(第 12 章)时,汇率不动时损失最大。所以情景网格应覆盖整个区域,而不只是检查角落。


量化实战一:希腊字母计算、校验与对冲求解

期权组合风险系统的核心输出就是按标的汇总的希腊字母。下面的代码实现表 19.6 的全部公式,复现例 19.1–19.7,用有限差分逐一校验,验证 (19.4),求解 gamma 中性与例 19.5 的线性方程组,并检验泰勒近似 (19.3) 的精度。

import numpy as np
from scipy.stats import norm

def greeks(S, K, T, r, sig, q=0.0, kind="call"):
    """欧式期权价格与希腊字母(表 19.6)。theta 按每年,vega/rho 按每单位(1.00)变化。"""
    S, K, T, sig = map(np.asarray, (S, K, T, sig))
    sq = np.sqrt(T)
    d1 = (np.log(S / K) + (r - q + 0.5 * sig**2) * T) / (sig * sq); d2 = d1 - sig * sq
    eq, er, pdf = np.exp(-q * T), np.exp(-r * T), norm.pdf(d1)
    gamma = eq * pdf / (S * sig * sq)
    vega = S * eq * sq * pdf
    if kind == "call":
        price = S * eq * norm.cdf(d1) - K * er * norm.cdf(d2)
        delta = eq * norm.cdf(d1)
        theta = -S * pdf * sig * eq / (2 * sq) + q * S * norm.cdf(d1) * eq - r * K * er * norm.cdf(d2)
        rho = K * T * er * norm.cdf(d2)
    else:
        price = K * er * norm.cdf(-d2) - S * eq * norm.cdf(-d1)
        delta = eq * (norm.cdf(d1) - 1)
        theta = -S * pdf * sig * eq / (2 * sq) - q * S * norm.cdf(-d1) * eq + r * K * er * norm.cdf(-d2)
        rho = -K * T * er * norm.cdf(-d2)
    return dict(price=price, delta=delta, gamma=gamma, theta=theta, vega=vega, rho=rho)

# ---- 1) 原书例 19.1–19.7(S=49, K=50, r=5%, sigma=20%, T=20 周)----
S, K, r, sig, T = 49, 50, 0.05, 0.20, 20 / 52
g = greeks(S, K, T, r, sig)
print({k: round(float(v), 4) for k, v in g.items()})
print(f"theta 每日历日 {g['theta']/365:.4f},每交易日 {g['theta']/252:.4f};"
      f"波动率 +1% 期权价约变 {g['vega']*0.01:.3f};利率 +1% 约变 {g['rho']*0.01:.4f}")

# 有限差分核对
h = 1e-4
fd = dict(
    delta=(greeks(S+h, K, T, r, sig)["price"] - greeks(S-h, K, T, r, sig)["price"]) / (2*h),
    gamma=(greeks(S+0.01, K, T, r, sig)["price"] - 2*g["price"] + greeks(S-0.01, K, T, r, sig)["price"]) / 1e-4,
    theta=-(greeks(S, K, T+h, r, sig)["price"] - greeks(S, K, T-h, r, sig)["price"]) / (2*h),
    vega=(greeks(S, K, T, r, sig+h)["price"] - greeks(S, K, T, r, sig-h)["price"]) / (2*h),
    rho=(greeks(S, K, T, r+h, sig)["price"] - greeks(S, K, T, r-h, sig)["price"]) / (2*h))
print("有限差分:", {k: round(float(v), 4) for k, v in fd.items()})

# ---- 2) 验证 Theta + rS Delta + 0.5 sigma^2 S^2 Gamma = r Pi(式 19.4),含股息率 q ----
q = 0.02
for kind in ("call", "put"):
    G = greeks(S, K, T, r, sig, q, kind)
    lhs = G["theta"] + (r - q) * S * G["delta"] + 0.5 * sig**2 * S**2 * G["gamma"]
    print(f"{kind}: 左边={lhs:.6f}  r*Pi={r*G['price']:.6f}")

# ---- 3) Gamma 中性与 gamma+vega 同时中性(19.6 节例、例 19.5)----
w = 3000 / 1.5
print(f"gamma 中性:买入 {w:.0f} 份期权,delta 变为 {w*0.62:.0f},再卖出 {w*0.62:.0f} 单位标的")
A = np.array([[0.5, 0.8], [2.0, 1.2]]); b = np.array([5000, 8000])
w1, w2 = np.linalg.solve(A, b)
print(f"例19.5:w1={w1:.0f}, w2={w2:.0f},新增 delta={0.6*w1+0.5*w2:.0f} -> 卖出这么多单位标的")

# ---- 4) delta 中性组合的泰勒展开:Delta Pi ≈ Theta dt + 0.5 Gamma dS^2 ----
G = greeks(S, K, T, r, sig)
dt = 1 / 252
for dS in (-2.0, -0.5, 0.0, 0.5, 2.0):
    new = greeks(S + dS, K, T - dt, r, sig)["price"]
    exact = (new - G["price"]) - G["delta"] * dS                       # 多 1 份期权 + 空 delta 股(忽略现金利息)
    approx = G["theta"] * dt + 0.5 * G["gamma"] * dS**2
    print(f"dS={dS:+.1f}: 实际 {exact:+.4f}  泰勒近似 {approx:+.4f}")

关键输出:

{'price': 2.4005, 'delta': 0.5216, 'gamma': 0.0655, 'theta': -4.3053, 'vega': 12.1055, 'rho': 8.907}
theta 每日历日 -0.0118,每交易日 -0.0171;波动率 +1% 期权价约变 0.121;利率 +1% 约变 0.0891
有限差分: {'delta': 0.5216, 'gamma': 0.0655, 'theta': -4.3053, 'vega': 12.1055, 'rho': 8.907}
call: 左边=0.110466  r*Pi=0.110466
put: 左边=0.131622  r*Pi=0.131622
gamma 中性:买入 2000 份期权,delta 变为 1240,再卖出 1240 单位标的
例19.5:w1=400, w2=6000,新增 delta=3240 -> 卖出这么多单位标的
dS=-2.0: 实际 +0.1176  泰勒近似 +0.1140
dS=-0.5: 实际 -0.0085  泰勒近似 -0.0089
dS=+0.0: 实际 -0.0171  泰勒近似 -0.0171
dS=+0.5: 实际 -0.0093  泰勒近似 -0.0089
dS=+2.0: 实际 +0.1095  泰勒近似 +0.1140

几点说明:

  • 解析公式与有限差分在四位小数上完全一致——这是检查自己写的希腊字母代码最便捷的单元测试。注意 theta 的有限差分要对剩余期限取负号。
  • (19.4) 在含股息率时同样成立(把 \(rS\Delta\) 换成 \((r-q)S\Delta\))。
  • 泰勒近似在 \(\Delta S=\pm0.5\)(约 1 个日标准差)时几乎精确,\(\pm2\) 时误差约 0.004,且正负不对称——这是三阶项("speed")的作用。大幅变动下应直接重估,这正是情景分析存在的理由。

量化实战二:Gamma 交易、多希腊字母对冲与情景分析

第二段代码做三件事。

A. Gamma 交易的盈亏来源。 以隐含波动率 20% 买入 3 个月平值看涨,每日 delta 对冲,让真实的实现波动率分别为 15%、20%、25%。检验两个预言:平均盈亏 ≈ vega × (实现波动率 − 隐含波动率);逐条路径的盈亏 ≈ \(\sum\frac12\Gamma S^2[(\Delta S/S)^2-\sigma_{\text{imp}}^2\Delta t]\)。

B. 隐含波动率会变时,三种对冲方案的比较。 卖出原书例子中的 20 周看涨,每周再平衡;隐含波动率按随机游走变化("波动率的波动率"分别为 0、10%、30% 每年),股价按当前波动率运动,所有期权按当前隐含波动率重估。对冲工具:股票、26 周平值看涨、52 周平值看涨。比较:(1) 仅 delta;(2) delta + gamma(用 26 周期权);(3) delta + gamma + vega(用两种期权解 2×2 方程组)。指标与表 19.4 相同:对冲后盈亏现值的标准差 / BSM 价格。

C. 情景分析。 构造一个"卖出 1 个月平值跨式 + 买入 3 个月宽跨式"的外汇期权组合(与表 19.5 的组合不同,数字为示意),计算 2 周后在汇率 × 波动率网格上的盈亏。

import numpy as np
import pandas as pd
from scipy.stats import norm

def bs(S, K, T, r, sig, kind="call"):
    """返回 价格, delta, gamma, vega(向量化)。"""
    T = np.maximum(T, 1e-10); sq = np.sqrt(T)
    d1 = (np.log(S / K) + (r + 0.5 * sig**2) * T) / (sig * sq); d2 = d1 - sig * sq
    pdf = norm.pdf(d1)
    if kind == "call":
        price, delta = S * norm.cdf(d1) - K * np.exp(-r*T) * norm.cdf(d2), norm.cdf(d1)
    else:
        price, delta = K * np.exp(-r*T) * norm.cdf(-d2) - S * norm.cdf(-d1), norm.cdf(d1) - 1
    return price, delta, pdf / (S * sig * sq), S * sq * pdf

rng = np.random.default_rng(19)

# ===== A) Gamma 交易:买入期权(隐含 20%)并每日 delta 对冲,盈亏取决于实现波动率 =====
S0, K, T, r, iv, n_paths = 100.0, 100.0, 0.25, 0.03, 0.20, 20_000
n = 63; dt = T / n; t = np.arange(n + 1) * dt
for rv in (0.15, 0.20, 0.25):
    z = rng.standard_normal((n_paths, n))
    S = S0 * np.exp(np.cumsum(np.c_[np.zeros(n_paths), -0.5*rv**2*dt + rv*np.sqrt(dt)*z], axis=1))
    c, d, gm, _ = bs(S[:, :-1], K, T - t[:-1], r, iv)
    c0 = c[:, 0]
    # 自融资:买 1 份期权,卖 delta 股,余额存银行
    cash = -c0 + d[:, 0] * S[:, 0]
    for i in range(1, n):
        cash = cash * np.exp(r * dt) + (d[:, i] - d[:, i-1]) * S[:, i]   # 空头从 -d_{i-1} 调到 -d_i
    cash = cash * np.exp(r * dt)
    pnl = (np.maximum(S[:, -1] - K, 0) - d[:, -1] * S[:, -1] + cash) * np.exp(-r * T)
    ret2 = np.diff(np.log(S), axis=1)**2                               # 逐日实现的平方收益
    pred = (0.5 * gm * S[:, :-1]**2 * (ret2 - iv**2 * dt) * np.exp(-r * t[:-1])).sum(axis=1)
    print(f"实现波动率 {rv:.0%}: 盈亏均值 {pnl.mean():+.3f} 标准差 {pnl.std():.3f} | "
          f"vega*(rv-iv)={bs(S0,K,T,r,iv)[3]*(rv-iv):+.3f} | 与 sum 0.5*Gamma*S^2*(r_i^2-iv^2 dt) 的相关系数 {np.corrcoef(pnl, pred)[0,1]:.3f}")

# ===== B) 隐含波动率随机变动时:delta / delta+gamma / delta+gamma+vega 对冲的比较 =====
S0, K, r, T = 49.0, 50.0, 0.05, 20 / 52           # 卖出原书例子中的 20 周看涨
H = [(50.0, 26 / 52), (50.0, 52 / 52)]               # 对冲工具:26 周、52 周平值看涨
n_paths, n = 20_000, 20; dt = T / n                  # 每周再平衡

def run(vol_of_vol, mode):
    sig = np.full(n_paths, 0.20); S = np.full(n_paths, S0)
    tgt = bs(S, K, T, r, sig); h = [bs(S, k, m, r, sig) for k, m in H]
    def weights(tgt, h):
        if mode == "delta":
            return np.zeros(n_paths), np.zeros(n_paths)
        if mode == "delta+gamma":
            return tgt[2] / h[0][2], np.zeros(n_paths)
        det = h[0][2] * h[1][3] - h[1][2] * h[0][3]   # 解 2x2:w1*G1+w2*G2=G_tgt, w1*V1+w2*V2=V_tgt
        w1 = (tgt[2] * h[1][3] - h[1][2] * tgt[3]) / det
        w2 = (h[0][2] * tgt[3] - tgt[2] * h[0][3]) / det
        return w1, w2
    w1, w2 = weights(tgt, h)
    ns = tgt[1] - w1 * h[0][1] - w2 * h[1][1]        # 股票头寸使总 delta 为 0
    cash = tgt[0] - ns * S - w1 * h[0][0] - w2 * h[1][0]
    for i in range(1, n + 1):
        tau = T - i * dt
        S = S * np.exp(-0.5 * sig**2 * dt + sig * np.sqrt(dt) * rng.standard_normal(n_paths))
        sig = np.clip(sig + vol_of_vol * np.sqrt(dt) * rng.standard_normal(n_paths), 0.05, 0.6)
        cash *= np.exp(r * dt)
        tgt = bs(S, K, tau, r, sig); h = [bs(S, k, m - i * dt, r, sig) for k, m in H]
        if i < n:
            w1n, w2n = weights(tgt, h)
            nsn = tgt[1] - w1n * h[0][1] - w2n * h[1][1]
            cash -= (nsn - ns) * S + (w1n - w1) * h[0][0] + (w2n - w2) * h[1][0]
            ns, w1, w2 = nsn, w1n, w2n
    final = -np.maximum(S - K, 0) + ns * S + w1 * h[0][0] + w2 * h[1][0] + cash
    return final * np.exp(-r * T)

c0 = bs(S0, K, T, r, 0.20)[0]
rows = []
for vv in (0.0, 0.10, 0.30):
    rows.append([vv] + [run(vv, m).std() / c0 for m in ("delta", "delta+gamma", "delta+gamma+vega")])
print(pd.DataFrame(rows, columns=["波动率的波动率", "仅delta", "delta+gamma", "delta+gamma+vega"]).round(3).to_string(index=False))

# ===== C) 情景分析:一个外汇期权组合在 2 周后的盈亏网格 =====
spot0, vol0, rd = 1.00, 0.10, 0.02
book = [(-1e7, 1.00, 1/12, "call"), (-1e7, 1.00, 1/12, "put"),   # 卖出 1 个月平值跨式
        (+1e7, 0.97, 3/12, "put"), (+1e7, 1.03, 3/12, "call")]   # 买入 3 个月宽跨式
def book_value(s, v, dt):
    return sum(q * bs(s, k, m - dt, rd, v, kind)[0] for q, k, m, kind in book)
base = book_value(spot0, vol0, 0.0)
spots = [0.94, 0.96, 0.98, 1.00, 1.02, 1.04, 1.06]
grid = pd.DataFrame([[book_value(s, v, 2/52) - base for s in spots] for v in (0.08, 0.10, 0.12)],
                    index=["8%", "10%", "12%"], columns=spots) / 1e3
print("2 周后盈亏(千美元):\n", grid.round(0).to_string())

关键输出:

实现波动率 15%: 盈亏均值 -0.990 标准差 0.456 | vega*(rv-iv)=-0.990 | 与 sum 0.5*Gamma*S^2*(r_i^2-iv^2 dt) 的相关系数 0.990
实现波动率 20%: 盈亏均值 -0.002 标准差 0.428 | vega*(rv-iv)=+0.000 | 与 sum 0.5*Gamma*S^2*(r_i^2-iv^2 dt) 的相关系数 0.983
实现波动率 25%: 盈亏均值 +0.992 标准差 0.684 | vega*(rv-iv)=+0.990 | 与 sum 0.5*Gamma*S^2*(r_i^2-iv^2 dt) 的相关系数 0.982
 波动率的波动率  仅delta  delta+gamma  delta+gamma+vega
     0.0   0.191        0.037             0.035
     0.1   0.266        0.115             0.038
     0.3   0.508        0.285             0.059
2 周后盈亏(千美元):
       0.94   0.96  0.98  1.00  1.02   1.04   1.06
8%  -224.0 -154.0 -50.0  12.0 -33.0 -113.0 -166.0
10% -192.0 -113.0 -16.0  35.0   1.0  -74.0 -136.0
12% -155.0  -70.0  19.0  62.0  36.0  -32.0  -99.0

读输出:

  • A:三种情形的平均盈亏分别为 −0.99、0.00、+0.99,与 vega × (实现 − 隐含) 吻合;逐条路径的盈亏与 \(\sum\frac12\Gamma S^2[(\Delta S/S)^2-\sigma^2\Delta t]\) 的相关系数约 0.98–0.99。即便实现波动率等于隐含波动率,盈亏标准差仍有 0.43(约为期权价格的 10%)——这就是离散对冲误差,也说明单个期权的 gamma 交易是一个噪声很大的波动率押注。
  • B:波动率不变时,仅 delta 对冲的绩效为 0.19(接近表 19.4 的每周 0.21),加上 gamma 对冲降到 0.04——gamma 中性大幅减少了再平衡之间大幅变动带来的误差。波动率会变时,仅 delta 和 delta+gamma 的误差迅速增大(波动率的波动率 30% 时分别为 0.51 和 0.29),而同时 gamma、vega 中性的组合仍保持在 0.06。这就是交易台在 delta 之外还要管理 vega 的原因;它也说明对冲工具的选择很重要:用一种期权做 gamma 中性时,会顺带引入该期权的 vega,未必降低 vega 风险。
  • C:这个组合短期净卖出 gamma(汇率剧烈变动时亏损)、净买入 vega(波动率上升时获利),所以最大亏损在左上角(波动率降到 8%、汇率跌到 0.94),汇率不变时反而盈利(theta 收入)。用希腊字母只能看出"负 gamma、正 vega",情景网格则直接给出每个角落的损失金额,便于设定压力测试限额。

实盘风险系统通常在此基础上增加:按期限分桶的 vega、按执行价分桶的 vega(应对波动率微笑变化,第 20 章)、跨标的汇总时的相关性假设,以及把情景分析扩展为历史情景和蒙特卡洛 VaR(原书第 22 章)。


本章小结

theta 是时间衰减,通常为负、在平值短期期权上最大,不需要对冲但可作为 gamma 的代理;gamma 是 delta 的变化率,\(\Gamma=N'(d_1)e^{-qT}/(S_0\sigma\sqrt T)\),在平值短期期权上最大,度量 delta 对冲的曲率误差;vega 是对波动率的敏感度,\(\mathcal V=S_0\sqrt TN'(d_1)e^{-qT}\),长期期权更大;rho 是对利率的敏感度。delta 中性组合的损益为 \(\Theta\Delta t+\frac12\Gamma\Delta S^2\),而 BSM 方程给出 \(\Theta+rS\Delta+\frac12\sigma^2S^2\Gamma=r\Pi\),二者合起来说明 delta 对冲期权的盈亏等于 dollar gamma 加权的"实现方差 − 隐含方差"。标的资产不能改变 gamma 和 vega,只能用期权调整:gamma 中性需要 \(-\Gamma/\Gamma_T\) 份期权,同时 gamma、vega 中性需解线性方程组,最后用标的修正 delta。实务中 delta 至少每天对冲,gamma、vega 受限额监控;卖期权的机构天然负 gamma、负 vega;情景分析用全量重估补充希腊字母的局部视角。

希腊字母 定义 欧式看涨(收益率 \(q\)) 要点
Delta \(\partial\Pi/\partial S\) \(e^{-qT}N(d_1)\) 用标的对冲,至少每日
Gamma \(\partial^2\Pi/\partial S^2\) \(\dfrac{N'(d_1)e^{-qT}}{S_0\sigma\sqrt T}\) 平值、短期最大;只能用期权调整
Theta \(\partial\Pi/\partial t\) \(-\dfrac{S_0N'(d_1)\sigma e^{-qT}}{2\sqrt T}+qS_0N(d_1)e^{-qT}-rKe^{-rT}N(d_2)\) 每日 = 年值/365 或 /252
Vega \(\partial\Pi/\partial\sigma\) \(S_0\sqrt TN'(d_1)e^{-qT}\) 长期期权更大
Rho \(\partial\Pi/\partial r\) \(KTe^{-rT}N(d_2)\) 期货期权为 \(-cT\)
关系 公式
delta 中性的损益 \(\Delta\Pi=\Theta\Delta t+\frac12\Gamma\Delta S^2\)
BSM 约束 \(\Theta+rS\Delta+\frac12\sigma^2S^2\Gamma=r\Pi\)
delta 对冲期权盈亏 \(\frac12\Gamma S^2[(\Delta S/S)^2-\sigma^2\Delta t]\)
gamma 中性 \(w_T=-\Gamma/\Gamma_T\)
gamma+vega 中性 \(\begin{cases}\Gamma+w_1\Gamma_1+w_2\Gamma_2=0\\ \mathcal V+w_1\mathcal V_1+w_2\mathcal V_2=0\end{cases}\),再用标的使 delta 为 0

练习

基础

  1. 解释 theta 的含义。若交易员预期股价和隐含波动率都不变,应持有什么样的期权头寸? 提示:theta 为时间衰减;应卖出期权(正 theta),但要承担负 gamma 风险(原书习题 19.4)。
  2. 一个 delta 中性组合的 gamma 很大且为负,这意味着什么风险? 提示:标的价格大幅变动(任一方向)都会造成损失(原书习题 19.5)。
  3. 某期权组合 delta 中性,gamma 为 \(-6{,}000\)。可交易期权的 delta 0.4、gamma 1.2。求使组合 gamma 中性和 delta 中性的交易。 提示:买 5,000 份期权,delta 变为 2,000,卖出 2,000 单位标的。
  4. 用表 19.6 写出货币期权看涨的 delta 和两个 rho。 提示:delta \(=e^{-r_fT}N(d_1)\);本币 rho \(=KTe^{-rT}N(d_2)\);外币 rho \(=-Te^{-r_fT}S_0N(d_1)\)。
  5. 为什么平值期权临近到期时最难对冲? 提示:gamma 随到期临近急剧增大,delta 在 0 和 1 之间剧烈跳动。

进阶

  1. 验证欧式看涨和看跌期权都满足 (19.4),并说明为什么任意期权组合也满足。 提示:直接代入公式;组合满足是因为 BSM 方程是线性的(原书习题 19.18)。
  2. 由平价关系推导看涨与看跌期权的 delta、gamma、vega、theta 之间的关系。 提示:\(\Delta_c-\Delta_p=e^{-qT}\),\(\Gamma_c=\Gamma_p\),\(\mathcal V_c=\mathcal V_p\),\(\Theta_c-\Theta_p=qS_0e^{-qT}-rKe^{-rT}\)(原书习题 19.23)。
  3. 证明期货期权满足 \(F_0N'(d_1)=KN'(d_2)\),求看涨期货期权的 delta(对期货价格)和 vega,并解释 rho 为什么不是 \(KTe^{-rT}N(d_2)\)。 提示:delta \(=e^{-rT}N(d_1)\),vega \(=F_0e^{-rT}\sqrt TN'(d_1)\);rho \(=-cT\),因为 \(F_0\) 不随 \(r\) 变(原书习题 19.28)。
  4. 某外汇期权头寸的 delta 为 30,000、gamma 为 −80,000(单位:每 1 单位汇率)。汇率从 0.90 升到 0.93,估计新的 delta 和需要的再平衡交易,并估计这段时间来自 gamma 的损失。 提示:新 delta \(\approx30{,}000-80{,}000\times0.03=27{,}600\);gamma 损失 \(\approx\frac12\times80{,}000\times0.03^2=36\)(原书习题 19.22)。
  5. 用量化实战二 B 部分的代码,比较 (a) 用 26 周平值期权、(b) 用 4 周平值期权做 delta+gamma 对冲,在波动率的波动率为 30% 时的绩效,并解释差异。 提示:短期期权 gamma/vega 比高,用较少的期权就能中和 gamma,引入的 vega 也较少;但期权到期前要展期,交易成本更高。
  6. 用 delta 对冲盈亏公式说明:一个卖出期权并每日 delta 对冲的机构,在什么市场环境下赚钱、什么环境下亏钱?如何用历史数据估计它的期望收益? 提示:实现波动率低于卖出时的隐含波动率时赚钱;用历史隐含波动率与随后实现波动率的差(波动率风险溢价)乘以 dollar gamma 估计。

原书推荐习题:19.4、19.5(theta 与负 gamma);19.14(外汇期权全部希腊字母);19.18、19.19、19.23(希腊字母之间的关系);19.22(用 delta、gamma 估计再平衡与盈亏);19.24、19.25(多期权组合同时 delta/gamma/vega 中性);19.28(期货期权 rho 的特殊性);19.29、19.30(用 DerivaGem 验证 (19.4) 并检验 (19.3))。


原书对照

本章小节 原书章节 PDF 页码
19.5 Theta 19.5 Theta p.432–434
19.6 Gamma 19.6 Gamma p.434–437
19.7 三者关系 19.7 Relationship Between Delta, Theta, and Gamma p.437–438
19.8 Vega 19.8 Vega p.438–440
19.9 Rho 19.9 Rho p.440–441
19.10 对冲的现实 19.10 The Realities of Hedging(Business Snapshot 19.1) p.441–442
19.11 情景分析 19.11 Scenario Analysis(表 19.5) p.442
19.12 公式的推广 19.12 Extension of Formulas(表 19.6) p.442–444
泰勒展开 Appendix: Taylor Series Expansions and Hedge Parameters p.453
小结与习题 Summary, Further Reading, Practice Questions p.447–452

Delta 对冲、远期与期货的 delta、组合保险见第 19a 章。延伸阅读:Passarelli《Trading Option Greeks》;Taleb《Dynamic Hedging》;Hull & White (1987) 关于随机波动率下的对冲。