第十四章:波动率套利策略:跨式组合、宽跨式组合的曲面优化
做期权交易的朋友,应该都听过这么一句话:“波动率是期权交易的核心”。我个人做了这么多年量化,越来越觉得这话一点不假。尤其是当我们把目光从单一行权价、单一到期日,扩展到整个波动率曲面时,你会发现——套利机会其实就藏在曲面的“褶皱”里。
今天这一章,咱们就聊聊怎么利用波动率曲面,去优化最经典的两种波动率策略:跨式组合(Straddle)和宽跨式组合(Strangle)。
14.1 跨式组合与宽跨式组合:基础回顾
先简单过一下概念。跨式组合,就是同时买入(或卖出)同一标的、同一到期日、同一行权价的看涨和看跌期权。说白了,就是赌市场会大动,但方向不确定。
宽跨式组合呢?它也是同时买入看涨和看跌,但行权价不同——看涨的行权价更高,看跌的行权价更低。这样做的优点是权利金成本更低,但需要更大的波动才能盈利。
嗯,这些基础大家都知道。但问题来了:行权价怎么选?到期日怎么配? 很多人凭感觉选平值,或者随便挑个虚值。这其实很浪费。
核心观点: 跨式/宽跨式组合的盈利,本质上是在赌“隐含波动率被低估”。而波动率曲面,就是告诉你哪里被低估、哪里被高估的地图。
14.2 曲面优化:从“拍脑袋”到“数据驱动”
我记得刚入行那会儿,做跨式组合基本靠“经验”。看到某个事件要来了,比如财报、美联储议息,就买个平值跨式。结果呢?有时候赚,有时候亏,完全看运气。
后来我开始系统性地分析波动率曲面,才发现问题所在:不同行权价、不同到期日的隐含波动率,其实反映了市场对尾部风险的不同定价。
举个例子。假设当前标的价格是100元,平值跨式的隐含波动率是25%。但你看曲面,虚值看跌(比如90元行权价)的隐含波动率是35%,虚值看涨(110元行权价)是28%。这说明什么?市场在给“大跌”定价更高。
这时候,如果你还买平值跨式,其实是在为“温和波动”支付溢价。而真正能赚钱的,往往是那些曲面“扭曲”最严重的地方。
14.3 曲面优化的三个核心维度
我个人习惯把曲面优化拆成三个维度来思考:
- 行权价维度(Skew 优化):利用波动率偏斜,选择被相对低估的行权价。
- 到期日维度(Term Structure 优化):利用期限结构,选择被相对低估的到期日。
- 组合权重优化:在跨式和宽跨式之间,甚至不同行权价之间,分配资金。
咱们一个一个来看。
14.3.1 行权价维度:Skew 套利
波动率偏斜(Skew)是曲面最常见的特征。在大多数股票市场,虚值看跌的波动率通常高于虚值看涨。这叫“负偏斜”。
那怎么利用它呢?我分享一个我在项目中用过的思路:
- 如果曲面显示虚值看跌的波动率“异常高”(相对历史均值),那买入虚值看跌 + 卖出平值看涨,构建一个“倾斜的宽跨式”。
- 如果虚值看涨的波动率被高估(比如某些事件驱动后),那就反过来。
说白了,你不是在赌方向,而是在赌“波动率偏斜会回归均值”。
避坑指南: 我曾经在2020年3月市场暴跌时,看到虚值看跌的波动率飙到80%,觉得“太贵了”就卖了一些。结果呢?波动率继续涨到120%。嗯,那次教训告诉我:极端行情下,偏斜可以持续很久,不要轻易逆势。
14.3.2 到期日维度:期限结构优化
另一个容易被忽视的点是期限结构。不同到期日的隐含波动率,往往呈现“近高远低”或“近低远高”的形态。
举个例子。如果近月波动率是30%,远月是25%,说明市场预期短期会有大波动(比如财报),但长期会回归平静。这时候,买近月跨式、卖远月跨式,就是一个经典的“波动率期限套利”。
但要注意:近月的时间衰减(Theta)更快。 如果你买近月跨式,时间是你的敌人。所以,我一般会搭配一些远月期权来对冲时间价值损耗。
| 策略类型 | 适用场景 | 曲面特征 | 风险点 |
|---|---|---|---|
| 近月跨式 | 事件驱动(财报、数据发布) | 近月波动率明显高于远月 | 时间衰减快,需精确择时 |
| 远月宽跨式 | 长期波动率被低估 | 远月波动率低于历史均值 | 占用资金时间长,机会成本高 |
| 日历价差组合 | 期限结构扭曲 | 近远月波动率差过大 | 需要动态调整,Gamma风险 |
14.3.3 组合权重优化:让曲面为你服务
最后一步,也是最关键的一步:如何分配资金到不同的行权价和到期日?
我常用的方法是:基于曲面曲率(Curvature)来分配权重。
具体来说,我会计算每个行权价处的“波动率曲率”——也就是二阶导数。曲率越大,说明该行权价附近的波动率变化越剧烈,套利空间可能越大。
然后,我把资金分配到曲率最大的几个行权价上,构建一个“加权宽跨式组合”。
实战案例: 有一次,我在某科技股财报前分析曲面,发现虚值看涨(行权价+5%)的曲率异常大,而虚值看跌的曲率很小。于是我构建了一个“偏看涨的宽跨式”:买入1手虚值看涨 + 买入0.5手虚值看跌。结果财报超预期,股价大涨,虚值看涨的波动率飙升,盈利远超普通跨式。
14.4 曲面优化的量化实现
说了这么多理论,咱们来点实际的。下面是一个简单的Python代码框架,用于从曲面数据中筛选最优的跨式/宽跨式组合。
import numpy as np
import pandas as pd
# 假设我们有一个曲面数据框:行权价、到期日、隐含波动率
surface = pd.DataFrame({
'strike': [90, 95, 100, 105, 110],
'iv_30d': [0.35, 0.30, 0.25, 0.28, 0.32],
'iv_60d': [0.30, 0.28, 0.26, 0.27, 0.29]
})
def find_optimal_strangle(surface, spot_price=100):
"""
基于曲面曲率,寻找最优宽跨式组合
"""
# 计算曲率(二阶差分)
surface['curvature_30d'] = np.gradient(np.gradient(surface['iv_30d']))
surface['curvature_60d'] = np.gradient(np.gradient(surface['iv_60d']))
# 找到曲率最大的行权价(虚值侧)
put_candidates = surface[surface['strike'] < spot_price]
call_candidates = surface[surface['strike'] > spot_price]
best_put = put_candidates.loc[put_candidates['curvature_30d'].idxmax()]
best_call = call_candidates.loc[call_candidates['curvature_30d'].idxmax()]
return best_put, best_call
best_put, best_call = find_optimal_strangle(surface)
print(f"最优虚值看跌行权价: {best_put['strike']}, IV: {best_put['iv_30d']:.2%}")
print(f"最优虚值看涨行权价: {best_call['strike']}, IV: {best_call['iv_30d']:.2%}")
这段代码很简单,但核心思想是:不要平均分配,要跟着曲面的“扭曲”走。
14.5 曲面优化的知识体系
为了让你更直观地理解整个优化流程,我画了一张流程图。它展示了从原始曲面数据到最终策略构建的完整链路。
你看,整个流程其实不复杂。关键就两步:读懂曲面,然后让策略去适应曲面,而不是让曲面适应策略。
14.6 实战中的几个坑
最后,我分享几个实战中踩过的坑,希望能帮你少走弯路。
坑一:忽略流动性。 我曾经在某个深度虚值期权上发现巨大的曲面扭曲,兴冲冲地建了仓。结果发现买卖价差巨大,一进去就亏了2%的滑点。所以,曲面优化一定要结合流动性过滤。
坑二:过度优化。 曲面数据本身就有噪声。如果你用太复杂的模型去拟合,很容易过拟合。我一般只用2-3个关键特征,比如偏斜斜率、曲率、期限结构斜率。
我的习惯: 每次建仓前,我都会问自己三个问题:
- 这个曲面扭曲是暂时的,还是结构性的?
- 我的策略能承受多大的波动率反向变动?
- 如果曲面在1天内恢复“正常”,我盈利还是亏损?
想清楚这三个问题,再动手不迟。
好了,关于跨式组合和宽跨式组合的曲面优化,今天就聊到这儿。记住一句话:曲面是你的朋友,但别把它当上帝。 它给你信号,但最终决策还得靠你的经验和风控。
公众号:蓝海资料掘金营,微信deep3321