Strasmore Research
Apprendre Matt ConnorPar Matt Connor · Mis à jour le 2026-08-08

Credit spread ou debit spread : même position ?

Credit spread ou debit spread sur les mêmes strikes : payoff identique. Comparez la grille de gains, la parité et les trois différences pratiques.

Un credit spread et un debit spread construits sur les mêmes strikes, avec la même échéance et dans le même sens, correspondent à la même position. L’un génère une entrée de trésorerie au départ, tandis que l’autre nécessite une sortie de trésorerie. À l’échéance, leurs profils de gains et pertes se superposent. Les différences pratiques qui subsistent sont peu nombreuses. La forme du payoff n’en fait pas partie.

Qu’est-ce qu’un vertical spread, en débit et en crédit

Un vertical spread consiste en deux options de même type, sur le même sous-jacent et avec la même échéance, mais à deux strikes différents. L’une est achetée et l’autre vendue. L’écart entre les strikes correspond à la largeur du spread, qui représente aussi le montant maximal que la structure puisse jamais valoir. (Deux échéances au lieu de deux strikes donnent une autre structure : le calendar spread.)

Un bull call spread achète le call au strike le plus bas et vend le call au strike le plus élevé. Le call acheté coûte plus cher que le call vendu : des liquidités sortent donc du compte. Ce paiement constitue le débit. Un bull put spread vend le put au strike le plus élevé et achète le put au strike le plus bas. Le put vendu vaut davantage : des liquidités entrent donc sur le compte. Cette somme constitue le crédit. Les deux structures gagnent de la valeur lorsque l’action monte vers le strike le plus élevé, puis cessent de progresser au-delà. Les différentes jambes sont expliquées dans l’achat et la vente de call options.

La parité put-call relie les deux prix

La parité put-call relève de l’arithmétique, pas d’un modèle. Pour un même strike et une même échéance, le prix du call moins celui du put est égal au cours de l’action moins le strike, actualisé jusqu’à la date d’échéance. La parité put-call s’explique par le mécanisme qui permet à un desk d’arbitrage de maintenir cette relation. Le tableau ci-dessous présente cette identité sur une chaîne d’options AAPL, valorisée à la clôture le Jun 12, 2026, pour les contrats arrivant à échéance le Jul 17, 2026.

RequêteParité put-call sur une chaîne AAPL : call moins put contre action moins strike
Le SQL exact derrière chaque chiffre
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

Comparez la colonne « call moins put » avec la colonne « action moins strike ». Au strike $280, le call a clôturé 12.26 au-dessus du put, contre un écart action moins strike de 11.52. Cette relation se répète pour les 5 strikes du tableau. La dernière colonne contient le solde résiduel. Celui-ci reste proche de zéro sans être nul. Il correspond aux intérêts sur le strike jusqu’à l’échéance, déduction faite de tout dividende détaché pendant la période. Les box spreads valorisent directement ce résiduel.

Les bull call spreads et les bull put spreads ont-ils le même payoff ?

Mettez cette identité à profit. Le coût du bull call spread correspond au prix du call au strike inférieur moins celui du call au strike supérieur. Remplacez chaque call par son équivalent issu de la parité : un put plus l’action moins un strike actualisé. Les composantes liées à l’action s’annulent. Il reste la largeur actualisée du spread moins le crédit du put spread. En une phrase : le débit payé et le crédit encaissé totalisent toujours la largeur du spread.

Cette affirmation s’accompagne d’un chiffre. Voici donc le chiffre pour chaque vertical de $5 de largeur dans la même chaîne d’options.

RequêteChaque vertical de 5 $ sur une chaîne AAPL : débit payé contre crédit encaissé
Le SQL exact derrière chaque chiffre
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

Le premier échelon est profondément dans la monnaie : le strike se situe nettement du côté favorable par rapport au cours de l’action. Le call spread $275 / $280 y coûte 3.7 de la largeur de $5, tandis que le put spread portant sur les mêmes strikes a généré 1.04. Les deux totalisent 4.74. Sur le dernier échelon, $315 / $320, l’équilibre s’inverse : 0.49 de débit contre 4.65 de crédit, soit 5.14 au total. Sur l’ensemble des 6 échelons, le total reste égal à la largeur de $5, à quelques centimes près, selon l’écart entre deux cours de clôture.

La grille de payoff, les deux structures côte à côte

Le ladder décrit les prix d’entrée. La grille de payoff reprend cette même information à l’échéance. Ce panneau retient la paire de strikes la plus proche du cours de l’action ce jour-là et valorise les deux structures selon différents cours à l’échéance, en dollars par action.

RequêteProfit et perte à l’échéance : structure débitrice contre structure créditrice
Le SQL exact derrière chaque chiffre
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, sous les deux strikes, la structure débitrice affiche -2.6 par action, contre -2.09 pour la structure créditrice. À $320, au-dessus des deux strikes, elles affichent respectivement 2.4 et 2.91. La dernière colonne est celle à surveiller, et elle est constante : -0.51 en bas de la grille et -0.51 en haut. Un écart constant ne correspond pas à un profil de risque différent. Il s’agit d’une seule et même forme, représentée deux fois.

Le gain maximal comme la perte maximale s’ajoutent à la largeur sur chaque ligne, car aucune des deux structures ne peut valoir davantage que l’écart entre les strikes. Le break-even découle du même calcul : le strike inférieur augmenté du débit pour la version avec call, et le strike supérieur diminué du crédit pour la version avec put. Le débit et le crédit totalisant la largeur, ces deux prix n’en forment qu’un.

