4. SABR模型数学推导
SABR模型由Hagan等人在2002年提出,其名称来源于四个核心参数:Stochastic(随机)、Alpha(α)、Beta(β)、Rho(ρ)。它之所以成为利率与外汇期权市场的行业标准,关键在于它用一个简洁的随机微分方程组,同时刻画了标的资产价格与波动率自身的随机演化,并给出了可直接用于校准的隐含波动率近似解析解。
一、SABR随机微分方程组
SABR模型在风险中性测度下由两个耦合的随机微分方程定义。设远期价格为 F,其瞬时波动率为 α:
dF_t = α_t · F_t^β · dW_1
dα_t = ν · α_t · dW_2
dW_1 · dW_2 = ρ · dt
其中各参数含义如下:
- β:控制远期价格与波动率之间的弹性关系,取值通常在 [0,1],决定模型属于正态型(β=0)还是对数正态型(β=1)。
- α:初始瞬时波动率水平,是校准中最重要的拟合参数之一。
- ν:波动率的波动率(vol of vol),控制微笑曲线的弯曲程度。
- ρ:两个布朗运动之间的相关系数,控制微笑曲线的偏斜方向与幅度。
该方程组的关键特征是:波动率 α 服从几何布朗运动,因此始终为正;而远期价格 F 的扩散项带有 F^β 因子,使得模型能够灵活匹配不同市场的价格分布特征。两个布朗运动通过相关系数 ρ 耦合,正是这种耦合产生了隐含波动率微笑的偏斜。
二、Hagan近似解析解与隐含波动率公式
SABR模型没有精确的闭式解,Hagan通过奇异摄动法推导出隐含波动率的近似解析公式。对于行权价 K、远期价格 F、到期时间 T,隐含波动率 σ_B(K,F) 的表达式为:
σ_B(K,F) = α / [ (FK)^((1-β)/2) · (1 + ((1-β)^2/24)·ln²(F/K) + ((1-β)^4/1920)·ln⁴(F/K)) ]
· (z / x(z))
· { 1 + [ (1-β)²α² / (24(FK)^(1-β)) + ρβνα / (4(FK)^((1-β)/2))
+ (2-3ρ²)ν² / 24 ] · T }
其中辅助变量 z 与 x(z) 定义为:
z = (ν/α) · (FK)^((1-β)/2) · ln(F/K)
x(z) = ln[ (√(1 - 2ρz + z²) + z - ρ) / (1 - ρ) ]
该公式的物理意义可以分层理解:
- 主项 α/(FK)^((1-β)/2):给出平值附近的基准波动率水平。
- z/x(z) 因子:刻画微笑曲线的偏斜与弯曲,由 ρ 和 ν 共同驱动。
- 大括号内的修正项:包含到期时间 T 的修正,反映波动率随时间的演化效应。
三、不同β取值下的模型特性
β 是SABR模型中最具争议也最关键的参数。它决定了模型对价格分布的假设,直接影响校准的稳定性与对冲表现。
| β 取值 | 模型类型 | 价格分布假设 | 典型市场 | 校准特点 |
|---|---|---|---|---|
| β = 0 | 正态SABR | 远期价格服从正态分布 | 利率上限/下限 | 允许负利率,α 量纲与价格一致 |
| β = 0.5 | CEV型 | 平方根过程 | 部分商品 | 折中方案,校准较稳定 |
| β = 1 | 对数正态SABR | 远期价格服从对数正态分布 | 外汇期权 | α 近似为平值波动率,直观易解释 |
实践中,β 通常不参与拟合,而是由用户根据市场特征预先固定。这是因为 β 与 ρ、ν 之间存在较强的参数耦合,若同时自由拟合,容易导致参数不稳定甚至过拟合。常见做法是:利率市场取 β=0 或 0.5,外汇市场取 β=1,然后仅校准 α、ρ、ν 三个参数。
四、校准实战流程与复盘要点
基于上述推导,SABR校准的标准流程如下:
- 数据准备:收集同一到期日的多行权价隐含波动率报价,转换为远期价格 F 与行权价 K。
- 固定 β:根据市场类型选择 β=0、0.5 或 1。
- 参数初值:α 取平值隐含波动率,ρ 取 -0.3 至 -0.7,ν 取 0.2 至 0.5。
- 优化求解:最小化模型隐含波动率与市场报价的加权平方误差,常用Levenberg-Marquardt算法。
- 诊断残差:检查各行权价残差是否呈现系统性偏差,若存在则考虑调整 β 或增加到期日联合校准。
# 伪代码:SABR校准核心循环
for beta in [0, 0.5, 1.0]:
params = initial_guess(alpha, rho, nu)
for iteration in range(max_iter):
model_vol = hagan_implied_vol(F, K, T, alpha, beta, rho, nu)
error = market_vol - model_vol
params = update_params(params, error, method='LM')
record_rmse(beta, params)
复盘时需重点关注三类问题:一是残差是否在平值附近出现"尖峰",这通常意味着 ν 被低估;二是微笑两端是否出现"翘尾",往往与 β 选择不当有关;三是不同到期日校准出的参数是否随时间稳定,若 α 或 ν 出现剧烈跳变,需检查市场数据质量或考虑引入随机波动率的期限结构扩展。