11、Black-Litterman模型融入波动率曲面观点
Black-Litterman模型,说实话,在传统资产配置圈子里已经是个经典工具了。但把它用到期权波动率曲面上,这事儿我琢磨了好一阵子。你想想看,波动率曲面本身就是一个“市场共识”的体现——不同行权价、不同期限的隐含波动率,背后是无数交易员用真金白银投票的结果。而Black-Litterman干的事,就是把你个人的观点,跟这个市场共识做个“加权平均”。
我个人习惯把波动率曲面看作一个“先验分布”。每个期限-行权价节点上的隐含波动率,都对应着一个市场预期的未来波动路径。但问题来了——市场有时候会犯错,或者说,你的研究告诉你某些节点被高估或低估了。这时候,Black-Litterman就能派上用场。
11.1 核心思想:先验 + 观点 = 后验
说白了,Black-Litterman就三步:
- 建立先验:用当前波动率曲面作为起点,计算每个节点的“均衡波动率”。
- 加入观点:你对某些期限或行权价有明确的看法,比如“3个月平值期权被高估了5个点”。
- 融合后验:用贝叶斯公式,把观点的不确定性考虑进去,得到一个新的波动率曲面。
嗯,这里要注意——观点不是随便拍脑袋的。你得给每个观点配一个“置信度”。我在项目中遇到过,有人觉得某个波动率肯定要跌,但没给置信度,结果模型直接无视了观点,因为市场共识太强了。
关键公式(简化版):
后验波动率 = 先验波动率 + 观点调整 × 置信度权重
其中置信度权重 = 观点方差 / (先验方差 + 观点方差)
11.2 波动率曲面的先验构建
先验怎么来?我建议直接用市场报价。比如你拿到一组SVI参数化后的波动率曲面,每个节点(τ, K)都有一个隐含波动率σ(τ, K)。这些就是你的先验均值。先验方差呢?可以用历史波动率的估计误差,或者用期权市场的买卖价差来近似。
举个例子,假设当前曲面长这样:
| 期限 | 行权价偏移 | 隐含波动率 | 先验方差 |
|---|---|---|---|
| 1个月 | ATM | 25.0% | 0.5% |
| 3个月 | OTM 10% | 28.0% | 0.8% |
| 6个月 | ITM 5% | 22.0% | 0.6% |
这些数据,说白了就是你的“市场共识”。如果你什么都不做,后验就等于先验。
11.3 观点的表达方式
观点有两种常见形式:
- 绝对观点:某个节点波动率会到某个值。比如“1个月ATM波动率会降到22%”。
- 相对观点:两个节点之间的价差会变化。比如“3个月OTM比1个月ATM的波动率溢价会收窄3个点”。
我个人更常用相对观点,因为绝对观点太容易被打脸。你想想看,市场一个突发事件,波动率直接跳空,你的绝对观点就废了。但相对观点,比如“波动率曲线会更陡峭”或“偏斜会变平”,这种结构性的判断,往往更稳定。
避坑指南:我曾经在观点矩阵里放了一个“1个月ATM波动率=20%”的绝对观点,结果第二天市场出了个财报,波动率飙到30%。模型直接崩了,因为观点跟现实差太远,后验方差变得巨大。后来我学乖了——绝对观点一定要配合宽置信区间。
11.4 融合过程:代码实现
下面是一个简化版的Python实现,展示如何把观点融入波动率曲面:
import numpy as np
# 先验:波动率曲面节点
nodes = ['1M_ATM', '3M_OTM', '6M_ITM']
prior_mu = np.array([0.25, 0.28, 0.22]) # 先验均值
prior_cov = np.diag([0.005, 0.008, 0.006]) # 先验协方差
# 观点:3M_OTM比1M_ATM的波动率溢价收窄2个点
# 观点矩阵P:表示观点涉及的节点权重
P = np.array([[1, -1, 0]]) # 1M_ATM - 3M_OTM
Q = np.array([-0.02]) # 观点值:溢价收窄2个点
omega = np.array([[0.01]]) # 观点不确定性(方差)
# 后验计算
P_cov_Pt = P @ prior_cov @ P.T
K = prior_cov @ P.T @ np.linalg.inv(P_cov_Pt + omega)
posterior_mu = prior_mu + K @ (Q - P @ prior_mu)
posterior_cov = prior_cov - K @ P @ prior_cov
print("后验波动率:", posterior_mu)
print("后验协方差:\n", posterior_cov)
这段代码跑出来,你会发现后验波动率会向观点方向偏移,但偏移幅度取决于观点的不确定性。如果omega很小(观点很自信),偏移就大;如果omega很大(观点没信心),基本不动。
11.5 波动率曲面视角下的特殊处理
期权波动率曲面跟传统资产配置有个很大的不同——节点之间高度相关。你想想看,1个月ATM和3个月ATM的波动率,往往同涨同跌。所以先验协方差矩阵不能简单用对角阵,得用历史数据估计相关性。
我建议的做法是:
- 用过去60个交易日的波动率曲面数据,计算每个节点的历史波动率序列。
- 用这些序列估计协方差矩阵。
- 如果数据不够,可以用参数化模型(比如SVI的参数)来生成协方差。
注意:协方差矩阵的估计是个坑。节点太多(比如10个期限×10个行权价=100个节点),协方差矩阵就是100×100,需要5000个数据点才能稳定估计。我一般会先用PCA降维,只保留前3-5个主成分,然后再做Black-Litterman。
11.6 实战案例:偏斜交易观点
我记得有一次,我发现某个股票的波动率偏斜过于陡峭——OTM put的波动率比ATM高了8个点,但历史均值只有4个点。我的观点是:偏斜会回归均值,即OTM put相对ATM的溢价收窄4个点。
具体操作:
- 先验:当前曲面,OTM put波动率32%,ATM波动率24%。
- 观点:OTM put - ATM = 4%(即溢价收窄到4%)。
- 置信度:中等,给个30%的权重(omega设为先验方差的3倍)。
融合后,后验曲面显示OTM put波动率降到29%,ATM波动率微调到25%。这个后验曲面,就是我用来构建期权组合的“新基准”。
核心要点:Black-Litterman不是让你直接交易观点,而是让你在保留市场结构的前提下,温和地加入自己的判断。这样组合不会太极端,回撤也小。
11.7 知识体系图
下面这张图,把整个流程串起来了:
这张图把Black-Litterman融入波动率曲面的核心逻辑讲清楚了。先验和观点就像两个信息来源,贝叶斯融合就是那个“和事佬”,根据各自的置信度来分配权重。最后输出的后验曲面,既保留了市场的主要结构,又体现了你的独特见解。
我的习惯:每次做Black-Litterman之前,我都会先画一张这样的流程图。不是为了给别人看,而是为了理清自己的思路——哪些节点是市场共识很强的,哪些节点是我有把握的。这样融合出来的曲面,心里才有底。
公众号:蓝海资料掘金营,微信deep3321