Delta对冲到底如何运作
了解Delta对冲的实际运作方式:卖出期权组合为何在股价上涨后买入股票、下跌后卖出股票,以及这种来回交易为何会让对冲者亏损。
Delta对冲是期权交易台保持方向中性的方式:持有一定数量的股票,以抵消期权的Delta,然后随着标的价格变动重新交易这部分股票。卖出期权的组合会在股价上涨后买入股票,在股价下跌后卖出股票。交易台的损益取决于股价走过的路径,而不是最终收盘位置。
什么是Delta对冲?
Delta表示标的每变动1美元,期权价格随之变动的幅度。看涨期权的Delta范围为0至1,看跌期权为0至-1。一张美国股票期权对应100股股票,因此将Delta乘以100,就能换算成股票数量,也就是该合约在当前时点相当于多少股股票。我们的期权Delta指南详细介绍了这一换算。
Delta对冲会针对这个数量建立方向相反的股票头寸。卖出一张Delta为0.50的看涨期权后,组合相当于持有50股空头;买入50股即可将其对冲为中性。这里的“对冲”有严格含义:仅表示在当前价格、当前时点,对小幅价格变动保持中性。Delta并非固定不变。股价变动和合约剩余时间减少都会使Delta变化,因此股票头寸也必须随之调整。
为什么对冲头寸无法保持不变
不同执行价对应的Delta呈现一条曲线,而不是阶梯状变化。下图按执行价与现货价格的距离,对2026年6月、剩余期限为25至35天的SPY看涨期权和看跌期权Delta取平均值。
每个数字背后的完整 SQL
SELECT
concat(if(pct_from_spot >= 0, '+', ''), toString(pct_from_spot), '%') AS strike_vs_spot,
round(avgIf(delta, is_call), 3) AS call_delta,
round(avgIf(delta, is_put), 3) AS put_delta
FROM
(
SELECT
toInt16(round((toFloat64(strike_price) / toFloat64(underlying_close) - 1) * 100)) AS pct_from_spot,
lower(option_type) IN ('call', 'c') AS is_call,
lower(option_type) IN ('put', 'p') AS is_put,
delta
FROM global_markets.options_greeks
WHERE underlying_symbol = 'SPY'
AND iv_converged = 1
AND volume > 0
AND underlying_close > 0
AND days_to_expiry BETWEEN 25 AND 35
AND date >= '2026-06-01'
AND date < '2026-07-01'
AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) <= 0.05
)
GROUP BY pct_from_spot
HAVING countIf(is_call) > 0 AND countIf(is_put) > 0
ORDER BY pct_from_spot从左向右观察这条曲线,问题就很清楚了。执行价距离现货价格-5%的看涨期权,平均Delta为0.839。在+5%处,相同到期窗口的平均Delta为0.099。看跌期权曲线则呈镜像变化:低执行价为-0.164,高执行价为-0.864。股价沿这条曲线移动时,对冲者在每个点所需的股票数量都不同。Gamma表示这条曲线的陡峭程度,即Delta本身的变化速度。
每次被迫交易的规模有多大?
Gamma决定每次再平衡的规模。下图将其换算为交易台实际使用的单位。对于平值SPY合约,图中显示标的每变动1%时,100张合约会迫使对冲者交易多少股股票,并按合约剩余期限分组。
每个数字背后的完整 SQL
SELECT
multiIf(bucket = 1, '0-2 days',
bucket = 2, '3-7 days',
bucket = 3, '8-21 days',
bucket = 4, '22-45 days',
'46-90 days') AS expiry_window,
toUInt32(round(avg(shares_per_contract) * 100)) AS hedge_shares
FROM
(
SELECT
multiIf(days_to_expiry <= 2, 1,
days_to_expiry <= 7, 2,
days_to_expiry <= 21, 3,
days_to_expiry <= 45, 4,
5) AS bucket,
toFloat64(gamma) * toFloat64(underlying_close) AS shares_per_contract
FROM global_markets.options_greeks
WHERE underlying_symbol = 'SPY'
AND iv_converged = 1
AND volume > 0
AND underlying_close > 0
AND days_to_expiry BETWEEN 0 AND 90
AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) <= 0.01
AND date >= '2026-06-01'
AND date < '2026-07-01'
)
GROUP BY bucket
ORDER BY bucket剩余期限为0-2 days的合约,标的每变动1%会使对冲头寸调整约3429股。同样的100张合约,在46-90 days时会使头寸调整约587股。合约数量相同、标的相同,但被迫交易的规模可能大不相同。短期限组合需要频繁且大幅再平衡;长期限组合则变化较慢。希腊字母指标如何随时间变化介绍了这种曲线在到期前如何变陡。
五次收盘,以及对应的股票头寸
下面通过一条虚构的价格路径,完整说明这一机制。价格为便于计算而设定,每次Delta也直接给出,并非通过模型计算。交易台以每股2.00美元的价格卖出10张某只股价为100美元的平值看涨期权,收取2,000美元权利金(10张合约,每张100股,每股2.00美元)。交易台在每次收盘时都将对冲头寸调回中性。
- 第1次收盘,股价为100.00美元,Delta为0.50。组合为500个Delta的空头,因此对冲买入500股。对冲头寸:持有500股多头。
- 第2次收盘,股价为103.00美元,Delta为0.62。目标头寸为620股,因此对冲再买入120股。持有的500股经历这轮上涨,盈利1,500美元。
- 第3次收盘,股价为99.00美元,Delta为0.44。目标头寸降至440股,因此对冲卖出180股。持有的620股经历这轮下跌,亏损2,480美元,对冲头寸累计落后980美元。
- 第4次收盘,股价为102.00美元,Delta为0.58。目标头寸为580股,因此对冲买入140股。持有的440股盈利1,320美元,对冲头寸累计领先340美元。
- 第5次收盘,股价为100.00美元,Delta为0.48。目标头寸为480股,因此对冲卖出100股。持有的580股亏损1,160美元,对冲头寸最终落后820美元。
股票最终回到起点价格。对冲者在103美元和102美元买入,在99美元和100美元卖出。相对于收取的2,000美元权利金,在期权仍未到期的情况下,股票头寸亏损820美元。每一步都没有错误:每笔交易在当时都是机械上正确的操作。无论数字如何变化,交易方向都一样。每次买入都发生在上涨收盘之后,每次卖出都发生在下跌收盘之后;卖出期权的组合无法改变这一模式。合约数量翻倍,Gamma也随之翻倍,因此列表中的每笔交易以及同一路径下的交易成本都会翻倍。为什么做市商会亏损进一步说明权利金不足以覆盖这些成本的情形。
时间价值衰减是损益表的另一面。在这五次收盘之间,期权也损失了时间价值,而卖方获得的这部分收益正是用来抵消对冲亏损的。平稳的价格路径不会耗尽权利金。曲折的价格路径会消耗权利金;如果路径足够曲折,消耗的权利金会超过全部收入。
路径重要,终点不重要
对冲者交易的是价格路径,而不是净变动。下图统计了2026年6月四只知名股票的路径变动和净变动。路径长度是每日百分比变动绝对值之和。净变动则是首次收盘价与最后收盘价之间的实际距离。
每个数字背后的完整 SQL
SELECT
ticker,
round(path, 1) AS path_length_pct,
round(net, 1) AS net_move_pct,
round(path / greatest(net, 0.05), 1) AS path_to_net_ratio
FROM
(
SELECT
ticker,
arraySum(arrayMap((a, b) -> abs(a / b - 1) * 100,
arraySlice(px, 2),
arraySlice(px, 1, length(px) - 1))) AS path,
abs(px[-1] / px[1] - 1) * 100 AS net
FROM
(
SELECT
ticker,
arrayMap(t -> t.2, arraySort(t -> t.1, groupArray((session_date, session_close)))) AS px
FROM
(
SELECT
ticker,
date AS session_date,
toFloat64(max(close)) AS session_close
FROM global_markets.stocks_daily_aggs
WHERE ticker IN ('SPY', 'AAPL', 'MSFT', 'KO')
AND date >= '2026-06-01'
AND date < '2026-07-01'
GROUP BY ticker, date
)
GROUP BY ticker
)
)
ORDER BY path_to_net_ratio即使差距最小的股票MSFT,也经历了43.2%的日内累计变动,最终距离起点19%,其比率为2.3比1。图表另一端的SPY,实际走过的路径是自身净变动的11.4倍。方向性交易者的收益取决于第二个数字;Delta对冲者承担的是第一个数字带来的成本。
权利金实际支付的是什么
卖方收取的权利金根据隐含波动率定价,即市场预期的价格变动。对冲成本则取决于已实现波动率,即实际发生的价格变动。下图将两者放在同一坐标轴上,展示SPY在过去一年逐月的情况。
每个数字背后的完整 SQL
WITH
monthly_iv AS
(
SELECT
toStartOfMonth(date) AS m,
round(avg(implied_volatility) * 100, 1) AS implied_vol_pct
FROM global_markets.options_greeks
WHERE underlying_symbol = 'SPY'
AND iv_converged = 1
AND volume > 0
AND underlying_close > 0
AND days_to_expiry BETWEEN 20 AND 45
AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) < 0.05
AND date >= '2025-08-01'
AND date < '2026-08-01'
GROUP BY m
),
monthly_rv AS
(
SELECT
m,
round(arrayReduce('stddevPop', rets) * sqrt(252) * 100, 1) AS realized_vol_pct
FROM
(
SELECT
m,
arrayMap((a, b) -> log(a / b),
arraySlice(px, 2),
arraySlice(px, 1, length(px) - 1)) AS rets
FROM
(
SELECT
toStartOfMonth(session_date) AS m,
arrayMap(t -> t.2, arraySort(t -> t.1, groupArray((session_date, session_close)))) AS px
FROM
(
SELECT
date AS session_date,
toFloat64(max(close)) AS session_close
FROM global_markets.stocks_daily_aggs
WHERE ticker = 'SPY'
AND date >= '2025-08-01'
AND date < '2026-08-01'
GROUP BY date
)
GROUP BY m
)
WHERE length(rets) > 5
)
)
SELECT
toString(iv.m) AS month,
iv.implied_vol_pct AS implied_vol_pct,
rv.realized_vol_pct AS realized_vol_pct
FROM monthly_iv AS iv
INNER JOIN monthly_rv AS rv ON rv.m = iv.m
ORDER BY iv.m在图表的最后一个月,剩余到期时间为20至45天的平值SPY合约,平均隐含波动率为14.8%,而标的实际已实现波动率为12.1%。当已实现波动率低于隐含波动率时,说明价格路径带来的成本低于时间价值衰减产生的收益。反之,已实现波动率高于隐含波动率时,结果相反。这一差额,而非市场方向,是Delta对冲期权组合承担的风险敞口。做市商如何盈利介绍了与之并存的价差收益,Gamma敞口则汇总了整个市场中这种被迫交易的影响。
交易台在实践中如何对冲
几乎没有交易台会在每次收盘时都进行再平衡,也很少有交易台按固定时间表操作。持续对冲可以更紧密地跟踪Delta,但会因佣金和跨越买卖价差而消耗权利金。通常的做法是设置区间:当净Delta处于容忍范围内时不调整,超出范围后再将头寸调回接近中性。区间越宽,交易次数越少,但两次调整之间的偏离越大。交易台还会先对整个组合进行净额处理,再进行交易。因此,一个到期日的看涨期权空头和另一个到期日的看涨期权多头,可以先相互抵消,之后才决定是否需要交易股票。按Beta加权的组合Delta将同样的净额处理思路应用于不同标的。
常见问题
用简单的话说,什么是Delta对冲?
它是持有股票头寸,以抵消期权的方向性敞口。Delta乘以100,就是一张合约对应的股票数量;对冲者持有方向相反的头寸,并随着Delta变化不断调整。
做市商会对卖出的每一张期权进行对冲吗?
他们对冲的是整个组合的净敞口,而不是单独对冲每张合约。方向相反的头寸会先在组合内部抵消,剩余的Delta才会通过股票交易反映到标的上。
为什么Delta对冲会在震荡股上亏损?
对于卖出期权的组合,每次再平衡都发生在上涨后买入、下跌后卖出。价格往返后,买入价格高于卖出价格,这个差额就是已实现成本。最初收取的权利金就是用来支付这项成本的资金来源。
交易者多久对Delta对冲进行一次再平衡?
实际操作中没有统一的时间间隔。更频繁地再平衡可以更紧密地跟踪Delta,但会产生更多买卖价差和佣金成本。因此,许多交易台会设置Delta容忍区间,仅在头寸超出区间时交易。
Delta对冲头寸是否没有风险?
不是。它只是在某一时点对小幅价格变动保持中性。跳空和剧烈跳变、隐含波动率变化、股息以及融资成本仍然存在,对冲本身也会在标的价格移动过程中产生实际成本。
这些图表如何测算
期权图表读取每日每张合约的希腊字母指标,并筛选出有交易且隐含波动率能够稳定求解的合约。“平值”在交易规模图表中指执行价位于当日标的收盘价上下1%以内,在Delta曲线中指上下5%以内。被迫交易规模将Gamma换算为股票数量:标的每变动1%,一张合约的对冲头寸约变动Gamma乘以股价对应的股数,图表再将其放大至100张合约。2026年6月和过去一年的时间窗口采用固定日期,因此之后访问时这些数值不会变化。五次收盘的示例为虚构情景,每次Delta均直接给出,并非由定价模型推导。
本页每个图表都附有生成该图表的完整SQL。打开图表即可查看具体的统计方式,也可以在Strasmore终端用自然语言提出相同问题。