Strasmore Research
Навчання Matt ConnorВід Matt Connor · Оновлено 2026-08-08

Put-call parity: пояснення на реальних цифрах

Put-call parity пов’язує call, put, акцію та грошову позику. Розбираємо реальний option chain і визначаємо implied dividend та borrow rate.

Put-call parity — це фіксована арифметична залежність, яка пов’язує call-опціон, відповідний put-опціон, базову акцію та грошову позику в одну ціну. Для European options з однаковими strike та датою експірації ціна call мінус ціна put дорівнює дисконтованій різниці між forward price акції та цим strike. Якщо застосувати співвідношення до реального option chain, воно повертає ціну акції, яку припускають опціони. Вона рідко збігається з ціною на стрічці. Різниця між ними відображає дивіденд і ставку фінансування.

Що насправді стверджує put-call parity

У розгорнутому вигляді співвідношення має вигляд C - P = S - PV(K) - PV(D). C — ціна call, а P — ціна put з однаковими strike та датою експірації. S — поточна ціна акції. PV(K) — strike, дисконтований за ставкою фінансування, а PV(D) — поточна вартість дивідендів, які акція виплатить до експірації. Call-опціони дають право купити акцію за strike, а put-опціони — право продати її за цим strike.

За цією алгеброю стоїть конкретна конструкція. Купівля call і продаж put з одним strike у результаті дають володіння акцією за цим strike на дату експірації незалежно від руху ціни: якщо ціна вища за strike, інвестор виконує call; якщо нижча — йому призначають виконання put. Ця пара є синтетичною довгою позицією в акції, придбаною в кредит: інвестор сплачує за акцію на дату експірації, а не сьогодні, і не отримує проміжних дивідендів. Parity оцінює лише ці дві поправки.

Уявімо акцію за $100, однорічний call зі strike $100 і премією $9, відповідний put за $5 та відсутність дивідендів у цей період. Пара коштує $4. Якщо додати strike, опціони припускають ціну акції $104, тоді як на ринку вона котирується по $100. Ці $4 — це відсоток за відкладену на рік купівлю, тобто приблизно чотири відсотки. Цифри наведено лише для ілюстрації, щоб спростити арифметику.

Ціна акції, яку припускають опціони

Після перестановки членів співвідношення дає окрему ціну акції: ціна call мінус ціна put плюс strike. Якщо виконати цей розрахунок для кожного strike в межах однієї експірації, результати відрізнятимуться лише на кілька центів. Це синтетична ціна акції. Відстань між нею та ціною закриття на стрічці — це basis, або carry, синтетичної позиції. Відсотки до експірації підвищують basis. Дивіденди до експірації його знижують.

Що входить до розриву parity

Чотири складові, і лише чотири:

  • Відсотки до експірації. Сплата strike пізніше, а не зараз, є позикою на строк дії контракту, і пара враховує її вартість.
  • Дивіденди до експірації. Синтетична позиція не дає права на них, тому кожен дивіденд, за яким ex-dividend date настає до експірації контракту, зменшує цей розрив.
  • Вартість borrow. Сторона, яка займає протилежну позицію та продає акцію в short, сплачує комісію за stock loan. Ця комісія відображається в тому самому розриві.
  • Вартість дострокового виконання для American contracts, яка перетворює рівність на діапазон.

Те саме співвідношення для різних експірацій

Відсотки нараховуються щодня, а дивіденди виплачуються у визначені дати. Тому basis є кривою, а не одним числом. Option chain дає ще один спосіб побачити цю криву. Parity пов’язує call і put з одним strike з одним forward. Тому модель, яка використовує власні ставку та припущення щодо дивідендів option chain, повертає однакову implied volatility для обох частин пари. Розбіжність між ними означає розбіжність у припущеннях.

Панель зафіксована в минулому, тому цифри на цій сторінці не змінюються: щомісячні експірації AAPL з липня 2026 року до січня 2027 року, розраховані за сесією 16 червня 2026 року, зі strike, найближчим до ціни закриття для кожної експірації.

ЗапитІмплайд-волатильність колів і путів поблизу страйку ATM для місячних експірацій AAPL, 16 червня 2026 року
Точний SQL-код для кожного числа
SELECT
    expiry_date,
    days_out,
    concat('$', toString(argMin(strike, atm_gap)))                        AS atm_strike_used,
    round(100 * argMin(call_iv, atm_gap), 1)                              AS call_iv_pct,
    round(100 * argMin(put_iv, atm_gap), 1)                               AS put_iv_pct,
    round(100 * (argMin(call_iv, atm_gap) - argMin(put_iv, atm_gap)), 1)  AS iv_gap_pct