Credit spread et debit spread : ce qui les distingue réellement

En pratique, trois éléments diffèrent. Le diagramme de payoff n’en fait pas partie.

Comment le capital est immobilisé

La perte maximale de la version debit correspond au debit, déjà payé à l’ouverture de la position. Aucun montant supplémentaire n’est immobilisé. Pour la version credit, la perte maximale correspond à la largeur du spread diminuée du credit. Le broker conserve ce montant à titre de couverture de la jambe short jusqu’à la clôture ou l’expiration de la position. Les montants sont identiques, mais l’intitulé diffère. Dans un cas, le relevé fait apparaître une sortie de trésorerie. Dans l’autre, il montre une entrée de trésorerie, tandis que le buying power diminue d’un montant plus élevé. Un vertical à risque défini est traité de manière totalement différente d’une option short non couverte. Il est utile de le comprendre avant de comparer les deux stratégies : voir la marge requise pour vendre des options nues.

L’assignation anticipée touche une jambe différente

Les deux structures comportent une option short, et les options sur actions américaines sont de style américain : elles peuvent être exercées n’importe quel jour ouvré. La différence tient au moment où cette jambe short est in the money. Dans le bull call spread, il s’agit du call au strike le plus élevé. Il est in the money dans le scénario favorable. Les calls short font surtout l’objet d’un exercice anticipé la veille de la date ex-dividende, lorsque le dividende attendu dépasse la valeur temps restante du call. Dates ex-dividende et options explique ce mécanisme. Dans le bull put spread, la jambe short est le put au strike le plus élevé. Elle est in the money dans le scénario défavorable. Les puts short profondément in the money sont exercés avant l’échéance afin de bénéficier des intérêts sur le produit correspondant au strike. L’assignation ne modifie pas la perte maximale définie, puisque la jambe long reste en place. Elle modifie ce que le compte détient pendant la nuit : cela peut être une position en actions et un margin call. Options américaines et européennes précise quels contrats peuvent être exercés de cette manière.

Le coût d’exécution lorsque la chaîne est peu liquide

La parité indique que les deux structures ont la même valeur. Elle ne dit rien du prix auquel l’ordre est exécuté. Les volumes sont rarement équilibrés sur l’ensemble d’une chaîne.

RequêteRépartition du volume sur cette chaîne AAPL : contrats call contre contrats put, par strike
Le SQL exact derrière chaque chiffre
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, le plus bas des 14 strikes affichés, les puts représentaient 99.5% des contrats échangés. À $325, le plus élevé, la part des puts atteignait 0%. Le côté le moins liquide d’une chaîne présente un marché coté plus large. Cet écart est payé à l’entrée, puis de nouveau à la sortie. Le coût des transactions sur options met ces montants en évidence, tandis que options liquides et options volatiles distingue un marché peu liquide d’un marché rapide.

Une volatilité implicite élevée favorise-t-elle la version crédit ?

La règle empirique est connue : vendre de la prime lorsque la volatilité implicite est élevée, et l’acheter lorsqu’elle est faible. À strikes identiques, cette phrase décrit le paramètre d’entrée, jamais la structure. Les deux spreads verticaux sont valorisés à partir de la même volatilité, sur les deux mêmes strikes, et le tableau ci-dessus montre l’encaissement. Vendre le put spread à une volatilité implicite élevée et acheter le call spread sur ces strikes revient à ne conserver qu’une seule position en portefeuille, avec un seul seuil de rentabilité et une seule perte maximale. Une opinion sur le paramètre de volatilité s’exprime à travers le choix des strikes et de la largeur du spread, et produit le même résultat dans les deux cas. Une volatilité implicite élevée est-elle favorable ? examine le paramètre lui-même.

FAQ

Un spread de crédit est-il plus sûr qu’un spread de débit ?

Non, si les strikes et l’échéance sont identiques. Le pire scénario, le meilleur scénario et le seuil de rentabilité sont identiques. Dans la version crédit, le risque apparaît sous la forme d’une exigence de marge constituée en regard de la jambe short. Dans la version débit, ce même risque correspond aux liquidités déjà déboursées.

Lequel immobilise le moins de capital ?

Aucun des deux, lorsque les strikes sont identiques. La version débit coûte le montant du débit et n’immobilise rien de plus. La version crédit encaisse le crédit et immobilise la largeur du spread diminuée du crédit. Ces deux montants sont identiques, puisque le débit et le crédit s’additionnent pour atteindre la largeur du spread.

Un spread de crédit peut-il être assigné avant l’échéance ?

Oui. La jambe short d’un vertical sur actions américaines est de style américain et peut être exercée contre le compte n’importe quel jour ouvré. La jambe long reste en place. La perte maximale définie ne change donc pas, même si le compte peut se retrouver avec une position en actions pendant la nuit.

Quand le choix entre les deux devient-il réellement important ?

Lorsque les deux côtés de la chaîne ne sont pas aussi liquides l’un que l’autre, lorsqu’un dividende intervient pendant la période considérée ou lorsque l’exigence d’un broker rend l’une des deux versions moins coûteuse à conserver. Le diagramme de résultat n’est jamais le critère déterminant.


Chaque panneau est fourni avec la requête SQL qui l’a produit. Développez-en un pour voir comment le chiffre a été calculé. Exécutez les mêmes requêtes avec un autre ticker et une autre échéance sur le terminal Strasmore pour vérifier que cette identité se confirme également.

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