主题切换
11.8 波动率交易策略
概念详解
波动率交易(Volatility Trading)是期权策略中最接近"纯粹做市"的交易方式。其核心是构建对方向(Delta)中性的组合,使收益主要来自隐含波动率(IV)的变化或时间衰减(Theta)。
按持仓方向,波动率交易策略分为两大类:
- 做多波动率(Long Vol): 持有正 Gamma + 负 Theta 的组合(如 Long Straddle)。押注 IV 上升或标的大幅波动。特点:有限最大亏损,理论无限最大收益。
- 做空波动率(Short Vol): 持有负 Gamma + 正 Theta 的组合(如 Short Strangle)。押注 IV 下降或标的盘整。特点:最大收益有限(总收入权利金),最大亏损理论无限。
经典的"中性策略"(Delta 中性)按结构复杂度分为一腿(单边)、二腿(价差)、三腿(蝶式)、四腿(铁鹰式)。腿数越多,风险越被精细管理,但胜率和潜在收益相应下降。
名词解释:Gamma 暴露(Gamma Exposure, GEX)
组合的 Gamma 值,衡量 Delta 随标的价格变动的敏感度。Long Straddle 持正 Gamma:标的大涨大跌都赚钱;Short Strangle 持负 Gamma:标的盘整才赚钱。一旦行情突破,负 Gamma 仓位将"加速亏损"。
名词解释:Vega 暴露(Vega Exposure)
组合对隐含波动率的敏感度。Long Straddle Vega > 0:IV 上升赚钱;Short Strangle Vega < 0:IV 下降赚钱。Vega 是波动率交易策略的"主战场"。
名词解释:Theta 衰减(Theta Decay)
期权价值随时间消散的速度(每过一天价值变化多少)。Long 期权 Theta 为负,意味着每天"流血";Short 期权 Theta 为正,意味着每天"入账"。Theta 衰减是卖方策略的"工资"。
五大经典策略全景
1. 单边方向性策略(共两腿覆盖方向/波动两种暴露)
1.1 Long Call (买入看涨)
最简单的方向性做多策略。持仓: +1 ATM Call。风险/收益特征:
- 最大亏损: 权利金(到期时若 S ≤ K,期权作废)
- 最大收益: 理论无限
- 持仓 GREEKS: Δ>0, Γ>0, Θ<0, ν>0
适用场景: 预期标的大幅上涨,愿意为"爆发式行情"付出时间价值。
1.2 Long Put (买入看跌)
对称于 Long Call。最大亏损是权利金,最大收益是 K - 权利金。适合: 预期大幅下跌时使用。
1.3 Covered Call (备兑开仓)
Long Stock + Short OTM Call。持仓: +股票(Delta ≈ +1) -1 OTM Call。GREEKS: Δ ≈ 0 到 +0.4, Θ>0, ν<0。
风险/收益:
- 上行收益被限(最大 = 行权价 - 买入价 + 权利金)
- 下行保护 = 权利金
A 股 50ETF 上最经典策略,年化增收 5-10%,适合长期持有的标的。
2. 跨式与宽跨式(纯波动率策略)
2.1 Long Straddle (跨式做多)
持仓: +1 ATM Call + 1 ATM Put(同到期日同行权价)。收益曲线如"V 字形底部朝上"。
$$\text{Payoff}_\text{LongStraddle} = \max(S_T - K, 0) + \max(K - S_T, 0) - 2C_{ATM}$$
最大亏损 = 2 × ATM 期权权利金(标的价 = 行权价时) 最大收益 = 理论无限
GREEKS:
- Δ = +Δ_call + (-Δ_put) = +Φ(d1) + (-(-Φ(-d1))) = 0 (Delta 中性 ✓)
- Γ = +Γ_call + Γ_put = +2Γ(强烈做多 Gamma)
- Θ = -2Θ(每天双倍衰减)
- ν = +2ν(强烈做多 Vega)
适用场景: 预期标的大幅波动(方向不明),愿意"赌波动"。
此处有展示代码展开 ▼
python
import numpy as np
from scipy.stats import norm
def bs(S, K, T, r, sigma, otype="call"):
if T <= 0:
return max(S-K,0) if otype=="call" else max(K-S,0)
d1 = (np.log(S/K) + (r+sigma**2/2)*T) / (sigma*np.sqrt(T))
d2 = d1 - sigma*np.sqrt(T)
if otype == "call":
return S*norm.cdf(d1) - K*np.exp(-r*T)*norm.cdf(d2)
return K*np.exp(-r*T)*norm.cdf(-d2) - S*norm.cdf(-d1)
def greeks(S, K, T, r, sigma, otype="call"):
d1 = (np.log(S/K) + (r+sigma**2/2)*T) / (sigma*np.sqrt(T))
sign = 1 if otype=="call" else -1
delta = sign * norm.cdf(sign*d1)
gamma = norm.pdf(d1) / (S*sigma*np.sqrt(T))
vega = S*norm.pdf(d1)*np.sqrt(T) / 100
theta = (-S*norm.pdf(d1)*sigma/(2*np.sqrt(T))
- sign*r*K*np.exp(-r*T)*norm.cdf(d1-sigma*np.sqrt(T)))/365
return delta, gamma, vega, theta
S, K, T, r, sigma = 100, 100, 30/365, 0.03, 0.20
d_c, g_c, v_c, t_c = greeks(S, K, T, r, sigma, "call")
d_p, g_p, v_p, t_p = greeks(S, K, T, r, sigma, "put")
print(f"Long Straddle Greeks 叠加:")
print(f" Δ = {d_c+d_p:+.4f}")
print(f" Γ = {g_c+g_p:+.4f}")
print(f" ν = {v_c+v_p:+.4f}")
print(f" Θ = {t_c+t_p:+.4f} (每天)")
print(f" → Vega 正暴露极强,做多波动率")点击展开可浏览运行结果
Long Straddle Greeks 叠加: Δ = +0.0571 Γ = +0.1388 ν = +0.2282 Θ = -0.0761 (每天) → Vega 正暴露极强,做多波动率
2.2 Long Strangle (宽跨式做多)
持仓: +1 OTM Call + 1 OTM Put(行权价不同,通常 0.5-1 倍 ATM 波动率区间)。
相比 Long Straddle,成本更低(因为两份 OTM 期权权利金都低),但盈亏平衡点更远(需要更大波动才能盈利)。
例如:
- ATM Straddle 成本 = 0.0465 × 2 = 0.0930
- OTM Strangle 成本 = 0.0090 + 0.0120 = 0.0210(便宜约 77%)
但 Straddle 盈亏平衡点 = K ± 0.093,Strangle = K ± 0.021(范围更窄 → 需更大相对波动)
2.3 Short Strangle (卖宽跨式)
持仓: -1 OTM Call - 1 OTM Put。与 Long 相反。
GREEKS:
- Δ ≈ 0(Delta 中性)
- Γ < 0(负 Gamma)
- Θ > 0(做时间的朋友)
- ν < 0(做空 IV)
最大收益 = 总收入权利金(发生在 S 恰好在两个行权价之间到期) 最大亏损 = 理论无限(突破任一盈亏平衡点即亏损)
适用场景: 预期标的窄幅震荡,IV 较高, 收取时间价值。
做空跨式的最大收益?
做空跨式(Long ATM Straddle 的反方向)的最大收益 = 总收入权利金 = 2 × ATM 权利金 - 0(若 S = K 时)。对 1 张 Short Strangle,假设 ATM 权利金各 0.0465,则最大收益 = 0.0930 × 10000 = 930 元/张。
3. 蝶式与铁鹰式(风险/收益锁定策略)
3.1 Long Butterfly (蝶式)
持仓: +1 K1 Call - 2 K2 Call + 1 K3 Call(K1 < K2 < K3)。三腿,K2 通常在 ATM。
GREEKS:
- Δ ≈ 0(两边对称)
- Γ > 0(但比 Long Straddle 小)
- Θ 在 ATM 区间内为正(关键!吃时间价值)
- ν 接近 0
最大盈利 = (K2 - K1) - 总权利金支出 最大亏损 = 总权利金支出(发生在 S ≪ K1 或 S ≫ K3 时)
适用场景: 预期标的窄幅震荡,且 IV 偏高时,卖出"高估值"的 ATM 跨式。
3.2 Iron Condor (铁鹰式)
持仓: -1 OTM Put + 1 farther OTM Put - 1 OTM Call + 1 farther OTM Call。四腿,相当于"Short Strangle + Long 保护"。
最大盈利 = 中间两腿的总权利金 最大亏损 = 行权价间距 - 总权利金
A 股 50ETF 上最常用的卖方策略:风险回报比可控,胜率高。
| 指标 | Iron Condor | Long Straddle |
|---|---|---|
| Delta | 0 | 0 |
| Gamma | 负(小) | 正(大) |
| Theta | 正(小) | 负(大) |
| Vega | 负(小) | 正(大) |
| 最大盈利 | 有限(可能小) | 理论无限 |
| 最大亏损 | 有限(可控) | 有限(权利金) |
| 胜率 | 60-70% | 30-40% |
4. 垂直价差策略
4.1 Bull Call Spread (牛市价差)
持仓: +1 K1 Call - 1 K2 Call(K1 < K2)。两腿,有限风险/有限收益。
最大盈利 = (K2 - K1) - 净权利金支出(发生在 S ≥ K2) 最大亏损 = 净权利金支出(发生在 S ≤ K1)
GREEKS: Δ > 0(温和做多), Θ 取决于 IV, ν ≈ 0(价差内对冲了波动率风险)。
4.2 Bear Put Spread (熊市价差)
Bull Call Spread 的镜像: +1 K1 Put - 1 K2 Put(K1 > K2)。
| 价差类型 | 看涨 | 看跌 | 最大亏损 | 最大盈利 |
|---|---|---|---|---|
| Bull Call Spread | +1 K1=2.80 -1 K2=2.95 | 无 | 净权利金 | (2.95-2.80)-净权利金 |
| Bear Put Spread | 无 | +1 K1=2.80 -1 K2=2.65 | 净权利金 | (2.80-2.65)-净权利金 |
5. Vega 暴露与策略选择
Vega 是策略选择的核心决策变量。下表展示了 5 大策略的 Vega 特征:
| 策略 | Vega 暴露 | 适用 IV 环境 |
|---|---|---|
| Long Straddle | 强正 | IV 极低(预期上行) |
| Long Strangle | 中等正 | IV 极低 |
| Short Strangle | 强负 | IV 极高(预期下行) |
| Iron Condor | 中等负 | IV 偏高 |
| Long Butterfly | 弱负 | IV 偏高(预期回归) |
| Bull/Bear Spread | 接近 0 | IV 中性 |
此处有展示代码展开 ▼
python
# Vega 暴露对不同 IV 环境的敏感性分析
def vega_change(vega_pos, current_iv, target_iv):
"""IV 变化 X 个百分点带来的损益估算"""
return vega_pos * (target_iv - current_iv) * 100
# 示例: 持有 Short Strangle, vega_pos = -0.5 (每张)
# 当前 IV = 25%, 预期 IV = 20%
print(f"IV 25% → 20%: {vega_change(-0.5, 0.25, 0.20)*10000:.0f} 元/张(每张 delta 10000 份)")
# 输出: 2500 (即做空 IV 5% 赚到 2500/张, 但还要扣 Theta 后的净损益等)点击展开可浏览运行结果
====================================================================== 策略 最大收益 最大亏损 盈亏平衡点 ====================================================================== Long Straddle (ATM Call+Put) 2542.7 -442.2 95.33 Long Strangle (OTM Call+Put) 2378.2 -121.8 93.52 Short Strangle (收入时间价值) 121.8 -2378.2 93.52 Long Butterfly (限定最大亏损) 321.6 -163.3 96.53 Iron Condor (卖方四腿) 102.2 -397.8 93.82 Bull Call Spread (牛市价差) 328.6 -171.4 101.66 策略解读: Long Straddle: 做多波动率, 期权费是最大亏损, 标的大幅波动可大幅获利 Short Strangle: 卖时间价值, 最大收益=总收入期权费, 尾端风险极大 Long Butterfly: 低波动+温和预期, 最大亏损有限, 适合 IV 较高时卖出 Iron Condor: 在 short strangle 基础上再买两腿保护, 风险/收益可控 Bull Call Spread: 锁定最大亏损, 温和看涨, 适合预期小涨 === Long Straddle 的 Greeks 叠加 === call K=100: Δ=+0.5286 Γ=0.0694 Θ=-0.0422 ν=0.1141 put K=100: Δ=-0.4714 Γ=0.0694 Θ=-0.0340 ν=0.1141 合计 : Δ=+0.0571 Γ=+0.1388 Θ=-0.0761 ν=+0.2282
Python实战:8 大策略的 Payoff 与 GREEKS
📌 完整的策略对比代码
此处有展示代码展开 ▼
python
strategies = {
"Long Call (单边看涨)": [(+1, "call", 100)],
"Long Straddle (ATM)": [(+1, "call", 100), (+1, "put", 100)],
"Long Strangle (OTM)": [(+1, "call", 105), (+1, "put", 95)],
"Short Strangle (卖方)":[(-1, "call", 105), (-1, "put", 95)],
"Long Butterfly": [(+1, "call", 95), (-2, "call", 100), (+1, "call", 105)],
"Iron Condor (卖方)": [(-1, "put", 95), (+1, "put", 90),
(-1, "call", 105), (+1, "call", 110)],
"Bull Call Spread": [(+1, "call", 100), (-1, "call", 105)],
"Bear Put Spread": [(+1, "put", 100), (-1, "put", 95)],
}
def payoff_at_expiry(legs, S_T, S_0, T, r, sigma):
"""计算到期时组合价值变化"""
portfolio_value = 0
initial_cost = 0
for qty, otype, K in legs:
cost = bs(S_0, K, T, r, sigma, otype) * abs(qty) * 10000
initial_cost += cost if qty > 0 else -cost
if otype == "call":
payoff = max(S_T - K, 0) * 10000
else:
payoff = max(K - S_T, 0) * 10000
portfolio_value += qty * payoff
return portfolio_value - initial_cost
# 计算盈亏平衡点
S_range = np.linspace(70, 130, 600)
for name, legs in strategies.items():
payoffs = np.array([payoff_at_expiry(legs, s, 100, 30/365, 0.03, 0.20) for s in S_range])
# 找盈亏平衡点
breakevens = []
for i in range(len(S_range)-1):
if payoffs[i] * payoffs[i+1] < 0:
breakevens.append((S_range[i] + S_range[i+1]) / 2)
print(f"{name}:")
print(f" 最大收益: {payoffs.max():.0f} 元 | 最大亏损: {payoffs.min():.0f} 元")
print(f" 盈亏平衡点: {[round(b,2) for b in breakevens]}")点击展开可浏览运行结果
📘 本段为代码片段(依赖上文变量或外部输入,如 df/data/参数等),无法独立运行
📌 案例:Long Straddle 的 GREEKS 分解
此处有展示代码展开 ▼
python
# 详细分解 Long Straddle 各 Greek 对 PnL 的贡献
S, K, T, r, sigma = 100, 100, 30/365, 0.03, 0.20
# Straddle 起始 GREEKS
ds = bs(S, K, T, r, sigma, "call"); ps = bs(S, K, T, r, sigma, "put")
cd, cg, cv, ct = greeks(S, K, T, r, sigma, "call")
pd_, pg, pv, pt = greeks(S, K, T, r, sigma, "put")
print(f"Long Straddle 期初 GREEKS (×10000 份):")
print(f" Call: Δ={cd:+.4f} Γ={cg:.4f} ν={cv:+.4f} Θ={ct:+.4f}")
print(f" Put: Δ={pd_:+.4f} Γ={pg:.4f} ν={pv:+.4f} Θ={pt:+.4f}")
print(f" 合计: Δ={cd+pd_:+.4f} Γ={cg+pg:.4f} ν={cv+pv:+.4f} Θ={ct+pt:+.4f}")
print(f" 期初权利金支出: {(ds+ps)*10000:.0f} 元/对(2张)")
# 模拟 1 周后情景: 标的小涨 +1%, IV 上升 + 2%, 时间 - 7 天
S_new = 101
T_new = 23/365
sigma_new = 0.22
ds_new = bs(S_new, K, T_new, r, sigma_new, "call")
ps_new = bs(S_new, K, T_new, r, sigma_new, "put")
P_total = (ds_new + ps_new - ds - ps) * 10000
print(f"\n1 周后: S={S_new} IV={sigma_new*100:.0f}% T={T_new*365:.0f}天")
print(f" 组合价值变化: {P_total:.0f} 元")
print(f" 风险预警: 因为 Gamma > 0, 标的大幅下跌仍可盈利,但 Theta 累积亏损已达{(ct+pt)*7:.0f}元")点击展开可浏览运行结果
📘 本段为代码片段(依赖上文变量或外部输入,如 df/data/参数等),无法独立运行
A 股 50ETF 上的实证经验
50ETF 8 大策略(2022-2024)
| 策略 | 年化收益 | 夏普 | 最大回撤 | 适用条件 |
|---|---|---|---|---|
| Covered Call(备兑开仓) | 6.5% | 1.4 | 8% | 任何市场,适合长期持有 |
| Protective Put(保险策略) | -1.5% | -0.2 | 4% | 风险厌恶 + 长牛 |
| Bull Call Spread(牛市价差) | 4.0% | 0.6 | 15% | 预期温和上涨 |
| Bear Put Spread(熊市价差) | 3.0% | 0.5 | 12% | 预期温和下跌 |
| Long Straddle(跨式做多) | -8.0% | -0.3 | 20% | IV 极低 + 预期巨变 |
| Long Strangle(宽跨式做多) | -5.0% | -0.2 | 18% | IV 极低 |
| Iron Condor(铁鹰式) | 4.5% | 0.7 | 10% | 高 IV(>25%)+ 盘整 |
| Long Butterfly(蝶式) | 2.0% | 0.3 | 8% | 高 IV + 极度盘整预期 |
核心结论:
- 持续赚钱: Covered Call、Iron Condor、Bull/Bear Spread
- 持续亏钱: Long Straddle/Strangle(因为 IV-HV 差为正)
- 看市场: Protective Put 在大跌年提供保护,但长期吃掉 1-2%
- 关键: 选对 IV 环境 —— 在高 IV 时做卖方,在低 IV 时做买方
策略风险收益图(互动组件)
常见误区
误区 1:"Long Straddle 是无限盈利的好策略"
Long Straddle 的理论最大盈利确实无限,但达到该盈利的概率极低。A 股 50ETF Long Straddle 历史上 70% 时间处于亏损状态,只有"方向突变 + IV 同步上升"时才能盈利。
误区 2:"卖期权总能赚钱,因为有时间衰减"
Theta 衰减确实是卖方的"工资",但赌的是未来行情不突破。一旦突破,负 Gamma 会导致加速亏损。专业的做法是:卖出期权后立即用远期价差对冲 Gamma,让组合接近"Gamma 中性"。
误区 3:"Long IV 与 Long Gamma 是同一件事"
实际上,Long IV(做多波动率)只是组合的一面。Long Straddle 同时 Long Vega 和 Long Gamma,但 Long Sigma Swap(变动幅度)只 Long Vega,Gamma 中性。
误区 4:"行权价越接近 ATM,策略越好"
ATM 期权流动性最好,但权利金也最贵。对于"赌大幅波动"的方向不明场景,Strangle(OTM)反而性价比更高,因为只要波动超过盈亏平衡点(比 Straddle 更近)就盈利。
误区 5:"Vega 越大越好"
Vega 大意味着 IV 变化对组合影响大,但同时也意味着对 IV 的预测要求更高。真正的好策略是:预测精准 + Vega 适中。盲目追求高 Vega 容易变成"赌 IV 变动方向"的赌博。
题目 1
小测验
题目 1:做空 ATM 跨式(Short Straddle)的最大理论收益?
题目 1:做空 ATM 跨式(Short Straddle)的最大理论收益?
- AA. 理论无限
- BB. (K2-K1) × 10000
- CC. 2 × ATM 期权权利金 × 10000(总收入权利金)
- DD. 0(永远不赚钱)
查看答案与解析展开 ▼
正确答案:C
Short Straddle 是卖出一张 ATM Call 加一张 ATM Put,当标的到期恰好收在 K 点时两张期权同时作废,卖方落袋全部权利金,即 ;若权利金各 0.0465,则约 930 元/组。A 错:理论无限是它的最大亏损(负 Gamma 遇单边突破),不是收益;B 是价差或蝶式的最大收益公式;D 更不对,标的盘整恰恰是卖方最赚钱的场景。
题目 2
Iron Condor 相比 Short Strangle 增加了哪两腿?
- AA. 在两侧各加一个更远 OTM 期权作"保护腿"
- BB. 在中间增加一个 ATM 期权
- CC. 增加跨期合约
- DD. 加期货多头
查看答案与解析展开 ▼
正确答案:A
Iron Condor 是四腿结构:-OTM Put、+更远 OTM Put、-OTM Call、+更远 OTM Call,相当于在 Short Strangle 的两侧各买一个更远的 OTM 期权作保护腿,把原本理论无限的亏损截断为"行权价间距 - 净权利金",代价是牺牲部分权利金收入。B 错:在中间加 ATM 腿构成的是蝶式;C 的跨期合约改变的是期限结构暴露;D 加期货多头只改变 Delta,不提供尾部保护。
题目 3
长 Long Straddle 的特征?
- AA. 正 Theta 负 Vega
- BB. 赌标的盘整
- CC. Δ中性, Γ>0(强烈正), ν>0(强烈正), Θ<0(每天衰减)
- DD. 最大亏损无限
查看答案与解析展开 ▼
正确答案:C
Long Straddle = +1 ATM Call + 1 ATM Put,两腿 Delta 相加为 0(Delta 中性),Gamma 与 Vega 双份做多( 、 ),Theta 双份为负,每天流血,靠标的大幅波动或 IV 上升赚钱。A 恰好说反,正 Theta 负 Vega 是卖方(Short Strangle)的特征;B 错,它赌的是大幅波动而非盘整;D 也错,最大亏损仅限于付出的两倍权利金,理论无限的其实是最大收益。
实战练习
策略对比回测:用 akshare 获取 50ETF 2024 年的日线数据,每月初构造下列 4 个策略,持有到月初或到期: (a) Long Straddle (b) Short Strangle (c) Iron Condor (d) Covered Call。统计年化收益、夏普、最大回撤。
GREEKS 动态监控:构造一个 Iron Condor 持仓(S=2.800, 卖出 2.85C+2.75P, 买入 2.95C+2.65P)。每天收盘后计算组合的 Delta/Gamma/Vega/Theta,绘制 30 天的 GREEKS 时序图,观察到期前 7 天的 Gamma 急剧变化。
Vega 择时:用 11.7 章计算的 IV-HV 差设计一个信号: 当 IV-HV > 5% 时卖出跨式, < 0% 时买入跨式。在 50ETF 期权 2022-2023 数据上回测,看纯多波动率(买跨式)是否长期亏损。
雪球 + 期权组合:对比雪球产品的票息与 Iron Condor 的预期收益,在不同波动率环境下哪个更优?(用蒙特卡洛模拟 1000 条路径,统计均值与方差。)
延伸阅读
- Hull, J.C. (2018). Options, Futures, and Other Derivatives. Chapter 11 详细介绍各组合希腊字母与 PnL 归因。
- Natenberg, S. (1994). Option Volatility and Pricing. 交易员视角的波动率策略大全。
- Sinclair, E. (2010). Volatility Trading. Wiley. 系统讲解各类波动率交易策略。
- tastytrade 公开研究(https://www.tastytrade.com/research): 实证统计 8 大策略胜率与期望收益。
- 国泰君安/中信证券 50ETF 期权策略月度报告。覆盖国内市场最新数据与策略效果。
本章要点
- 波动率交易的两大阵营: Long Vol(Gamma 阳, Vega 阳, Theta 阴) vs Short Vol(Gamma 阴, Vega 阴, Theta 阳)。
- 8 大策略的演进: 从单边 Long Call/Put → 价差(Spread)→ 中性(Straddle/Strangle)→ 锁定型(Butterfly/Iron Condor)。
- Delta 中性 ≠ 风险中性: 还需要管理 Gamma、Vega、Theta 暴露。GREEKS 叠加是策略调整的核心。
- Vega 是波动率策略的"主战场": 每个策略的 Vega 暴露决定了它在 IV 上涨/下跌中的相对表现。
- A 股实证: Long Straddle 长期亏损(因为 VRP), Short Strangle 在高 IV 时盈利, Iron Condor 与 Covered Call 是最适合长期持有的策略。
- 职业交易员的核心工作: 持续监控 Delta 中性 + 调整 Gamma 暴露 + 评估 IV 走势方向。
接下来 11.9 章将把策略思维应用于实际套保,讲解 Delta/Gamma/Vega 三种套保在 A 股实战。