前两篇讲完了一阶Greeks和二阶Greeks的数学和直觉。这一篇只做一件事:用这些数字做交易决策。每个策略是什么Greeks profile、Delta对冲到底怎么操作、Gamma Scalping在什么条件下有正期望、做市商怎么用Greeks做风控。全部用数字和代码说话。
这是期权Greeks系列的最后一篇。
用Greeks拆解常见策略
期权策略千变万化,但用Greeks一分析,本质就四五种风险组合。下面用 S=100, K=100, T=0.25, σ=25%, r=5% 的标准参数拆解四个经典策略。
Covered Call:卖掉上行换Theta
持有 100 股标的 + 卖出 1 手 ATM Call。
| Greek | 标的 | 卖 Call | 组合净值 |
|---|---|---|---|
| Delta | +1.00 | -0.56 | +0.44 |
| Gamma | 0 | -0.031 | -0.031 |
| Theta | 0 | +0.034 | +0.034 |
| Vega | 0 | -0.197 | -0.197 |
本质:你拿到了每天 $0.034 的 Theta 收入,代价是放弃了标的超过行权价的上涨空间,同时暴露在负 Vega(IV 涨对你不利)和负 Gamma(标的大幅波动对你不利)。适合你判断标的短期横盘或小涨的情景。
Iron Condor:收割时间价值的区间博弈
卖 K=95 Put + 买 K=90 Put + 卖 K=105 Call + 买 K=110 Call。
Iron Condor 的 Greeks profile 很有特点:
- Delta ≈ 0:两侧对称,方向中性
- Gamma < 0:标的大幅波动是你的敌人
- Theta > 0:每天收 Theta,这是你的收入来源
- Vega < 0:IV 下降对你有利(卖出 IV premium)
Iron Condor 的交易者常说"只要标的不出区间就赚钱",这只说对了一半。即使标的没出区间,如果 IV 在你建仓后飙升 10 个点,负 Vega 可以让你在期权没有到期前就浮亏惨重。Greeks 的价值就在这里:它让你提前量化"IV 涨 10 点我亏多少"而不是等到发生了才反应。
Straddle:做多波动率
买入 ATM Call + 买入 ATM Put(同行权价同到期日)。
| Greek | 买 Call | 买 Put | 组合净值 |
|---|---|---|---|
| Delta | +0.56 | -0.44 | +0.12 |
| Gamma | +0.031 | +0.031 | +0.063 |
| Theta | -0.034 | -0.020 | -0.054 |
| Vega | +0.197 | +0.197 | +0.394 |
Straddle 本质上是在做多两样东西:实现波动率(通过正 Gamma)和隐含波动率(通过正 Vega)。你每天支付 $0.054 的 Theta,赌的是标的来一个大幅波动或 IV 上涨。
净 Delta 不是零(+0.12),因为利率效应。实操中很多交易者会稍微调整持仓比例或配合少量标的来做到近似 Delta neutral。
Bull Call Spread:有限风险的方向性博弈
买入 K=100 Call + 卖出 K=110 Call。
- Delta +0.30:方向性看涨,但不如裸 Call 那么激进
- Gamma 接近零:买的 Call 和卖的 Call 的 Gamma 大部分对冲掉了
- Theta 接近零:买 Theta 和卖 Theta 也对冲掉了
- Vega 接近零:同理
Spread 策略的特点就是用卖出的那一腿"资助"买入的那一腿,代价是封顶了盈利空间。对于 Greeks 极端不对称的 spread,比如卖近月买远月(Calendar Spread),各 Greek 的关系就复杂得多。

