Skip to content

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)

适用场景: 预期标的大幅波动(方向不明),愿意"赌波动"。

PYTHON31 行 · 1.2 KB
📄此处有展示代码31 行 · 1.2 KB展开 ▼
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 CondorLong Straddle
Delta00
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接近 0IV 中性
PYTHON9 行 · 492 B
📄此处有展示代码9 行 · 492 B展开 ▼
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

📌 完整的策略对比代码

PYTHON41 行 · 1.6 KB
📄此处有展示代码41 行 · 1.6 KB展开 ▼
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 分解

PYTHON24 行 · 1.1 KB
📄此处有展示代码24 行 · 1.1 KB展开 ▼
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.48%任何市场,适合长期持有
Protective Put(保险策略)-1.5%-0.24%风险厌恶 + 长牛
Bull Call Spread(牛市价差)4.0%0.615%预期温和上涨
Bear Put Spread(熊市价差)3.0%0.512%预期温和下跌
Long Straddle(跨式做多)-8.0%-0.320%IV 极低 + 预期巨变
Long Strangle(宽跨式做多)-5.0%-0.218%IV 极低
Iron Condor(铁鹰式)4.5%0.710%高 IV(>25%)+ 盘整
Long Butterfly(蝶式)2.0%0.38%高 IV + 极度盘整预期

核心结论:

  1. 持续赚钱: Covered Call、Iron Condor、Bull/Bear Spread
  2. 持续亏钱: Long Straddle/Strangle(因为 IV-HV 差为正)
  3. 看市场: Protective Put 在大跌年提供保护,但长期吃掉 1-2%
  4. 关键: 选对 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)的最大理论收益?
  • AA. 理论无限
  • BB. (K2-K1) × 10000
  • CC. 2 × ATM 期权权利金 × 10000(总收入权利金)
  • DD. 0(永远不赚钱)
💡查看答案与解析展开 ▼
正确答案:C
Short Straddle 是卖出一张 ATM Call 加一张 ATM Put,当标的到期恰好收在 K 点时两张期权同时作废,卖方落袋全部权利金,即 2×CATM×10000;若权利金各 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 双份做多(Γ=2Γcallν=2νcall),Theta 双份为负,每天流血,靠标的大幅波动或 IV 上升赚钱。A 恰好说反,正 Theta 负 Vega 是卖方(Short Strangle)的特征;B 错,它赌的是大幅波动而非盘整;D 也错,最大亏损仅限于付出的两倍权利金,理论无限的其实是最大收益。

实战练习

  1. 策略对比回测:用 akshare 获取 50ETF 2024 年的日线数据,每月初构造下列 4 个策略,持有到月初或到期: (a) Long Straddle (b) Short Strangle (c) Iron Condor (d) Covered Call。统计年化收益、夏普、最大回撤。

  2. GREEKS 动态监控:构造一个 Iron Condor 持仓(S=2.800, 卖出 2.85C+2.75P, 买入 2.95C+2.65P)。每天收盘后计算组合的 Delta/Gamma/Vega/Theta,绘制 30 天的 GREEKS 时序图,观察到期前 7 天的 Gamma 急剧变化。

  3. Vega 择时:用 11.7 章计算的 IV-HV 差设计一个信号: 当 IV-HV > 5% 时卖出跨式, < 0% 时买入跨式。在 50ETF 期权 2022-2023 数据上回测,看纯多波动率(买跨式)是否长期亏损。

  4. 雪球 + 期权组合:对比雪球产品的票息与 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 股实战