2、波动率曲面的构建:从期权市场价格反推隐含波动率,构建微笑曲线与期限结构
做期权交易的朋友都知道,隐含波动率这东西,看不见摸不着,但它才是期权定价的灵魂。我刚开始接触这块时,总觉得用BS公式算出来就完事了。后来被市场狠狠教育了一顿——同一个标的,不同行权价、不同到期日的期权,隐含波动率居然不一样。这就是我们今天要聊的波动率曲面。
2.1 从市场价格反推隐含波动率
说白了,隐含波动率就是市场对未来的「投票结果」。我们拿到的期权价格,是市场上真金白银交易出来的。把这个价格塞进BS模型,反解出来的波动率,就是隐含波动率。
具体怎么反推?我习惯用牛顿迭代法。举个例子:
def implied_volatility(market_price, S, K, T, r, option_type='call'):
"""
从市场价格反推隐含波动率
S: 标的价格, K: 行权价, T: 剩余期限, r: 无风险利率
"""
sigma = 0.3 # 初始猜测,我一般用30%
for i in range(100):
price = bs_price(S, K, T, r, sigma, option_type)
vega = bs_vega(S, K, T, r, sigma)
diff = market_price - price
if abs(diff) < 1e-6:
break
sigma += diff / vega # 牛顿迭代更新
return sigma
嗯,这里要注意:vega不能太小。我在项目中遇到过深度实值期权,vega几乎为零,迭代直接发散。后来我加了个保护——如果vega小于某个阈值,就改用二分法。
2.2 微笑曲线:同一期限下的波动率形态
你想想看,如果市场完全有效,所有行权价的隐含波动率应该一样。但现实是——平值附近的波动率最低,两边越来越高,像个微笑。这就是著名的波动率微笑。
为什么会这样?我个人的理解是:
- 尾部风险溢价:市场害怕极端行情,所以深度虚值期权更贵
- 杠杆效应:大跌时波动率飙升,虚值put自然更贵
- 供需失衡:机构喜欢买put对冲,推高了低行权价的波动率
我统计过沪深300期权的数据,发现一个规律:
| 行权价偏移 | 隐含波动率(30天) | 典型特征 |
|---|---|---|
| -10%(深度虚值put) | 28.5% | 尾部风险溢价明显 |
| -5%(虚值put) | 24.2% | 对冲需求推高 |
| 0%(平值) | 21.8% | 流动性最好,波动率最低 |
| +5%(虚值call) | 23.1% | 投机需求略高 |
| +10%(深度虚值call) | 26.7% | 赌大涨的溢价 |
2.3 期限结构:不同到期日的波动率变化
除了行权价,期限也是个重要维度。一般来说:
- 短期期权:波动率对突发事件敏感,变化剧烈
- 长期期权:波动率更平滑,反映长期预期
我习惯把期限结构分成三种形态:
- 正向结构:期限越长,波动率越高。常见于市场预期未来不确定性增加
- 反向结构:短期波动率高于长期。通常出现在危机时刻,比如2020年3月
- 平坦结构:各期限波动率接近。说明市场预期稳定
举个例子,我去年跟踪过某商品期货的期权数据:
# 期限结构数据示例
term_structure = {
'7天': 32.5%, # 短期波动率飙升
'30天': 28.1%,
'60天': 26.3%,
'90天': 25.8%,
'180天': 25.2% # 长期趋于稳定
}
你看,7天的波动率明显高于长期。这说明市场近期有重大事件预期,但长期来看会回归正常。
2.4 构建完整的波动率曲面
好了,现在我们把微笑曲线和期限结构拼在一起,就得到了波动率曲面。说白了,就是一个三维的矩阵:
- X轴:行权价(或Delta)
- Y轴:剩余期限
- Z轴:隐含波动率
我一般用SVI(Stochastic Volatility Inspired)模型来拟合曲面。这个模型的好处是参数少、拟合效果好。核心公式长这样:
# SVI模型参数化
def svi_volatility(k, a, b, rho, m, sigma):
"""
k: 对数行权价 ln(K/S)
a, b, rho, m, sigma: 模型参数
"""
term = (k - m) / sigma
return a + b * (rho * term + np.sqrt(term**2 + sigma**2))
嗯,这里要注意:SVI模型对参数初始值很敏感。我刚开始用的时候,随便给个初始值,结果拟合出来的曲面奇形怪状。后来我学乖了——先用线性插值做个粗糙的曲面,再用SVI去平滑。
2.5 知识体系总览
下面这张图,是我自己总结的波动率曲面构建逻辑。你看一眼就能明白整个流程:
这张图把整个流程串起来了。从市场价格出发,先反推隐含波动率,再分别构建微笑曲线和期限结构,最后合成完整的波动率曲面。每一步都有坑,但每一步也都有应对方法。
好了,波动率曲面的构建就聊到这儿。记住一句话:曲面是死的,市场是活的。今天构建的曲面,明天可能就变了。保持更新,保持敬畏。