动态Delta对冲:从理论到实操
BSM 假设你可以连续不断地调整对冲,即无限频率、零交易成本。现实中每次对冲都有成本:佣金、买卖价差、市场冲击。这产生了一个核心权衡:对冲频率越高,Gamma暴露越小,但交易成本越高。
下面用 Python 模拟来直观展示这个权衡。我们用几何布朗运动(GBM)生成标的价格路径,然后比较不同对冲频率下的 P&L 分布。
import numpy as np
from scipy.stats import norm
def simulate_delta_hedge(S0, K, T, r, sigma, n_steps, n_paths=5000, cost_per_trade=0.01):
"""
模拟 Delta 对冲的 P&L 分布
S0: 初始标的价格
n_steps: 对冲次数(越大 = 对冲频率越高)
cost_per_trade: 每次对冲每股交易成本
"""
dt = T / n_steps
np.random.seed(42)
# 生成 GBM 路径
Z = np.random.randn(n_paths, n_steps)
S = np.zeros((n_paths, n_steps + 1))
S[:, 0] = S0
for i in range(n_steps):
S[:, i+1] = S[:, i] * np.exp((r - 0.5*sigma**2)*dt + sigma*np.sqrt(dt)*Z[:, i])
# 期权初始价格(卖出 Call 收到的权利金)
d1_0 = (np.log(S0/K) + (r + 0.5*sigma**2)*T) / (sigma*np.sqrt(T))
d2_0 = d1_0 - sigma*np.sqrt(T)
option_premium = S0 * norm.cdf(d1_0) - K * np.exp(-r*T) * norm.cdf(d2_0)
# 逐步 Delta 对冲
cash = option_premium * np.ones(n_paths) # 收到权利金
shares = np.zeros(n_paths) # 持有标的数量
total_cost = np.zeros(n_paths)
for i in range(n_steps):
t_remaining = T - i * dt
if t_remaining <= 0:
break
d1 = (np.log(S[:, i]/K) + (r + 0.5*sigma**2)*t_remaining) / (sigma*np.sqrt(t_remaining))
delta = norm.cdf(d1)
# 调整持仓
trade = delta - shares
cash -= trade * S[:, i] # 买股票花钱
total_cost += np.abs(trade) * cost_per_trade # 交易成本
shares = delta
# 到期结算
payoff = np.maximum(S[:, -1] - K, 0) # Call 到期支付
final_pnl = cash + shares * S[:, -1] - payoff - total_cost
# 按无风险利率贴现
final_pnl *= np.exp(-r * T)
return final_pnl
# 比较不同对冲频率
pnl_daily = simulate_delta_hedge(100, 100, 0.25, 0.05, 0.25, n_steps=63) # 每天
pnl_weekly = simulate_delta_hedge(100, 100, 0.25, 0.05, 0.25, n_steps=13) # 每周
pnl_monthly = simulate_delta_hedge(100, 100, 0.25, 0.05, 0.25, n_steps=3) # 每月
print(f"每日对冲: 均值={pnl_daily.mean():.3f}, 标准差={pnl_daily.std():.3f}")
print(f"每周对冲: 均值={pnl_weekly.mean():.3f}, 标准差={pnl_weekly.std():.3f}")
print(f"每月对冲: 均值={pnl_monthly.mean():.3f}, 标准差={pnl_monthly.std():.3f}")
关键结论:
- 每日对冲的 P&L 标准差最小(对冲最紧密),但均值因为交易成本会略低
- 每月对冲省了交易成本,但 P&L 标准差大幅增加,你承担了更多 Gamma 风险
- 最优对冲频率取决于 Gamma 大小、交易成本、和你对 P&L 波动的容忍度

