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

Credit spread проти debit spread: одна угода?

Credit spread і debit spread з однаковими strike мають однакову виплату. Порівняйте payoff, математику паритету та три практичні відмінності.

Credit spread і debit spread, побудовані на тих самих двох strike з однаковою датою експірації та однаковим напрямом позиції, є однією й тією самою позицією. В одній стратегії інвестор отримує кошти на початку, а в іншій — сплачує їх. На дату експірації їхні графіки прибутку та збитку повністю збігаються. Практичні відмінності зводяться до короткого переліку, і форма виплати до нього не належить.

Що таке вертикальний spread у дебетовій і кредитній формі

Вертикальний spread — це два опціони одного типу на один і той самий базовий актив, з однаковою датою експірації, але з різними strike. Один опціон купують, інший продають. Різниця між strike визначає ширину spread, а ширина є максимальною вартістю цієї конструкції. (Дві дати експірації замість двох strike утворюють іншу конструкцію — calendar spread.)

Bull call spread передбачає купівлю call із нижчим strike і продаж call із вищим strike. Куплений call коштує дорожче за проданий, тому кошти списуються з рахунку: цей платіж є дебетом. Bull put spread передбачає продаж put із вищим strike і купівлю put із нижчим strike. Проданий put має вищу вартість, тому кошти надходять на рахунок: це надходження є кредитом. Обидві конструкції приносять прибуток, коли ціна акції зростає до вищого strike, і перестають зростати в ціні після його перевищення. Окремі складові цих конструкцій розглянуто в матеріалі купівля та продаж call-опціонів.

Паритет put-call пов’язує ціни двох опціонів

Паритет put-call — це арифметичне співвідношення, а не модель. За однакового strike та строку дії ціна call мінус ціна put дорівнює ціні акції мінус strike, дисконтованому від дати експірації. Паритет put-call працює завдяки тому, що арбітражний підрозділ підтримує це співвідношення. У таблиці нижче показано цю тотожність для одного ланцюжка опціонів AAPL, розрахованого за цінами закриття на Jun 12, 2026 для контрактів з експірацією Jul 17, 2026.

ЗапитПаритет call-put в одному ланцюжку AAPL: call мінус put проти акції мінус страйк
Точний SQL-код для кожного числа
SELECT
    concat('$', toString(toFloat64(strike_price)))                                AS strike,
    round(avgIf(toFloat64(option_close), lower(option_type) IN ('call', 'c')), 2)  AS call_price,
    round(avgIf(toFloat64(option_close), lower(option_type) IN ('put', 'p')), 2)   AS put_price,
    round(avgIf(toFloat64(option_close), lower(option_type) IN ('call', 'c'))
        - avgIf(toFloat64(option_close), lower(option_type) IN ('put', 'p')), 2)   AS call_minus_put,
    round(any(toFloat64(underlying_close)) - toFloat64(strike_price), 2)           AS stock_minus_strike,
    round(avgIf(toFloat64(option_close), lower(option_type) IN ('call', 'c'))
        - avgIf(toFloat64(option_close), lower(option_type) IN ('put', 'p'))
        - any(toFloat64(underlying_close)) + toFloat64(strike_price), 2)           AS parity_gap,
    formatDateTime(any(date), '%b %e, %Y')                                         AS snapshot,
    formatDateTime(any(expiration_date), '%b %e, %Y')                              AS expiry
FROM global_markets.options_greeks
WHERE underlying_symbol = 'AAPL'
  AND date = '2026-06-12'
  AND expiration_date = '2026-07-17'
  AND volume >= 50
  AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) < 0.04
GROUP BY strike_price
HAVING countIf(lower(option_type) IN ('call', 'c')) > 0
   AND countIf(lower(option_type) IN ('put', 'p')) > 0
ORDER BY strike_price
Run this yourself

