第 19b 章 希腊字母(下):Theta、Gamma、Vega、Rho 与组合风险管理
第 19a 章讲了 delta 对冲:只要再平衡足够频繁,delta 中性头寸就能把期权空头的风险压得很低。但现实中有两个问题。第一,再平衡不可能连续进行,两次再平衡之间标的价格可能大幅变动,delta 中性只对小变动有效——这由 gamma 刻画。第二,BSM 假设波动率恒定,实际上隐含波动率每天都在变,期权价值随之变化——这由 vega 刻画。此外,theta 描述时间流逝带来的确定性价值变化,rho 描述利率风险。
本章逐一定义这些希腊字母,给出 BSM 下的公式,并讲清楚三件对量化交易最重要的事:
- Theta–Gamma 关系:delta 中性时,赚 gamma(大幅波动)的钱和赚 theta(时间流逝)的钱只能二选一,二者被 BSM 方程绑在一起。由此得到期权交易者最核心的盈亏公式——delta 对冲后的期权盈亏取决于实现波动率与隐含波动率之差。
- Gamma 与 vega 中性:标的资产本身的 gamma 和 vega 都是零,只能用期权调整;同时实现两者需要至少两种期权,归结为解一个线性方程组,最后再用标的修正 delta。
- 对冲的现实:交易台如何设限额、每天做什么、为什么卖期权的机构总是负 gamma、负 vega,以及情景分析如何补充希腊字母的局部视角。
学习目标
- 写出欧式期权(含收益率 \(q\))的 theta、gamma、vega、rho 公式,理解它们随股价和期限变化的形状,掌握单位换算。
- 由泰勒展开推出 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 交易与波动率交易的原理。
- 计算使组合 gamma 中性、vega 中性或同时中性所需的期权头寸,并恢复 delta 中性。
- 了解期货期权、货币期权希腊字母的特殊之处,以及交易台的实际风险管理方式和情景分析。
读前导读
这一章在解决什么问题
上一章说 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)。不付息股票欧式看涨期权:
\(N'(x)\) 是标准正态密度。欧式看跌:
由于 \(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 小,delta 变化慢,维持 delta 中性不需要频繁调整;gamma 的绝对值大,delta 对价格高度敏感,放着一个 delta 中性组合不管的风险就很大。
对冲误差的来源(原书图 19.7)。 股价从 \(S\) 变到 \(S'\) 时,delta 对冲隐含假设期权价格沿切线从 \(C\) 变到 \(C'\),实际却沿曲线变到 \(C''\)。\(C'\) 与 \(C''\) 之差就是对冲误差,它取决于期权价格曲线的曲率,而 gamma 正是曲率的度量。
泰勒展开
(对应原书本章附录。)波动率恒定时 \(\Pi=\Pi(S,t)\),
推导拆解:(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 中性组合在一小段时间里的全部损益:一部分来自时间(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\),所以
加入期权会改变组合的 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=\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\) 也满足:
用希腊字母写出来就是
其他标的有类似的式子(原书习题 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\),于是总损益为
其中 \(\sigma\) 是定价(隐含)波动率,\((\Delta S/S)^2\) 是这段时间实现的平方收益。含义非常清楚:
推导拆解:把三块损益逐项写出来再合并。
- 期权 + 股票(delta 中性部分):由 (19.3),\(\Theta\Delta t+\tfrac12\Gamma\Delta S^2\)。
- 现金:买期权花 \(f\),卖空 \(\Delta\) 股收入 \(\Delta S\),净借入 \(f-\Delta S\),利息 \(-r(f-\Delta S)\Delta t\)。
- 合计:\(\big[\Theta-rf+rS\Delta\big]\Delta t+\tfrac12\Gamma\Delta S^2\)。
- 方括号用 (19.4) 替换:(19.4) 移项得 \(\Theta+rS\Delta-rf=-\tfrac12\sigma^2S^2\Gamma\)(这里 \(\Pi=f\),单份期权)。
- 代入:\(-\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\))是组合价值对标的资产波动率的变化率:
(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 的公式与形状
不付息股票的欧式看涨或看跌:
欧式或美式期权多头的 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\)。不付息股票的欧式期权:
例 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 |
练习
基础
- 解释 theta 的含义。若交易员预期股价和隐含波动率都不变,应持有什么样的期权头寸? 提示:theta 为时间衰减;应卖出期权(正 theta),但要承担负 gamma 风险(原书习题 19.4)。
- 一个 delta 中性组合的 gamma 很大且为负,这意味着什么风险? 提示:标的价格大幅变动(任一方向)都会造成损失(原书习题 19.5)。
- 某期权组合 delta 中性,gamma 为 \(-6{,}000\)。可交易期权的 delta 0.4、gamma 1.2。求使组合 gamma 中性和 delta 中性的交易。 提示:买 5,000 份期权,delta 变为 2,000,卖出 2,000 单位标的。
- 用表 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)\)。
- 为什么平值期权临近到期时最难对冲? 提示:gamma 随到期临近急剧增大,delta 在 0 和 1 之间剧烈跳动。
进阶
- 验证欧式看涨和看跌期权都满足 (19.4),并说明为什么任意期权组合也满足。 提示:直接代入公式;组合满足是因为 BSM 方程是线性的(原书习题 19.18)。
- 由平价关系推导看涨与看跌期权的 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)。
- 证明期货期权满足 \(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)。
- 某外汇期权头寸的 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)。
- 用量化实战二 B 部分的代码,比较 (a) 用 26 周平值期权、(b) 用 4 周平值期权做 delta+gamma 对冲,在波动率的波动率为 30% 时的绩效,并解释差异。 提示:短期期权 gamma/vega 比高,用较少的期权就能中和 gamma,引入的 vega 也较少;但期权到期前要展期,交易成本更高。
- 用 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) 关于随机波动率下的对冲。