9.4 数值 Greeks
在量化金融中,Greeks(风险敏感性指标)是风险管理和对冲的核心。当期权定价模型没有解析 Greeks 时——这在奇异期权中非常常见——数值方法是唯一的出路。
有限差分法求 Delta
中心差分公式
Delta ,用中心差分数值近似:
其中 的选择至关重要:
- 太大 → 截断误差(泰勒展开高阶项被忽略)
- 太小 → 灾难性抵消(浮点误差占主导)
最佳折衷:
手算示例
假设 ,,,, 年的看涨期权。
取 ( 的 ):
| 参数 | ||
|---|---|---|
| BS 价格 | (示例值) | (示例值) |
| 差值 | — | |
| 中心差分 |
解析 Delta = (平价附近)。中心差分 给出了 4 位精确的一致结果。
数值 Gamma
Gamma 的二阶中心差分公式:
最佳 约为 。
Python 示例:有限差分 Delta
python
import numpy as np
from scipy.stats import norm
def bs_call_price(S, K, r, sigma, T):
"""Black-Scholes 看涨期权价格"""
d1 = (np.log(S / K) + (r + 0.5 * sigma**2) * T) / (sigma * np.sqrt(T))
d2 = d1 - sigma * np.sqrt(T)
return S * norm.cdf(d1) - K * np.exp(-r * T) * norm.cdf(d2)
def finite_diff_delta(S, K, r, sigma, T, eps=0.01):
"""用中心差分计算数值 Delta"""
V_up = bs_call_price(S + eps, K, r, sigma, T)
V_down = bs_call_price(S - eps, K, r, sigma, T)
return (V_up - V_down) / (2 * eps)
# 参数
S, K, r, sigma, T = 100.0, 100.0, 0.05, 0.2, 1.0
# 解析 Delta
d1 = (np.log(S / K) + (r + 0.5 * sigma**2) * T) / (sigma * np.sqrt(T))
delta_analytic = norm.cdf(d1)
print(f"解析 Delta = {delta_analytic:.6f}")
# 数值 Delta(不同 epsilon)
for eps in [1.0, 0.1, 0.01, 0.001, 1e-6, 1e-10]:
num_delta = finite_diff_delta(S, K, r, sigma, T, eps)
err = abs(num_delta - delta_analytic)
print(f"eps = {eps:12.0e}: 数值 Delta = {num_delta:.8f}, "
f"误差 = {err:.2e}")
# --- 输出示例 ---
# 解析 Delta = 0.531261
# eps = 1e+00: 数值 Delta = 0.53126267, 误差 = 1.66e-06
# eps = 1e-01: 数值 Delta = 0.53126126, 误差 = 2.08e-09
# eps = 1e-02: 数值 Delta = 0.53126126, 误差 = 1.51e-11
# eps = 1e-03: 数值 Delta = 0.53126126, 误差 = 2.56e-12
# eps = 1e-06: 数值 Delta = 0.53126126, 误差 = 2.22e-10 ← 开始增大
# eps = 1e-10: 数值 Delta = 0.53125898, 误差 = 2.28e-06 ← 严重恶化关键观察: 到 是最优范围。 过小()时,灾难性抵消使误差重新增大。
Monte Carlo 收敛与 Greeks
Monte Carlo 收敛速度
Monte Carlo 模拟的误差以 收敛——要将精度提高 10 倍,模拟次数需要增加 100 倍。
| 模拟次数 | 标准误 ( 为例) |
|---|---|
Pathwise Derivative Estimation
在定价奇异期权(如障碍期权、回望期权)时,Monte Carlo 与有限差分 Greeks 结合使用——MC 给出价格,路径上的有限差分估计 Greeks,称为 Pathwise Derivative Estimation,比重抽法(bumping)更稳定。
Quant Link:实际对冲中的 Greeks
| Greek | 定义 | 对冲操作 | 数值方法 |
|---|---|---|---|
| Delta | 买卖标的资产 | 中心差分 | |
| Gamma | 调整 Delta 对冲频率 | 二阶中心差分 | |
| Vega | 波动率对冲(期权组合) | 数值偏导 | |
| Theta | 时间衰减管理 | 前向差分 |
实践建议:在实际交易系统中,不要对所有头寸逐一计算数值 Greeks——应当对聚合的净敞口计算,避免重复计算和累积误差。对于奇异期权,使用数值 Greeks 结合情景分析(Scenario Analysis)是最稳健的做法。 \n> 下一步:回到本章概述