Порівняйте стовпчик різниці між call і put зі стовпчиком різниці між ціною акції та strike. На strike $280 call закрився на 12.26 вище за put, тоді як різниця між ціною акції та strike становила 11.52. Це співвідношення повторюється для всіх 5 strike у таблиці. В останньому стовпчику показано залишкову різницю. Вона близька до нуля, але не дорівнює йому. Цей залишок відображає відсоткову вартість strike за період до експірації за вирахуванням дивідендів, що припадають на цей період. Box spreads дають змогу окремо оцінити цей залишок.

Чи мають bull call spread і bull put spread однакову виплату?

Застосуймо цю тотожність. Вартість bull call spread дорівнює вартості call-опціону з нижчим strike мінус вартість call-опціону з вищим strike. Замінимо кожен call його еквівалентом за put-call parity: put плюс акція мінус дисконтований strike. Компоненти, пов’язані з акцією, взаємно скорочуються. Залишається дисконтована ширина спреду мінус кредит за put spread. Одним реченням: сплачений дебет і отриманий кредит завжди разом дорівнюють ширині спреду.

Це твердження має конкретне числове значення. Ось це значення для кожного вертикального спреду шириною $5 у тому самому ланцюжку опціонів.

ЗапитКожен вертикальний спред шириною $5 в одному ланцюжку AAPL: сплачений дебет проти отриманого кредиту
Точний SQL-код для кожного числа
WITH chain AS
(
    SELECT
        toFloat64(strike_price)                                                  AS strike,
        any(toFloat64(underlying_close))                                         AS spot,
        avgIf(toFloat64(option_close), lower(option_type) IN ('call', 'c'))      AS call_px,
        avgIf(toFloat64(option_close), lower(option_type) IN ('put', 'p'))       AS put_px
    FROM global_markets.options_greeks
    WHERE underlying_symbol = 'AAPL'
      AND date = '2026-06-12'
      AND expiration_date = '2026-07-17'
      AND volume >= 50
      AND toFloat64(strike_price) = round(toFloat64(strike_price) / 5) * 5
      AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) < 0.10
    GROUP BY strike
    HAVING countIf(lower(option_type) IN ('call', 'c')) > 0
       AND countIf(lower(option_type) IN ('put', 'p')) > 0
)
SELECT
    concat('$', toString(lo.strike), ' / $', toString(hi.strike))                AS spread_strikes,
    round(lo.call_px - hi.call_px, 2)                                            AS call_debit,
    round(hi.put_px - lo.put_px, 2)                                              AS put_credit,
    round((lo.call_px - hi.call_px) + (hi.put_px - lo.put_px), 2)                AS debit_plus_credit
FROM chain AS lo
INNER JOIN chain AS hi ON hi.strike = lo.strike + 5
ORDER BY lo.strike
Run this yourself

Найнижчий рівень розташований глибоко в грошах, тобто strike перебуває далеко на прибутковому боці відносно ціни акції. Там $275 / $280 call spread коштував 3.7 від ширини $5, тоді як put spread із тими самими strike приніс 1.04. Разом вони дали 4.74. На найвищому рівні, $315 / $320, співвідношення змінюється на протилежне: 0.49 дебету проти 4.65 кредиту, разом — 5.14. На всіх 6 рівнях підсумок залишається на рівні ширини $5, якщо не враховувати кілька центів різниці між окремими цінами закриття.

Сітка виплат: обидві структури поруч

Ланцюжок — це твердження про ціни входу. Сітка виплат — те саме твердження на дату експірації. У цьому блоці береться пара страйків, найближчих до ціни акції того дня, і розраховується вартість обох структур у діапазоні цін на дату експірації, у доларах на акцію.

