第二十三课:曲面在奇异期权定价中的应用——障碍期权、亚式期权的曲面调整
奇异期权,说白了就是那些“不标准”的期权。普通欧式期权你肯定熟悉,但障碍期权、亚式期权这类产品,它们的 payoff 结构更复杂,对波动率曲面的敏感度也完全不同。我早年刚接触奇异期权时,犯过一个低级错误——直接用平值隐含波动率去给障碍期权定价,结果亏得挺惨。嗯,从那以后,我养成了一个习惯:给奇异期权定价,必须先做曲面调整。
一、为什么普通曲面不够用?
普通欧式期权的定价,我们通常用 Black-Scholes 模型,输入一个隐含波动率就行。但奇异期权不一样。你想想看,障碍期权的 payoff 取决于标的价格是否触碰某个障碍水平,亚式期权的 payoff 取决于价格路径的平均值。这些路径依赖特性,让它们对波动率曲面的形状极其敏感。
举个例子。一个向下敲出的看涨期权,如果标的价格跌到障碍水平以下,期权就作废了。这时候,波动率曲面的“尾部”形状就特别重要——因为障碍水平往往在虚值区域。如果你直接用平值附近的波动率去定价,误差可能大到离谱。
核心问题:普通欧式期权的隐含波动率曲面,只反映了“到期时”的市场预期。而奇异期权需要的是“路径上”的波动率动态。这两者之间,存在一个结构性差异。
二、障碍期权的曲面调整方法
我个人习惯把障碍期权的曲面调整分成两步走:第一步,识别关键风险点;第二步,做局部波动率校准。
2.1 关键风险点:障碍水平附近的波动率
障碍期权最怕什么?怕标的价格在障碍水平附近“晃悠”。如果波动率曲面在障碍水平附近有一个“凸起”或“凹陷”,那定价结果会差很多。
我在项目中遇到过这样一个案例:一个向下敲出的看跌期权,障碍水平设在 95。当时市场隐含波动率曲面在 95 附近有一个明显的“微笑”凸起。我一开始没在意,直接用插值后的波动率定价,结果模型价格比市场报价低了 15%。后来一查,原来是曲面在障碍水平附近的斜率被插值算法“平滑”掉了。
解决办法是什么?手动调整。具体来说:
- 步骤一:提取障碍水平对应的虚值期权波动率。比如障碍在 95,那就找行权价 95 附近的虚值看跌期权波动率。
- 步骤二:用这些波动率构建一个“局部波动率函数”。这个函数要能捕捉到障碍水平附近的波动率变化率。
- 步骤三:用这个局部波动率函数替代原来的曲面,重新定价障碍期权。
小技巧:如果你用的是有限差分法定价障碍期权,可以直接把局部波动率函数嵌入到 PDE 求解器中。这样比 Monte Carlo 模拟更稳定,尤其当障碍水平接近平值时。
2.2 局部波动率校准:从隐含到局部
更系统的方法,是做局部波动率校准。说白了,就是把隐含波动率曲面“反推”成局部波动率曲面。这个局部波动率曲面,能告诉你每个价格水平、每个时间点的瞬时波动率是多少。
具体做法是 Dupire 公式:
σ_local(K, T)² = [∂C/∂T + rK ∂C/∂K] / [½ K² ∂²C/∂K²]
其中 C 是欧式看涨期权的市场价格。这个公式看起来复杂,但实际用起来,核心就是两步:
- 对隐含波动率曲面做平滑插值(我常用三次样条)。
- 用有限差分法计算偏导数,代入公式。
得到局部波动率曲面后,再用来定价障碍期权。我做过对比测试:用局部波动率曲面定价的障碍期权,与市场报价的误差通常在 3% 以内。而直接用隐含波动率曲面,误差可能超过 10%。
注意:局部波动率模型有一个隐含假设——波动率是标的价格和时间的确定性函数。这在实际市场中并不完全成立。所以,对于路径依赖特别强的奇异期权(比如双重障碍期权),我建议再用随机波动率模型做一次交叉验证。
三、亚式期权的曲面调整
亚式期权更“温和”一些。它的 payoff 取决于价格路径的平均值,而不是某个时点的价格。所以它对波动率曲面的“尾部”不那么敏感,但对“期限结构”很敏感。
3.1 平均价格 vs 平均行权价
亚式期权分两种:平均价格期权和平均行权价期权。前者用平均价格作为标的,后者用平均价格作为行权价。这两种的曲面调整方法略有不同。
| 类型 | 核心风险 | 曲面调整重点 |
|---|---|---|
| 平均价格期权 | 平均价格的波动率 | 调整期限结构,尤其是短期波动率 |
| 平均行权价期权 | 行权价与标的的相关性 | 调整 skew,尤其是行权价附近的斜率 |
我记得有一次给一个平均价格期权定价,标的是一篮子商品。我直接用各商品的隐含波动率曲面做加权平均,结果定价偏差很大。后来发现,问题出在期限结构上——亚式期权的平均价格波动率,其实更接近短期波动率的加权平均,而不是长期波动率。
3.2 曲面调整的具体做法
对于亚式期权,我建议用“矩匹配法”来做曲面调整。具体思路是:
- 先计算标的资产在平均期内的“平均波动率”。这个平均波动率不是简单的算术平均,而是要考虑路径相关性。
- 用这个平均波动率,从隐含波动率曲面上找到对应的波动率值。
- 如果找不到完全匹配的,就用插值法。
举个例子。一个 3 个月到期的亚式期权,平均期是 2 个月。那么平均波动率可以近似为:
σ_avg² = (1/T_avg) ∫₀^{T_avg} σ(t)² dt
其中 σ(t) 是瞬时波动率。在实际操作中,我会用 1 个月和 3 个月的隐含波动率做线性插值,得到 2 个月的平均波动率。
经验之谈:亚式期权的曲面调整,误差主要来自“平均期”与“到期日”不匹配。如果平均期很短(比如 1 周),那直接用平值附近的短期波动率就行。如果平均期很长(比如 1 年),那必须考虑波动率的期限结构变化。
四、一个完整的调整流程
下面这张图,是我自己总结的奇异期权曲面调整流程。每次做这类定价,我都会走一遍这个流程,确保没有遗漏。
这个流程看起来简单,但每一步都有坑。我曾经在局部波动率校准这一步,因为插值方法选错了,导致曲面出现“锯齿”,定价结果完全失真。后来我改用三次样条加单调性约束,才解决了这个问题。
五、避坑指南
最后,分享几个我踩过的坑:
- 不要忽略障碍水平附近的流动性。如果障碍水平对应的期权流动性很差,那隐含波动率本身就不靠谱。这时候我建议用相邻行权价的波动率做加权平均,或者干脆用模型波动率。
- 亚式期权的平均期不要用错。有一次我把平均期当成了到期日,结果定价偏差了 20%。记住:平均期是计算平均价格的时间窗口,不是期权的到期时间。
- 曲面调整后一定要做敏感性分析。我习惯用 Monte Carlo 模拟生成 1000 条路径,然后看调整后的定价对波动率曲面的敏感性。如果敏感性异常高,那说明调整方法可能有问题。
最后一个小建议:如果你刚开始做奇异期权定价,先从简单的障碍期权入手。等把局部波动率校准搞明白了,再碰亚式期权。别问我怎么知道的——我当年就是太心急,结果两个都没做好。