做市商的实际做法通常不是按固定频率对冲,而是用 Delta 带宽:净 Delta 超过阈值才动。阈值怎么设?一个粗略的公式是 Whalley-Wilmott 带宽:
$$\Delta_{band} \approx \left(\frac{3}{2} \cdot \frac{\text{交易成本} \cdot \Gamma}{\lambda}\right)^{1/3}$$其中 \(\lambda\) 是风险厌恶参数。直觉是 Gamma 越大(Delta 变得快),带宽应该越窄(更频繁对冲);交易成本越高,带宽越宽(减少交易次数)。
Gamma Scalping:做多实现波动率
Gamma Scalping 是做市商和波动率交易者的核心技术之一。核心逻辑:
- 买入期权(Long Gamma, Long Vega)
- Delta 对冲到中性
- 标的每次大幅移动后重新对冲,每次对冲都"锁定"了 Gamma 带来的凸性收益
- 标的不动的日子,Theta 在吃你的账户
盈亏取决于一个核心比较:实现波动率(realized vol)vs 隐含波动率(implied vol)。
- realized vol > implied vol → Gamma 收益 > Theta 成本 → 赚钱
- realized vol < implied vol → Gamma 收益 < Theta 成本 → 亏钱
用一个 5 天的简化例子来演示(假设你持有 ATM Call,Gamma=0.03,每日 Theta=-$0.034×100=$3.4/手):
| 交易日 | 标的价格 | 变动 | Delta | 对冲操作 | Gamma收益 | Theta成本 | 累计P&L |
|---|---|---|---|---|---|---|---|
| Day 0 | 100.00 | — | 0.50 | 初始对冲: 卖50股 | — | — | 0 |
| Day 1 | 102.50 | +2.50 | 0.575 | 卖 7.5 股 | +$9.38 | -$3.40 | +$5.97 |
| Day 2 | 99.00 | -3.50 | 0.47 | 买 10.5 股 | +$18.38 | -$3.40 | +$20.95 |
| Day 3 | 99.50 | +0.50 | 0.485 | 卖 1.5 股 | +$0.38 | -$3.40 | +$17.93 |
| Day 4 | 103.00 | +3.50 | 0.59 | 卖 10.5 股 | +$18.38 | -$3.40 | +$32.90 |
| Day 5 | 100.50 | -2.50 | 0.51 | 买 8 股 | +$9.38 | -$3.40 | +$38.88 |
这个例子里标的波动较大(每天 2-3%),实现波动率高于 25% 的隐含波动率,所以 Gamma 收益覆盖了 Theta 成本。如果标的每天只动 0.5%,Gamma 收益就远不够覆盖 Theta,策略就亏钱。
Gamma 收益的估算公式:\(\text{Gamma P\&L} \approx \frac{1}{2} \Gamma (\Delta S)^2\)。每天的 Theta 成本是固定的,但 Gamma 收益和 \((\Delta S)^2\) 成正比,这就是为什么 Gamma Scalping 是"做多实现波动率"。

实操中有几个容易忽略的细节:
对冲时机:理论上标的每动一下就对冲,但现实中太频繁会被交易成本吃掉。很多 Gamma Scalper 设固定的 Delta 阈值或固定时间间隔(比如每天收盘前对冲一次)。
Gamma 不是常数:标的大幅移动后 Gamma 本身也变了(这是 Speed),你的下一次对冲量估算会有偏差。临到期时这个效应特别明显。
买入成本:你买期权的时候付的是 implied vol,收割的是 realized vol。如果 IV 在你持仓期间坍塌(IV Crush),即使 realized vol 等于 implied vol,你也可能亏钱,因为 Vega 损失叠加上来了。
Vega交易与IV套利
财报IV Crush策略
财报前 IV 通常被推高。假设某股票正常 IV 是 30%,财报前一周 IV 涨到 55%。财报公布后 IV 坍塌回 35%。
Short Straddle 收割 IV Crush:卖出 ATM Call + ATM Put。假设组合 Vega = -0.40。IV 从 55% 跌到 35%,光 Vega 这一项就赚 0.40 × 20 = $8.00。但标的也在动,如果财报后标的涨了 8%,Delta 损失可能把 Vega 收益吃掉大半。
所以财报交易不是"IV 一定会跌就卖 Straddle"那么简单。你需要比较:预期的 IV Crush 幅度 × Vega,vs 标的预期移动幅度 × Gamma 造成的亏损。市场隐含的"Expected Move"就是在定价这个平衡点。
Calendar Spread:玩近远月Vega差
买远月 Call + 卖近月 Call(同行权价)。近月期权 Vega 小,远月 Vega 大,组合净 Vega 为正。
这个策略赌的是 IV term structure 的变化。如果短期 IV 下降(近月 Theta 收益)而长期 IV 不变或上升(远月 Vega 收益),Calendar Spread 两头赚。风险在于如果 IV 整体大幅下降,远月那条腿的 Vega 亏损远大于近月那条腿的 Vega 收益,因为远月 Vega 更大。

