Як насправді працює delta hedging
Як delta hedging працює на практиці: скільки акцій short options book змушений купувати й продавати на закритті та чому такі угоди коштують грошей.
Delta hedging — це спосіб, у який options desk зберігає нейтральність до напрямку руху: він утримує позицію в акціях такого розміру, щоб компенсувати delta опціону, а потім знову торгує цією позицією в міру руху базового активу. Позиція, що є short options, зрештою купує акції після зростання ціни й продає їх після падіння. Тоді прибуток і збиток desk залежать від того, який шлях пройшла акція, а не від того, на якому рівні вона завершила рух.
Що таке delta hedging?
Delta — це зміна ціни опціону на $1 руху базового активу. Для call-опціонів її значення наводять у діапазоні від 0 до 1, а для put-опціонів — від 0 до -1. Один US equity option охоплює 100 акцій, тому множення delta на 100 перетворює її на кількість акцій — еквівалентну позицію в акціях, якій відповідає контракт у цей момент. У нашому довіднику з delta опціону показано цю конвертацію.
Delta hedge встановлює протилежну позицію в акціях щодо цього показника. Якщо продати один call з delta 0.50, позиція матиме еквівалент 50 short shares; купівля 50 акцій її нейтралізує. Термін «hedged» тут має вузьке значення: нейтральність до невеликого руху саме в цей момент і за цієї ціни. Delta не є сталою величиною. Вона змінюється разом із ціною акції та зі спливанням строку дії контракту, тому позицію в акціях потрібно відповідно коригувати.
Чому hedge ніколи не залишається незмінним
Delta для різних strike утворює криву, а не ступінчасту лінію. На панелі нижче наведено середню delta call- і put-опціонів на SPY залежно від відстані strike від spot price. Розрахунок охоплює контракти, до завершення дії яких залишалося від 25 до 35 днів, за червень 2026 року.
Точний 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Якщо рухатися кривою зліва направо, проблема стає очевидною. Для call-опціонів зі strike на відстані -5% від spot price середня delta становила 0.839. За +5% у тому самому вікні експірації середній показник становив 0.099. Лінія put-опціонів є її дзеркальним відображенням: від -0.164 для нижчих strike до -0.864 для вищих. Коли акція рухається вздовж цієї кривої, hedger на кожній точці отримує іншу потребу в кількості акцій. Gamma — це показник крутизни кривої, тобто швидкості зміни самої delta.
Яким є розмір кожної вимушеної угоди?
Gamma визначає розмір кожного ребалансування. На панелі нижче її переведено в одиницю, якою фактично торгує desk. Для at-the-money контрактів на SPY показано, скільки акцій 100 таких контрактів змушують hedger купити або продати за руху базового активу на 1%. Дані згруповано за часом, що залишався до експірації контрактів.
Точний 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 hedge зміщувався приблизно на 3429 акцій за руху на 1%. Ті самі 100 контрактів за 46-90 days зміщували його приблизно на 587. Однакова кількість контрактів і той самий базовий актив, але кардинально різний обсяг вимушених угод. Короткострокові позиції ребалансуються різко й часто, тоді як довгострокові поступово відхиляються. У матеріалі Як змінюються греки з часом показано, як ця крутизна зростає до експірації.
П’ять закриттів і акції, що стоять за ними
Нижче показано всю механіку на вигаданій траєкторії. Ціни підібрано для простих розрахунків, а кожну delta наведено як задану величину, без моделювання. Desk продає 10 at-the-money call-опціонів на акцію за $100 за ціною $2.00 за акцію й отримує $2,000 премії (10 контрактів, по 100 акцій у кожному, за ціною $2.00 за акцію). Після кожного закриття він повертає позицію до нейтральної.
- Закриття 1: акція за $100.00, delta 0.50. Позиція має short 500 deltas, тому hedge купує 500 акцій. Позиція hedge: long 500 акцій.
- Закриття 2: акція за $103.00, delta 0.62. Цільова позиція — 620 акцій, тому hedge купує ще 120. 500 акцій, утримувані під час зростання, принесли $1,500.
- Закриття 3: акція за $99.00, delta 0.44. Цільова позиція зменшується до 440 акцій, тому hedge продає 180. 620 акцій, утримувані під час падіння, втратили $2,480, унаслідок чого hedge опинився на $980 нижче.
- Закриття 4: акція за $102.00, delta 0.58. Цільова позиція — 580 акцій, тому hedge купує 140. 440 акцій принесли $1,320, і hedge вийшов на $340 вище.
- Закриття 5: акція за $100.00, delta 0.48. Цільова позиція — 480 акцій, тому hedge продає 100. 580 акцій втратили $1,160, залишивши hedge на $820 нижче.
Акція завершила рух точно на тому самому рівні, з якого почала. Hedger купував за $103 і $102, продавав за $99 і $100, а за позицією в акціях має збиток $820 проти отриманої премії $2,000, тоді як опціон усе ще відкритий. Жоден крок не був помилкою: кожна угода на той момент була механічно правильною. Саме знаки результатів залишаються незмінними за будь-якої зміни чисел. Кожна купівля відбувалася після зростання на закритті, а кожен продаж — після падіння, і позиція short options не може змінити цю послідовність на протилежну. Якщо подвоїти кількість контрактів, gamma також подвоїться, тому подвоїться кожна угода в цьому списку й витрати за тієї самої траєкторії. У матеріалі Чому market makers втрачають гроші цей розрахунок продовжено для випадків, коли премії недостатньо, щоб покрити витрати.
Time decay — інша сторона розрахунку. За ці п’ять закриттів опціон також утратив частину часової вартості, і саме цей прибуток продавця є джерелом покриття збитків від hedging. Спокійна траєкторія залишає частину премії невикористаною. Зигзагоподібна траєкторія витрачає її, а достатньо різка траєкторія може витратити більше за всю отриману премію.
Важливий шлях, а не кінцева точка
Hedger торгує проти траєкторії, а не проти чистої зміни ціни. На панелі нижче наведено обидва показники для чотирьох відомих компаній за червень 2026 року. Довжина шляху — це сума всіх денних процентних рухів без урахування їхнього знака. Чистий рух — це проста відстань між першим і останнім закриттям.
Точний 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 hedger платить за перший.
За що насправді сплачується премія
Премія, яку отримує продавець, визначається з урахуванням implied volatility — руху, якого очікує ринок. Витрати на hedging залежать від realized volatility — руху, який фактично відбувається. На панелі нижче обидва показники наведено на одній шкалі для 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В останньому місяці на графіку at-the-money контракти на SPY зі строком до експірації від 20 до 45 днів мали середню implied volatility на рівні 14.8%, тоді як базовий актив показав realized volatility на рівні 12.1%. У місяці, коли лінія realized volatility розташована нижче за implied volatility, траєкторія коштувала hedger менше, ніж премія, що втрачала часову вартість. Якщо вона розташована вище, ситуація протилежна. Саме цей розрив, а не напрямок руху ринку, є ризиком, який несе delta-hedged позиція в опціонах. У матеріалі Як market makers заробляють гроші розглянуто дохід від захоплення spread, а експозиція до gamma підсумовує цей вимушений обсяг торгів на всьому ринку.
Як desks здійснюють hedging на практиці
Майже ніхто не ребалансує позицію після кожного закриття, і мало хто працює за фіксованим графіком. Безперервний hedging точніше відстежував би delta, але призводив би до втрати премії через комісії та перетин spread. Зазвичай застосовують діапазон: позицію не змінюють, поки net delta перебуває в межах допустимого відхилення, а потім повертають у напрямку нейтрального рівня, коли вона виходить за ці межі. Ширший діапазон означає менше угод і більше відхилення між ними. Desks також спочатку взаємозаліковують усю позицію, а вже потім укладають угоди. Тому short call з однією експірацією та long call з іншою можуть взаємно компенсуватися до здійснення будь-якої угоди в акціях. Delta портфеля з beta-weighting застосовує ту саму ідею взаємозаліку до різних базових активів.
FAQ
Що таке delta hedging простими словами?
Це утримання позиції в акціях, яка компенсує напрямлений ризик опціону. Delta, помножена на 100, дає еквівалентну кількість акцій для одного контракту, а hedger утримує протилежну позицію та коригує її в міру зміни delta.
Чи hedging market makers охоплює кожен проданий ними опціон?
Вони хеджують net exposure усієї позиції, а не кожен контракт окремо. Спочатку взаємно компенсуються протилежні позиції, і лише залишкова delta перетворюється на угоду з акціями.
Чому delta hedge втрачає гроші на акції з нестабільною динамікою?
Кожне ребалансування short option book передбачає купівлю після зростання та продаж після падіння. За кругового руху покупки відбуваються на вищих рівнях, ніж продажі, і ця різниця стає реалізованими витратами. Отримана наперед премія є джерелом їх покриття.
Як часто трейдери ребалансують delta hedge?
На практиці єдиного інтервалу не існує. Частіше ребалансування точніше відстежує delta, але збільшує витрати на spread і комісії. Тому багато desks встановлюють допустимий діапазон delta й торгують лише тоді, коли позиція виходить за його межі.
Чи є delta-hedged позиція безризиковою?
Ні. Вона нейтралізує невеликі рухи лише в конкретний момент. Гепи та різкі рухи, зміни implied volatility, дивіденди й витрати на фінансування залишаються чинниками ризику. Крім того, сам hedge створює реалізовані витрати в міру руху базового активу.
Як вимірювали ці панелі
Панелі з опціонами використовують денні greeks на контракт і включають лише контракти, за якими відбувалися угоди та для яких implied volatility розраховувалася коректно. «At the money» означає strike у межах 1% від ціни закриття базового активу за відповідний день у панелі обсягу вимушених угод і в межах 5% у кривій delta. Показник вимушеної торгівлі переводить gamma в кількість акцій: hedge одного контракту змінюється приблизно на gamma, помножену на ціну акції, за руху на 1%, а панель масштабує цей показник до 100 контрактів. Періоди червня 2026 року та попереднього року мають фіксовані дати, тому ці значення не змінюються під час наступних відвідувань. Приклад із п’ятьма закриттями є вигаданим, а кожну delta наведено як задану величину, а не виведено з pricing model.
Кожна панель містить точний SQL-запит, на основі якого її побудовано. Відкрийте панель, щоб побачити, як було пораховано показник, або поставте те саме запитання простою мовою в терміналі Strasmore.