ЗапитПрибуток і збиток на момент експірації: дебетова конструкція проти кредитної конструкції
Точний SQL-код для кожного числа
WITH chain AS
(
    SELECT
        toFloat64(strike_price)                                                  AS strike,
        any(toFloat64(underlying_close))                                         AS spot,
        avgIf(toFloat64(option_close), lower(option_type) IN ('call', 'c'))      AS call_px,
        avgIf(toFloat64(option_close), lower(option_type) IN ('put', 'p'))       AS put_px
    FROM global_markets.options_greeks
    WHERE underlying_symbol = 'AAPL'
      AND date = '2026-06-12'
      AND expiration_date = '2026-07-17'
      AND volume >= 50
      AND toFloat64(strike_price) = round(toFloat64(strike_price) / 5) * 5
      AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) < 0.12
    GROUP BY strike
    HAVING countIf(lower(option_type) IN ('call', 'c')) > 0
       AND countIf(lower(option_type) IN ('put', 'p')) > 0
)
SELECT
    concat('$', toString(px.strike))                                             AS price_at_expiry,
    round(least(greatest(px.strike - lo.strike, 0.0), hi.strike - lo.strike)
        - (lo.call_px - hi.call_px), 2)                                          AS debit_structure_pl,
    round((hi.put_px - lo.put_px)
        - least(greatest(hi.strike - px.strike, 0.0), hi.strike - lo.strike), 2) AS credit_structure_pl,
    round(least(greatest(px.strike - lo.strike, 0.0), hi.strike - lo.strike)
        - (lo.call_px - hi.call_px)
        - (hi.put_px - lo.put_px)
        + least(greatest(hi.strike - px.strike, 0.0), hi.strike - lo.strike), 2) AS pl_gap
FROM chain AS px
INNER JOIN chain AS lo ON lo.strike = floor(px.spot / 5) * 5
INNER JOIN chain AS hi ON hi.strike = lo.strike + 5
ORDER BY px.strike
Run this yourself

За ціни $275, нижчої за обидва страйки, дебетова структура дає -2.6 на акцію, а кредитна — -2.09. За ціни $320, вищої за обидва страйки, показники становлять відповідно 2.4 і 2.91. На останню колонку варто звернути увагу: вона незмінна — -0.51 у нижній частині сітки та -0.51 у верхній. Постійна різниця не означає іншого профілю ризику. Це одна й та сама форма, показана двічі.

Максимальний збиток і максимальний прибуток у будь-якому з рядків визначаються шириною спреду, оскільки жодна структура не може коштувати більше, ніж відстань між страйками. Точка беззбитковості випливає з тієї самої арифметики: нижній страйк плюс дебет для call-структури та вищий страйк мінус кредит для put-структури. Оскільки дебет і кредит у сумі дорівнюють ширині спреду, ці дві ціни однакові.

Кредитний і дебетовий спред: у чому фактична різниця

На практиці відрізняються три речі, і діаграма виплат не належить до них.

Як вноситься забезпечення

Максимальний збиток у дебетовій версії дорівнює сплаченому дебету, і рахунок уже списав цю суму під час відкриття позиції. Додаткові кошти не блокуються. Максимальний збиток у кредитній версії дорівнює ширині спреду мінус отриманий кредит, і брокер утримує цю суму як вимогу до короткої ноги, доки позицію не буде закрито або вона не експірує. Сума в доларах однакова, але позначається по-різному. В одній виписці видно списання коштів, а в іншій — їх надходження зі зменшенням купівельної спроможності на більшу суму. Вертикальний спред із визначеним ризиком має зовсім інші умови, ніж непокритий короткий опціон. Це важливо розуміти, перш ніж порівнювати їх: див. маржинальні вимоги для продажу непокритих опціонів.

Дострокове призначення припадає на іншу ногу

В обох конструкціях один опціон є коротким, а опціони на акції США мають американський стиль і можуть виконуватися в будь-який робочий день. Відрізняється момент, коли коротка нога опиняється в грошах. У bull call spread короткою ногою є call із вищим strike. У прибутковому сценарії він опиняється в грошах, а короткі call-опціони найчастіше виконуються достроково в день перед ex-dividend date, коли запропонований дивіденд перевищує залишкову часову вартість call. Механіку цього процесу розглянуто в матеріалі Ex-dividend dates та опціони. У bull put spread короткою ногою є put із вищим strike. У збитковому сценарії він опиняється в грошах, а короткі put-опціони, які перебувають глибоко в грошах, достроково виконуються заради відсоткового доходу на суму, отриману від strike. Призначення не змінює визначеного максимального збитку, оскільки довга нога залишається в позиції. Воно змінює активи на рахунку, які залишаються через ніч. Це можуть бути акції та margin call. У матеріалі Американські та європейські опціони пояснюється, які саме контракти взагалі можуть виконуватися достроково.