FROM
(
    SELECT
        expiry_date,
        days_out,
        strike,
        call_iv,
        put_iv,
        abs(strike / spot_close - 1) AS atm_gap
    FROM
    (
        SELECT
            toString(expiration_date)                                    AS expiry_date,
            max(dateDiff('day', toDate(date), toDate(expiration_date)))  AS days_out,
            round(toFloat64(strike_price), 2)                            AS strike,
            maxIf(toFloat64(implied_volatility), leg = 'C')              AS call_iv,
            maxIf(toFloat64(implied_volatility), leg = 'P')              AS put_iv,
            max(toFloat64(underlying_close))                             AS spot_close
        FROM
        (
            SELECT
                date,
                expiration_date,
                strike_price,
                implied_volatility,
                underlying_close,
                upper(substring(ticker, length(ticker) - 8, 1)) AS leg
            FROM global_markets.options_greeks
            WHERE underlying_symbol = 'AAPL'
              AND date = '2026-06-16'
              AND expiration_date BETWEEN '2026-07-01' AND '2027-01-31'
              AND toDayOfWeek(toDate(expiration_date)) = 5
              AND toDayOfMonth(toDate(expiration_date)) BETWEEN 15 AND 21
              AND iv_converged = 1
              AND volume > 0
              AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) < 0.03
        )
        GROUP BY expiry_date, strike
        HAVING countIf(leg = 'C') > 0
           AND countIf(leg = 'P') > 0
    )
)
GROUP BY expiry_date, days_out
ORDER BY expiry_date
Run this yourself

Станом на 2026-07-17, за 31 днів до експірації, за strike $300 call мав implied volatility 21.9 відсотка проти 20.5 відсотка для put. Розрив становив 1.4 пункту. Станом на 2027-01-15, за 213 днів до експірації, розрив становить 0.3 пунктів. Обидві частини пари рухаються разом протягом усього календаря.

Як визначити implied dividend або implied borrow rate

Щоб визначити implied dividend, візьміть дві експірації, між якими припадає ex-dividend date компанії, розрахуйте basis для кожної та відніміть одне значення від іншого. Додаткові відсотки за додаткові дні є невеликими, і їх можна розрахувати за поточною ставкою Treasury bill. Залишок — це грошова сума, яку option chain очікує побачити як дивіденд у цей період. Порівняйте її з оголошеним графіком на нашій сторінці ex-dividend dates та опціони, і припущення option chain щодо дивідендів стане очевидним.

Щоб визначити implied borrow rate, виконайте розрахунок у зворотному напрямку. Зафіксуйте дивіденд на оголошеному рівні, а фінансування — на ставці Treasury bill. Розрахуйте basis, який дають ці два параметри, і порівняйте його з basis, що котирується в option chain. Для акції, яку легко позичити, ці значення збігаються. Для акції, яку важко позичити, котируваний basis буде нижчим за розрахунковий. Річна різниця є комісією за borrow, яку враховують опціони.

Спочатку потрібно знати, які саме дві ціни зняти з екрана. Структуру котирувань описано в нашому довіднику з option chain.

Де American options порушують рівність

American options можна виконати в будь-який день до експірації. European options можна виконати лише на дату експірації, і put-call parity як строга рівність стосується саме цього випадку. Для American contracts співвідношення перетворюється на діапазон. Він ширший з того боку, де право на дострокове виконання має грошову вартість. Виконувати American call достроково має сенс лише безпосередньо перед дивідендом, який перевищує залишкову часову вартість опціону. Саме тому дострокове виконання call часто припадає на день перед ex-dividend date.

Та сама перевірка implied volatility застосовується до різних strike в межах однієї експірації. Саме там видно ширину цього діапазону.

ЗапитІмплайд-волатильність колів і путів на однакових страйках AAPL, експірація 18 вересня 2026 року
Точний SQL-код для кожного числа
SELECT
    strike,
    round(100 * call_iv, 1)             AS call_iv_pct,
    round(100 * put_iv, 1)              AS put_iv_pct,
    round(100 * (call_iv - put_iv), 1)  AS iv_gap_pct
