Strasmore Research
Навчання Matt ConnorВід Matt Connor

Як насправді працює 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 року.

ЗапитСередня дельта call- і put-опціонів залежно від відстані страйку від споту (SPY, 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
Run this yourself

Якщо рухатися кривою зліва направо, проблема стає очевидною. Для 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%. Дані згруповано за часом, що залишався до експірації контрактів.

ЗапитКількість акцій, яку спричиняє рух на 1%, на кожні 100 ATM-контрактів SPY, залежно від часу до експірації (червень 2026)
Точний 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
Run this yourself

За строку до експірації від 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. Закриття 1: акція за $100.00, delta 0.50. Позиція має short 500 deltas, тому hedge купує 500 акцій. Позиція hedge: long 500 акцій.
  2. Закриття 2: акція за $103.00, delta 0.62. Цільова позиція — 620 акцій, тому hedge купує ще 120. 500 акцій, утримувані під час зростання, принесли $1,500.
  3. Закриття 3: акція за $99.00, delta 0.44. Цільова позиція зменшується до 440 акцій, тому hedge продає 180. 620 акцій, утримувані під час падіння, втратили $2,480, унаслідок чого hedge опинився на $980 нижче.
  4. Закриття 4: акція за $102.00, delta 0.58. Цільова позиція — 580 акцій, тому hedge купує 140. 440 акцій принесли $1,320, і hedge вийшов на $340 вище.
  5. Закриття 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 року. Довжина шляху — це сума всіх денних процентних рухів без урахування їхнього знака. Чистий рух — це проста відстань між першим і останнім закриттям.

ЗапитЗагальний денний рух проти чистого руху, червень 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
Run this yourself

Навіть назва з найменшим розривом, MSFT, охопила 43.2% денного руху, завершивши період на 19% від початкового рівня. Це відповідає співвідношенню 2.3 до 1. На іншому кінці панелі SPY пройшла відстань, що у 11.4 раза перевищує її власний чистий рух. Напрямлений трейдер отримує результат за другим показником. Delta hedger платить за перший.

За що насправді сплачується премія

Премія, яку отримує продавець, визначається з урахуванням implied volatility — руху, якого очікує ринок. Витрати на hedging залежать від realized volatility — руху, який фактично відбувається. На панелі нижче обидва показники наведено на одній шкалі для SPY у розрізі місяців за попередній рік.

ЗапитІмплайд-волатильність SPY ATM проти реалізованої волатильності, за місяцями
Точний 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
Run this yourself

В останньому місяці на графіку 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.