Витрати на виконання, коли ланцюжок має низьку ліквідність

Паритет означає, що ці дві конструкції мають однакову вартість. Але він нічого не говорить про ціну виконання угоди. Обсяг торгів рідко є симетричним по всьому ланцюжку.

ЗапитРозподіл обсягу в одному ланцюжку AAPL: call-контракти проти put-контрактів за страйком
Точний SQL-код для кожного числа
SELECT
    concat('$', toString(toFloat64(strike_price)))                                   AS strike,
    sumIf(volume, lower(option_type) IN ('call', 'c'))                               AS call_volume,
    sumIf(volume, lower(option_type) IN ('put', 'p'))                                AS put_volume,
    round(100 * sumIf(volume, lower(option_type) IN ('put', 'p')) / sum(volume), 1)  AS put_volume_share_pct
FROM global_markets.options_greeks
WHERE underlying_symbol = 'AAPL'
  AND date = '2026-06-12'
  AND expiration_date = '2026-07-17'
  AND volume > 0
  AND toFloat64(strike_price) = round(toFloat64(strike_price) / 5) * 5
  AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) < 0.12
GROUP BY strike_price
ORDER BY strike_price
Run this yourself

На рівні $260, найнижчому з 14 наведених strike, put-опціони становили 99.5% укладених контрактів. На рівні $325, найвищому, частка put-опціонів становила 0%. На малоліквідному боці ланцюжка котирування мають ширший spread. Цей spread сплачується під час відкриття позиції та повторно під час її закриття. У матеріалі Скільки коштує торгівля опціонами наведено відповідні розрахунки, а ліквідні та волатильні опціони допомагає відрізнити малоліквідний ринок від швидкого ринку.

Чи сприяє висока implied volatility кредитній версії?

Поширена евристика така: продавайте премію, коли implied volatility висока, і купуйте її, коли implied volatility низька. За однакових strike це твердження описує вхідний параметр, а не структуру. Обидва verticals оцінюються на основі тієї самої volatility для тих самих двох strike, а наведена вище ladder показує результат. Продаж put spread за підвищеної implied volatility та купівля call spread на цих самих strike залишають у книзі одну позицію з однією точкою беззбитковості й одним максимальним збитком. Погляд на volatility як на вхідний параметр виражається через вибір strike і ширини spread, але результат в обох випадках однаковий. У матеріалі Чи є висока implied volatility сприятливою цей вхідний параметр розглянуто окремо.

Поширені запитання

Чи є credit spread безпечнішим за debit spread?

За однакових strike і дати експірації — ні. Максимальний збиток, максимальний прибуток і беззбиткова ціна однакові. У credit spread ризик відображається як маржинальна вимога під short leg, тоді як у debit spread той самий ризик відображається як уже сплачена сума.

Який із них вимагає менше капіталу?

Жоден, якщо strike однакові. Для debit spread інвестор сплачує debit, і додатково кошти не блокуються. Для credit spread інвестор отримує credit, але має зарезервувати ширину spread мінус credit. Ці суми однакові, оскільки debit і credit у сумі дорівнюють ширині spread.

Чи може за credit spread відбутися дострокове призначення?

Так. Short leg американського equity vertical може бути виконаний щодо рахунку в будь-який робочий день. Long leg залишається відкритим, тому визначений максимальний збиток зберігається, хоча на рахунку можуть залишитися акції на ніч.

Коли вибір між ними справді має значення?

Коли дві сторони option chain мають різну ліквідність, коли в період дії позиції припадає виплата дивідендів або коли вимоги брокера роблять один варіант дешевшим для утримання. Діаграма виплат ніколи не є визначальним фактором.


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

#options#vertical spread#credit spread#debit spread#break-even