Greeks风控:做市商视角
做市商不是一个一个头寸看 Greeks,而是把整本书(book)的 Greeks 聚合起来管理。
组合层面的Greeks聚合
假设你持有 200 个不同行权价和到期日的期权头寸。每个头寸都有自己的 Delta、Gamma、Theta、Vega。组合层面的 Greek 就是简单加总(Greeks 是线性的):
$$\Delta_{portfolio} = \sum_{i=1}^{n} w_i \cdot \Delta_i, \quad \Gamma_{portfolio} = \sum_{i=1}^{n} w_i \cdot \Gamma_i$$其中 \(w_i\) 是第 \(i\) 个头寸的合约数量(正 = 买入,负 = 卖出)。
Greek Limits
做市商会给每个 Greek 设上限:
| Greek | 典型限制 | 含义 |
|---|---|---|
| Net Delta | ±$500K 股当量 | 方向性暴露上限 |
| Net Gamma | ±$50K per 1% move | 标的大幅波动时的最大 P&L 冲击 |
| Net Vega | ±$100K per 1 vol point | IV 变动时的最大 P&L 冲击 |
| Net Theta | 监控但不硬限 | 日常 time decay 的收入/成本 |
超限了怎么办?交易员必须在限期内减仓或对冲到限额内。这就是为什么做市商有时候会以明显不划算的价格平仓,不是判断错了,是 Greek limit 到了。
Scenario Analysis
单一 Greek 不够用。真正的风险是多个变量同时变化。做市商用 Scenario Matrix(情景矩阵)来评估:
| 标的变化 \ IV变化 | IV -5% | IV 不变 | IV +5% | IV +10% | IV +20% |
|---|---|---|---|---|---|
| -10% | ? | ? | ? | ? | ? |
| -5% | ? | ? | ? | ? | ? |
| 不变 | ? | ? | 0 | ? | ? |
| +5% | ? | ? | ? | ? | ? |
| +10% | ? | ? | ? | ? | ? |
每个格子填的是"标的变动 X% + IV 变动 Y% 时,组合 P&L 是多少"。这个矩阵一眼就能看出最危险的情景。

2018 年 2 月的 VIX 暴涨事件是 scenario analysis 最好的反面教材。当时很多基金卖出 VIX 期货和期权(Short Gamma + Short Vega),日常收 Theta 过得很滋润。但他们的 scenario matrix 里"VIX 一天涨 100%“那个格子的 P&L 是灾难级的,问题是他们认为这个情景"不可能发生”。2 月 5 日 VIX 从 17 涨到 37,XIV(反向 VIX ETN)一夜归零。负 Gamma + 负 Vega 的组合在 vol spike 中是致命的:标的越动越亏(负 Gamma),波动率越涨越亏(负 Vega),两个方向同时打击。
教训很直接:scenario matrix 里那些你觉得"不可能"的角落,恰恰是定义风险的地方。做市商把这些极端情景的 P&L 控制在可承受范围内,不是因为他们预期会发生,而是因为一旦发生,你需要还活着。
系列总结
三篇文章覆盖了期权 Greeks 从理论到实战的完整链条:
- 第一篇:一阶 Greeks 的公式、直觉和代码,回答"标的动了 $1 我赚亏多少"
- 第二篇:二阶 Greeks 和波动率曲面,回答"我的对冲为什么隔夜就偏了"
- 第三篇(本文):实战应用,回答"怎么用这些数字做交易决策和风控"
- 工具篇:在线 Greeks 计算器,拖动参数实时看曲线变化
Greeks 不是学术装饰品。做市商每天早上开盘前看 Greeks,交易中实时监控 Greeks,收盘后复盘 Greeks。对于期权交易者来说,不看 Greeks 做交易,和不看仪表盘开车没区别。