FROM
(
    SELECT
        round(toFloat64(strike_price), 2)                AS strike,
        maxIf(toFloat64(implied_volatility), leg = 'C')  AS call_iv,
        maxIf(toFloat64(implied_volatility), leg = 'P')  AS put_iv
    FROM
    (
        SELECT
            strike_price,
            implied_volatility,
            upper(substring(ticker, length(ticker) - 8, 1)) AS leg
        FROM global_markets.options_greeks
        WHERE underlying_symbol = 'AAPL'
          AND date = '2026-06-16'
          AND expiration_date = '2026-09-18'
          AND iv_converged = 1
          AND volume > 0
          AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) < 0.15
          AND toUInt32(toFloat64(strike_price)) % 5 = 0
    )
    GROUP BY strike
    HAVING countIf(leg = 'C') > 0
       AND countIf(leg = 'P') > 0
)
ORDER BY strike
Run this yourself

Дві лінії проходять майже разом уздовж усієї шкали. За strike 255 call має implied volatility 30.5 відсотка, а put — 29.3 відсотка. Розрив становить 1.2 пунктів. Якщо на крайніх strike виникає розрив, можливими причинами є застарілий closing print з одного боку, низька ліквідність за цим strike, премія за дострокове виконання, яку модель не враховує, або припущення щодо дивідендів, що відрізняється від закладеного в option chain.

Conversions і reversals: потік, який підтримує співвідношення

Conversion — це довга позиція в акціях, короткий call і довгий put з одним strike. Reversal є дзеркальною конструкцією. Обидва пакети нейтральні до ціни акції на дату експірації. Залишаються лише умови фінансування та дивідендів. Market makers відкривають такі позиції, коли розбіжність стає достатньою для покриття їхніх витрат. Цей потік повертає котирування до лінії parity. Перевага належить trading desks із дешевим фінансуванням і доступом до stock loan. Ця сторінка не є посібником із торгівлі такими конструкціями.

Чим parity відрізняється від put/call ratio

Ці два показники часто плутають. Put-call parity — це арифметична цінова залежність між одним call і одним put з одним strike. Put/call ratio підраховує обсяг торгів або open interest по всьому option chain і використовується як індикатор настроїв. Parity показує, скільки має коштувати пара відносно акції. Ratio показує, що саме торгували учасники ринку.

Примітки щодо даних і методики

Це денні closing implied volatilities для контрактів AAPL станом на 16 червня 2026 року. Call і put зіставлено за кожним strike, а ціна базового активу взята з тієї самої сесії. До вибірки включено лише контракти з ненульовим обсягом за день і збіжною implied volatility. Для зручності читання використано шкалу strike з кроком у п’ять доларів. У панелі експірацій взято strike, найближчий до ціни закриття, для кожної щомісячної експірації. Літера call або put визначається дев’ятим символом з кінця символу контракту OCC. Опціони AAPL мають American style, тому кожне наведене тут значення містить премію за дострокове виконання, яку ринок оцінював того дня.

FAQ

Яка формула put-call parity?

Для European options з однаковими strike та датою експірації ціна call мінус ціна put дорівнює ціні акції мінус поточна вартість strike і мінус поточна вартість дивідендів, виплачених до експірації. Після перестановки членів: ціна call мінус ціна put плюс strike дає ціну акції, яку припускають опціони.

Чи діє put-call parity для American options?

Не як строга рівність. Права на дострокове виконання перетворюють її на діапазон навколо European relation.

Як розрахувати implied dividend за option chain?

Візьміть call і put з одним strike та датою експірації, розрахуйте ціну call мінус ціну put плюс strike і відніміть ціну акції. Цей розрив дорівнює відсоткам до експірації мінус очікувані дивіденди. Розрахуйте відсотки за ставкою Treasury bill за ту саму кількість днів. Залишок є дивідендом, який закладає option chain.

Чому call і put з одним strike мають однакову implied volatility?

Parity пов’язує ціни двох опціонів без volatility term у цьому співвідношенні. Тому модель, яка оцінює один опціон за заданими forward і ставкою дисконтування, оцінює інший із використанням тих самих параметрів.


Кожна панель на цій сторінці містить SQL-код під нею. Щоб побудувати таку саму шкалу для іншої назви або дальшої експірації, сформулюйте запит звичайною англійською мовою в терміналі Strasmore.