2. 期权定价基础回顾:BS模型、隐含波动率、期权价格与波动率的关系
说实话,每次讲期权定价,我都得先深吸一口气。不是因为它难,而是因为太多人一上来就盯着BS公式的数学推导,结果把自己绕晕了。我个人习惯是——先搞懂它想解决什么问题,再看公式怎么用。
这一节,咱们就干三件事:
- 把BS模型的核心逻辑捋一遍
- 搞清楚隐含波动率到底是个啥
- 弄明白期权价格和波动率之间那点“暧昧”关系
嗯,准备好了吗?开始。
2.1 BS模型:不是用来预测,是用来定价的
Black-Scholes模型,说白了就是一个定价公式。它告诉你:给定当前股价、行权价、到期时间、无风险利率和波动率,期权的“合理价格”应该是多少。
公式长这样(别怕,咱们不深究推导):
C = S₀ * N(d₁) - K * e^(-rT) * N(d₂)
其中:
d₁ = [ln(S₀/K) + (r + σ²/2)T] / (σ√T)
d₂ = d₁ - σ√T
这里:
- C — 看涨期权价格
- S₀ — 当前股价
- K — 行权价
- T — 到期时间(年化)
- r — 无风险利率
- σ — 波动率(年化标准差)
- N(·) — 标准正态分布累积函数
核心要点:BS模型假设股价服从对数正态分布,且波动率是常数。这两个假设在真实市场中都不成立——但没关系,它依然是最重要的基准模型。
我在项目中遇到过一件事:有同事拿着BS算出来的价格直接去交易,结果发现市场报价差了好几个点。为什么?因为BS的假设太“干净”了,真实市场有买卖价差、有流动性问题、有跳跃风险。所以记住——BS是起点,不是终点。
2.2 隐含波动率:市场在“赌”什么?
好,现在换个角度。你把BS公式反过来用:把市场价格代入公式,反解出波动率。这个波动率,就叫隐含波动率(Implied Volatility, IV)。
说白了,隐含波动率就是市场对未来波动的集体预期。它不一定是“对的”,但它是“共识的”。
一个小技巧:我一般用牛顿-拉夫森法来反解IV。代码实现很简单,但要注意初始值别设太离谱,否则迭代会发散。
# 用牛顿法反解隐含波动率(简化版)
def implied_volatility(market_price, S, K, T, r, initial_guess=0.2):
vol = initial_guess
for i in range(100):
price = bs_call(S, K, T, r, vol)
vega = bs_vega(S, K, T, r, vol)
diff = price - market_price
if abs(diff) < 1e-6:
break
vol -= diff / vega
return vol
嗯,这里要注意:vega不能太小,否则迭代会震荡。我建议加个阻尼因子,或者用二分法做后备。
2.3 期权价格与波动率的关系:Vega 是核心
期权价格和波动率的关系,用一个希腊字母来刻画——Vega。
Vega的定义是:波动率每变化1个百分点,期权价格变化多少。
Vega = S₀ * √T * N'(d₁)
其中 N'(d₁) 是标准正态分布的概率密度函数。
几个关键点:
- 平值期权(ATM)的Vega最大 — 因为不确定性最高
- 深度实值/虚值期权的Vega很小 — 因为确定性高
- 剩余时间越长,Vega越大 — 时间给了波动更多空间
我曾经踩过一个坑:做波动率套利时,只盯着IV的绝对值,忽略了Vega的衰减速度。结果临近到期,IV虽然没变,但Vega已经缩到几乎为零,策略完全失效。所以——Vega不是常数,它会随时间衰减。
你想想看,如果波动率翻倍,期权价格会翻倍吗?不会。因为Vega是线性的,但波动率对价格的影响是非对称的。波动率上升时,价格涨得慢;波动率下降时,价格跌得快。这就是所谓的“波动率微笑”背后的驱动力之一。
2.4 波动率曲面:把IV画成一张图
好了,现在我们把不同行权价、不同到期日的隐含波动率放在一起,画成一个三维曲面——这就是波动率曲面。
它长什么样?
- X轴:行权价(或价外程度)
- Y轴:剩余到期时间
- Z轴:隐含波动率
正常情况下,你会看到:
- 短期期权:IV呈现“微笑”或“偏斜”形态
- 长期期权:IV趋于平坦
- 极端行权价:IV通常更高(尾部风险溢价)
一句话总结:波动率曲面不是平的,它反映了市场对不同情景的定价差异。做交易的人,就是靠捕捉这些差异来赚钱的。
下面我用一张SVG图来展示这个结构,方便你理解:
你看,短期曲线更“弯”,长期曲线更“平”。这就是波动率曲面的典型特征。做交易的人,就是盯着这张图,找“洼地”和“山峰”。
2.5 避坑指南:我踩过的几个雷
最后,分享几个实战中容易翻车的地方:
- 忽略股息 — 对于有分红的股票,BS公式需要调整。我见过有人用无分红模型算ETF期权,结果偏差很大。
- 利率假设太粗糙 — 短期期权影响不大,但长期期权(比如1年以上)对利率很敏感。我建议用对应期限的国债收益率,别用同一个数。
- Vega对冲不是万能的 — 波动率变化时,其他希腊字母也会变。只盯着Vega,容易忽略Delta和Gamma的联动效应。
- 隐含波动率不等于未来波动率 — 这是最容易被忽略的一点。IV是市场情绪,RV是实际波动。两者之间的差值,就是你的交易机会——但也可能是陷阱。
我的习惯:每次构建波动率曲面之前,先做一次“数据清洗”。把那些流动性差、买卖价差过大的期权合约剔除掉。否则,你的曲面会被噪音带偏。
好了,这一节的内容就到这儿。BS模型是地基,隐含波动率是砖瓦,波动率曲面就是你要盖的房子。下一节,咱们开始真正动手——用Python构建波动率曲面。