15. 事件概率与波动率曲面:从曲面反推事件概率
聊到事件驱动交易,大家最关心的问题往往是——这个事件到底有多大概率发生?
比如美联储会不会降息?英国央行会不会加息?某公司财报会不会爆雷?
你可能会去看新闻、看分析师报告、看民调数据。但这些东西有个共同的问题:它们都是主观的。
而市场给出的答案,藏在波动率曲面里。
15.1 为什么波动率曲面能反推概率?
说白了,期权价格里天然包含了市场对未来事件的预期。尤其是那些有明显日期特征的事件——比如议息会议、财报发布、选举结果。
我刚开始做这个的时候也觉得挺玄乎。后来想明白了:期权定价模型里的波动率,本质上是市场对不确定性的定价。
如果市场认为某个事件有大概率发生,那么对应到期日的期权价格就会反映出这种预期。具体来说,就是该到期日的隐含波动率会明显高于相邻到期日。
15.2 从曲面反推降息概率:一个实战案例
我记得有一次做美联储议息会议的交易策略。当时市场对降息25bp还是50bp争论不休。我直接用波动率曲面算了一笔账。
基本思路是这样的:
- 找到议息会议前后的两个到期日期(比如会议前一周和会议后一周)
- 提取这两个到期日的平值期权隐含波动率
- 计算波动率差异,结合时间衰减模型反推概率
具体公式其实不复杂:
# 伪代码示例:从波动率曲面反推降息概率
def extract_event_probability(surface, event_date, rate_change_scenarios):
"""
从波动率曲面反推事件概率
surface: 波动率曲面对象
event_date: 事件日期
rate_change_scenarios: 可能的利率变动情景列表
"""
# 获取事件前后到期日的波动率
pre_event_vol = surface.get_volatility(expiry=event_date - 1, strike='ATM')
post_event_vol = surface.get_volatility(expiry=event_date + 1, strike='ATM')
# 计算波动率跳跃
vol_jump = post_event_vol - pre_event_vol
# 根据波动率跳跃反推概率
# 这里用了一个简化模型:波动率跳跃与事件不确定性成正比
total_uncertainty = sum([abs(scenario) for scenario in rate_change_scenarios])
probabilities = {}
for scenario in rate_change_scenarios:
# 每个情景的概率与其对波动率的贡献成正比
prob = abs(scenario) / total_uncertainty * (vol_jump / pre_event_vol)
probabilities[scenario] = min(max(prob, 0), 1) # 截断到[0,1]
return probabilities
15.3 风险中性概率 vs 真实概率
这里有个坑,我必须提醒你。
从波动率曲面反推出来的概率,叫做风险中性概率。它不等于真实世界的概率。
为什么会这样?
你想想看,期权定价是在风险中性测度下进行的。这意味着所有资产的预期收益率都被调整成了无风险利率。所以期权价格反映的并不是「事件实际发生的概率」,而是「在风险中性世界里,市场愿意为这个事件支付的价格」。
两者的差异主要体现在:
- 风险溢价: 市场对尾部风险(黑天鹅事件)会额外定价。所以风险中性概率往往高估了小概率事件的发生概率。
- 流动性因素: 某些深度虚值期权流动性差,报价失真,导致反推的概率不可靠。
- 模型假设: 我们用的模型(比如BSM)本身就有假设偏差,这些偏差会传导到概率估计上。
15.4 如何校准真实概率?
既然风险中性概率有偏差,那我们怎么得到更接近真实的概率?
我个人习惯用两种方法做校准:
- 历史校准法: 回测过去类似事件的反推概率与实际结果的偏差,建立一个校准因子。比如过去10次降息事件中,波动率曲面反推的概率平均高估了15%,那就把当前结果打85折。
- 多市场交叉验证: 同时看利率期货、信用违约互换(CDS)、股票期权等多个市场的隐含概率。如果多个市场指向同一个方向,那可信度就高很多。
嗯,这里要注意:校准不是万能的。市场结构会变,过去的偏差不一定适用于未来。我一般会保留一个「置信区间」,而不是给出一个精确的概率值。
15.5 知识体系结构图
下面这张图总结了从波动率曲面反推事件概率的完整逻辑:
15.6 实战中的注意事项
最后,分享几个我在实战中踩过的坑:
- 不要迷信单一数据点: 某个到期日的波动率可能因为流动性问题而失真。我建议至少用3个不同到期日的数据做交叉验证。
- 注意事件的时间窗口: 如果事件发生在周五收盘后,那么周五到下周一的波动率跳跃可能被隔夜风险放大。这时候需要做时间调整。
- 警惕隐含波动率的微笑效应: 不同行权价的波动率不同。用平值期权还是虚值期权?我一般用平值期权,因为流动性最好,报价最可靠。
- 别忘了利率的影响: 在反推降息概率时,利率本身也在变。这会产生一个循环依赖。我习惯先用利率期货定一个先验概率,再用波动率曲面做修正。
好了,关于从波动率曲面反推事件概率,核心就是这些。记住:风险中性概率是市场的报价,真实概率是你的判断。两者之间的差距,就是你的alpha来源。