Comment lire une chaîne d'options colonne par colonne
La chaîne d'options liste chaque strike et chaque échéance d'un seul sous-jacent. Explication du bid, ask, volume, implied volatility et delta colonne par colonne.
Une chaîne d'options (option chain) est le tableau qu'un courtier affiche pour un seul sous-jacent : chaque échéance cotée, chaque prix d'exercice, et une ligne de chiffres en direct pour le call et le put à chaque strike. Les lire consiste à savoir ce que mesure chaque colonne et comment les deux coordonnées — échéance et strike — situent un contrat précis dans la grille. Cette page parcourt une chaîne réelle colonne par colonne, en prenant pour exemple le tracker S&P 500 SPY au 15 juillet 2026.
Qu’est-ce qu’une chaîne d’options (option chain) ?
Chaque option cotée est définie par quatre éléments : le sous-jacent (symbole), la date d’expiration, le prix d’exercice et la nature de l’option, achat (call) ou vente (put). La chaîne d’options traduit cette définition en disposition visuelle. Un sélecteur en haut de l’écran permet de choisir l’expiration ; les prix d’exercice sont ensuite listés verticalement au centre de l’écran, les colonnes de calls occupant un côté, celles des puts l’autre. Une expiration sélectionnée correspond à une tranche horizontale du tableau : une ligne par prix d’exercice et un jeu de colonnes de cotation par côté.
Les colonnes décrivent ce contrat précis, non le titre sous-jacent. Un même sous-jacent peut comporter des dizaines d’expirations et des centaines de prix d’exercice ; la chaîne complète d’un titre très coté peut ainsi compter plusieurs milliers de lignes. Les courtiers n’en affichent qu’une partie par défaut et ouvrent la chaîne proche de la monnaie, la zone où le prix d’exercice est le plus proche du cours actuel de l’action.
Lecture d'une échéance, strike par strike
Voici un extrait réel : les options d'achat et de vente sur SPY arrivant à échéance le 21 août 2026, valorisées au cours de clôture du 15 juillet, à travers les strikes qui encadrent le cours de l'action.
| strike | cours du sous-jacent | dernier prix call | dernier prix put | delta call | delta put |
|---|---|---|---|---|---|
| 735 | 754.68 | 28.82 | 6.07 | 0.73 | -0.26 |
| 740 | 754.68 | 24.74 | 7.14 | 0.7 | -0.3 |
| 745 | 754.68 | 21.15 | 8.23 | 0.65 | -0.35 |
| 750 | 754.68 | 17.33 | 9.76 | 0.6 | -0.4 |
| 755 | 754.68 | 14.03 | 11.52 | 0.54 | -0.46 |
| 760 | 754.68 | 10.9 | 13.4 | 0.48 | -0.52 |
| 765 | 754.68 | 8.45 | 16.05 | 0.41 | -0.59 |
| 770 | 754.68 | 6.1 | 19.16 | 0.34 | -0.65 |
Le SQL exact derrière chaque chiffre
SELECT toString(toUInt32(strike_price)) AS strike,
round(any(underlying_close), 2) AS underlying_price,
round(maxIf(option_close, option_type = 'C'), 2) AS call_last,
round(maxIf(option_close, option_type = 'P'), 2) AS put_last,
round(maxIf(delta, option_type = 'C'), 2) AS call_delta,
round(minIf(delta, option_type = 'P'), 2) AS put_delta
FROM global_markets.options_greeks
WHERE underlying_symbol = 'SPY'
AND date = toDate('2026-07-15')
AND expiration_date = toDate('2026-08-21')
AND strike_price BETWEEN 735 AND 770
AND toUInt32(strike_price) % 5 = 0
AND iv_converged
GROUP BY strike_price
HAVING countIf(option_type = 'C') > 0 AND countIf(option_type = 'P') > 0
ORDER BY strike_priceDeux schémas apparaissent immédiatement. Les prix des calls baissent quand le strike monte, de $28.82 au strike $735 à $6.1 au strike $770 : le droit d'acheter à un prix plus bas vaut plus cher. Les prix des puts évoluent en sens inverse sur les mêmes huit lignes, de $6.07 à $19.16. Les deux échelles se croisent près du cours de l'action, à $754.68, et le strike où le call et le put se négocient le plus près l'un de l'autre marque le point médian (« money »).
Les colonnes de delta décrivent cette géométrie dans une autre unité. Le delta est la variation du prix d'une option pour une variation de $1 du sous-jacent ; il sert également d'indicateur grossier de la probabilité pour un contrat de finir dans la monnaie. Au strike $735, le call affiche 0.73 et le put affiche -0.26. Au strike $770, le call est descendu à 0.34. Un call et un put sur la même ligne portent toujours des deltas dont l'ampleur diffère d'environ un point : c'est une propriété de deux contrats couvrant les deux moitiés opposées de la même distribution. Les autres colonnes de sensibilité sont traitées dans les grecs des options expliqués.
Le bid, l'ask, et pourquoi ce ne sont pas un seul prix
Le chain (la chaîne d'options) affiche deux prix pour chaque contrat. Le bid est le prix le plus élevé qu'un acheteur soit actuellement prêt à payer. L'ask est le prix le plus bas qu'un vendeur accepte. L'écart entre les deux est le spread. Un ordre au marché pour acheter s'exécute au prix ask, et un ordre au marché pour vendre s'exécute au bid : le spread est donc un coût réel, payé à l'entrée puis à la sortie. Le dernier prix affiché par la chaîne peut être daté de plusieurs minutes et se situer n'importe où par rapport à la cotation en cours.
Les spreads ne sont pas uniformes sur l'ensemble d'une chaîne. Ci-dessous, le bid et l'ask médians cotés pour la même échéance sur sept strikes d'options d'achat, mesurés sur la séance régulière du 15 juillet 2026.
| strike | bid médian | ask médian | spread médian (cents) | quotes enregistrées |
|---|---|---|---|---|
| $740 call | 24.18 | 24.31 | 12 | 117845 |
| $750 call | 16.79 | 16.89 | 10 | 149331 |
| $760 call | 10.68 | 10.71 | 3 | 319658 |
| $770 call | 5.98 | 6.01 | 3 | 204723 |
| $780 call | 2.9 | 2.92 | 2 | 157120 |
| $800 call | 0.53 | 0.54 | 1 | 22658 |
| $820 call | 0.12 | 0.13 | 1 | 6902 |
Le SQL exact derrière chaque chiffre
SELECT concat('$', toString(toUInt32(toFloat64(toUInt32OrZero(substring(ticker, length(ticker) - 7, 8))) / 1000)), ' call') AS strike,
round(quantileDeterministic(0.5)(toFloat64(bid_price), toUInt64(sip_timestamp)), 2) AS median_bid,
round(quantileDeterministic(0.5)(toFloat64(ask_price), toUInt64(sip_timestamp)), 2) AS median_ask,
round(100 * quantileDeterministic(0.5)(toFloat64(ask_price - bid_price), toUInt64(sip_timestamp)), 1) AS median_spread_cents,
toUInt64(count()) AS quotes_recorded
FROM global_markets.cache_options_quotes
WHERE ticker IN ('O:SPY260821C00740000', 'O:SPY260821C00750000', 'O:SPY260821C00760000',
'O:SPY260821C00770000', 'O:SPY260821C00780000', 'O:SPY260821C00800000',
'O:SPY260821C00820000')
AND sip_timestamp >= '2026-07-15 13:30:00'
AND sip_timestamp < '2026-07-15 20:00:00'
AND bid_price > 0
AND ask_price > bid_price
GROUP BY ticker
ORDER BY toUInt32OrZero(substring(ticker, length(ticker) - 7, 8))Le strike très en argent (deep in-the-money) en tête de tableau affichait un spread médian de 12 cents pour un bid de $24.18. Le strike très hors de l'argent (far out-of-the-money) en pied de tableau affichait 1 cent pour un bid de $0.12. En valeur absolue, le contrat peu cher porte le spread le plus serré. Rapporté à son propre prix, il est nettement plus large, et c'est cette fraction qui correspond au coût réel d'un aller-retour. La mécanique de la cotation bid-ask est détaillée dans le spread bid-ask. Le même tableau montre l'autre axe le long duquel les spreads évoluent : les strikes actifs proches de l'at-the-money ont enregistré plus de cent mille mises à jour de cotation au cours de la séance, les strikes éloignés, quelques milliers.
Volume et open interest
Deux colonnes comptabilisent l'activité, et les lecteurs les confondent sans cesse. Le volume compte les contrats négociés pendant la séance en cours et se remet à zéro la nuit. L'open interest compte les contrats encore en cours à la fin de la séance précédente : il ne se met donc à jour qu'une fois par jour et décrit un positionnement accumulé, pas le flux du jour. Un strike peut afficher un volume élevé avec presque aucun open interest, lorsque les traders ouvrent et clôturent leur position dans la même séance.
| strike | volume calls | volume puts |
|---|---|---|
| 735 | 81 | 1087 |
| 740 | 233 | 4057 |
| 745 | 195 | 970 |
| 750 | 1077 | 9057 |
| 755 | 3450 | 2340 |
| 760 | 3769 | 472 |
| 765 | 2976 | 45 |
| 770 | 4547 | 109 |
Le SQL exact derrière chaque chiffre
SELECT toString(toUInt32(strike_price)) AS strike,
toUInt64(sumIf(volume, option_type = 'C')) AS call_volume,
toUInt64(sumIf(volume, option_type = 'P')) AS put_volume
FROM global_markets.options_greeks
WHERE underlying_symbol = 'SPY'
AND date = toDate('2026-07-15')
AND expiration_date = toDate('2026-08-21')
AND strike_price BETWEEN 735 AND 770
AND toUInt32(strike_price) % 5 = 0
AND iv_converged
GROUP BY strike_price
HAVING countIf(option_type = 'C') > 0 AND countIf(option_type = 'P') > 0
ORDER BY strike_priceLe volume se concentre sur certains strikes. Sur ces huit strikes, le côté calls va de 81 contrats sur le prix d'exercice le plus bas à 4547 sur le plus haut, tandis que le côté puts penche dans l'autre sens. Les chiffres ronds et les strikes proches du cours de l'action captent l'essentiel du flux : un strike éloigné de deux ou trois crans n'en représente qu'une petite fraction. Lorsqu'une ligne du carnet affiche un spread large, un volume très faible occupe généralement cette même ligne. Volume et open interest mesure l'ensemble du flux d'ordres sur ce point.
Volatilité implicite, strike par strike
La colonne de volatilité implicite convertit le prix d’un contrat en pourcentage annualisé : la valeur de volatilité qui ferait renvoyer un modèle de valorisation le prix coté. Il s’agit d’une reformulation du prix, et non d’une prévision. Des contrats portant sur le même sous-jacent et la même échéance présentent couramment des volatilités implicites différentes selon les strikes ; tracer la colonne en fonction du strike donne la forme connue sous le nom de smile, ou skew.
| strike | vol implicite (%) | strike vs spot (%) |
|---|---|---|
| 640 | 23.6 | -15.2 |
| 660 | 25.8 | -12.5 |
| 680 | 22.5 | -9.9 |
| 700 | 19.3 | -7.2 |
| 720 | 17.4 | -4.6 |
| 740 | 15 | -1.9 |
| 760 | 12.6 | 0.7 |
| 780 | 12.5 | 3.4 |
| 800 | 10.2 | 6 |
| 820 | 11.2 | 8.7 |
| 840 | 12.8 | 11.3 |
Le SQL exact derrière chaque chiffre
SELECT toString(toUInt32(strike_price)) AS strike,
round(100 * avg(implied_volatility), 1) AS implied_vol_pct,
round(100 * (strike_price / any(underlying_close) - 1), 1) AS strike_vs_spot_pct
FROM global_markets.options_greeks
WHERE underlying_symbol = 'SPY'
AND date = toDate('2026-07-15')
AND expiration_date = toDate('2026-08-21')
AND strike_price BETWEEN 640 AND 840
AND toUInt32(strike_price) % 20 = 0
AND iv_converged
AND implied_volatility BETWEEN 0.02 AND 3
GROUP BY strike_price
ORDER BY strike_priceLa courbe n’est pas plate. Le strike le plus bas du panier se situe -15.2% du cours de l’action et est coté à 23.6%, le milieu de la fourchette est nettement plus bas, et le strike supérieur remonte à 12.8%. Sur les options d’indice, l’aile basse se cotera généralement au-dessus de l’aile haute : une asymétrie persistante, et non un simple écart quotidien. Deux conséquences pour quiconque lit cette colonne. Un seul chiffre de « IV » cité pour une action est une moyenne sur une surface qui n’est pas plate, et comparer la volatilité implicite entre deux strikes n’a de sens qu’une fois leur distance au cours de l’action posée. Volatilité implicite définit la mesure et Skew de volatilité en cartographie la forme.
Comment diffère une chaîne d’un même jour
Les chaînes des contrats qui expirent au cours de la même séance, les contrats 0DTE, ressemblent à toutes les autres et se comportent différemment sur un point : tout y bouge plus vite. La valeur temps s’épuise sur quelques heures plutôt que sur plusieurs mois, le delta varie fortement lorsque le cours de l’action franchit un prix d’exercice, et la grille des prix d’exercice est en général plus fine à proximité de la parité. La composition des opérations exécutées sur une journée montre quelle part de l’activité se situe désormais là.
| expire dans | contrats (M) | % du volume SPY | contrats distincts |
|---|---|---|---|
| same day (0DTE) | 8.48 | 66.9 | 170 |
| 1-7 days | 2.96 | 23.4 | 844 |
| 8-30 days | 0.61 | 4.8 | 1299 |
| 31-90 days | 0.51 | 4.1 | 1253 |
| over 90 days | 0.1 | 0.8 | 1502 |
Le SQL exact derrière chaque chiffre
WITH dateDiff('day', toDate('2026-07-15'), toDate(concat('20', substring(ticker, length(ticker) - 14, 2), '-', substring(ticker, length(ticker) - 12, 2), '-', substring(ticker, length(ticker) - 10, 2)))) AS dte
SELECT multiIf(dte = 0, 'same day (0DTE)', dte <= 7, '1-7 days', dte <= 30, '8-30 days',
dte <= 90, '31-90 days', 'over 90 days') AS expires_in,
round(sum(volume) / 1e6, 2) AS contracts_m,
round(100 * toFloat64(sum(volume)) / (SELECT toFloat64(sum(volume))
FROM global_markets.options_minute_aggs
WHERE window_start >= '2026-07-15 00:00:00' AND window_start < '2026-07-16 00:00:00'
AND substring(ticker, 3, length(ticker) - 17) = 'SPY'), 1) AS pct_of_spy_volume,
toUInt64(uniqExact(ticker)) AS distinct_contracts
FROM global_markets.options_minute_aggs
WHERE window_start >= '2026-07-15 00:00:00'
AND window_start < '2026-07-16 00:00:00'
AND substring(ticker, 3, length(ticker) - 17) = 'SPY'
AND dte >= 0
GROUP BY expires_in
ORDER BY min(dte)Les contrats expirant cet après-midi même ont représenté 66.9% des volumes d’options sur SPY au 15 juillet 2026, soit 8.48 millions de contrats répartis sur seulement 170 prix d’exercice distincts. Tout ce qui expire au-delà de quatre-vingt-dix jours représentait 0.8% du volume tout en recensant 1502 contrats distincts. Cette configuration mérite d’être gardée à l’esprit pour toute chaîne que vous ouvrez : la partie la plus large de la grille concentre le moins de transactions, tandis que la tranche étroite du même jour en concentre l’essentiel. Options à zéro jour couvre cette tranche selon ses propres termes.
Lire une ligne de bout en bout
Prenons le prix d’exercice de $755 du premier panneau, avec SPY à $754.68. Le call s’est échangé pour la dernière fois à $14.03 et le put à $11.52, la paire la plus proche sur la tranche, ce qui identifie cette ligne comme celle au strike at-the-money. Le delta du call de 0.54 indique qu’un mouvement de $1 sur SPY déplace ce call d’environ 0.54 dollars, et le put de la même ligne porte un delta de -0.46 pour le même mouvement de $1 dans la direction opposée.
Un contrat couvre 100 actions ; une chaîne qui affiche $14.03 affiche donc un prix par action, et le contrat coûte environ 100 fois ce montant avant les commissions. Le multiplicateur est la source d’erreur la plus fréquente sur une chaîne d’options. Tout le reste sur la ligne décrit le même contrat sous un autre angle : le spread est le coût de la transaction, le volume est la taille de la position, la volatilité implicite est l’hypothèse de volatilité intégrée au prix. Les options d’achat et les options de vente décrivent les mécaniques de paiement sur lesquelles chaque ligne repose.
Foire aux questions
Que signifient les colonnes d'une chaîne d'options ?
Le strike et l'échéance identifient le contrat. Bid et ask constituent le cours à deux prix en temps réel, last est le dernier prix exécuté, le volume recense les transactions du jour et le open interest recense les positions encore ouvertes issues des séances précédentes. La volatilité implicite reformule le prix sous forme de pourcentage annualisé, et les colonnes des greeks mesurent la sensibilité au cours de l'action, au temps et à la volatilité.
Quelle est la différence entre volume et open interest ?
Le volume compte les contrats échangés au cours de la séance en cours et repart à zéro chaque matin. Le open interest compte les contrats toujours ouverts après la liquidation de la séance précédente : il date donc d'un jour et ne bouge que lorsque des positions sont ouvertes ou clôturées, non lorsqu'elles changent de main entre traders.
Pourquoi deux strikes d'une même échéance affichent-ils des volatilités implicites différentes ?
Les options à différents strikes couvrent différentes zones de l'intervalle des prix futurs possibles, et le marché valorise ces zones de manière inégale. Dans l'exemple SPY ci-dessus, le strike le plus bas du panneau était coté proche de 23.6%, tandis que le milieu de l'intervalle se situait nettement en dessous : c'est la courbe que les traders appellent le smile ou le skew.
Que signifie un delta de 0,50 sur une chaîne d'options ?
Un delta de 0,50 signifie que le prix du contrat varie d'environ 50 cents pour une variation de 1 $ du cours de l'action sous-jacente, et il se lit généralement comme une approximation grossière de la probabilité que le contrat se termine in the money. Le delta se situe près de 0,50 pour les calls dont le strike est le plus proche du cours courant de l'action, et diminue vers zéro à mesure que le s'éloigne.
Un prix affiché sur une chaîne d'options porte-t-il sur une action ou sur un contrat ?
Le prix affiché porte sur une action. Une option sur actions américaines standard couvre 100 actions : un contrat coté à 2,00 $ coûte donc environ 200 $, frais de courtage en sus. Les chaînes n'affichent presque jamais ce multiplicateur.
Toutes les données ci-dessus proviennent d'une requête stockée et versionnée sur le flux d'options (options tape). Dépliez un panneau pour lire le SQL, ou récupérez la même chaîne sur le terminal Strasmore.