Strasmore Research
Apprendre Matt ConnorPar Matt Connor · Mis à jour le 2026-08-22 · data as of August 22, 2026 · refreshed weekly

Comment lire un symbole d’option OSI

Décodez le root, l’expiration, le call ou put et le strike sur huit chiffres, avec les roots ajustés, SPXW et 00007500, soit 7,50 dollars.

Un symbole d’option est une chaîne unique qui contient quatre informations : le root du sous-jacent, la date d’expiration, l’indication call ou put et le strike. Ce format est appelé OSI, d’après l’Options Symbology Initiative adoptée par le secteur américain des options en 2010. Chaque ticket d’ordre et chaque flux de données repose sur ce format. Une fois les quatre champs assimilés, vous pouvez décoder immédiatement tout symbole d’option américaine cotée.

Quels sont les quatre champs d’un symbole d’option ?

Un symbole OSI canonique comporte 21 caractères, dans un ordre fixe :

  • Le root, sur six caractères, aligné à gauche et complété par des espaces à droite lorsque le root du sous-jacent comporte moins de six caractères.
  • L’expiration, sur six chiffres, au format AAMMJJ. 260116 correspond au 16 janvier 2026.
  • Le right, sur un caractère : C pour un call, P pour un put.
  • Le strike, sur huit chiffres, exprimé en millièmes de dollar, sans point décimal.

La plupart des brokers et des sites web suppriment les espaces de remplissage et affichent la forme compacte. Certains flux placent un marqueur tel que O: devant la chaîne. Cela ne change pas le décodage. Les 15 derniers caractères correspondent toujours à la date, au right et au strike. Le root est donc tout ce qui les précède. Le panneau ci-dessous décompose les contrats réels selon cette règle et place les champs extraits à côté de l’expiration enregistrée pour le contrat.

RequêteUne échéance, quatre strikes : chaque champ OSI extrait du symbole
Le SQL exact derrière chaque chiffre
SELECT
    contract,
    substring(contract, 1, length(contract) - 15)                  AS root,
    substring(contract, length(contract) - 14, 6)                  AS expiry_field,
    substring(contract, length(contract) - 8, 1)                   AS right_code,
    substring(contract, length(contract) - 7, 8)                   AS strike_field,
    toFloat64(substring(contract, length(contract) - 7, 8)) / 1000 AS strike_dollars,
    listed_expiration
FROM
(
    SELECT
        replaceRegexpOne(ticker, '^O:', '')               AS contract,
        formatDateTime(any(expiration_date), '%b %e, %Y') AS listed_expiration
    FROM global_markets.options_greeks
    WHERE underlying_symbol = 'SPY'
      AND expiration_date = '2026-01-16'
      AND toFloat64(strike_price) IN (500, 600, 650, 700)
      AND date >= '2025-12-01'
      AND date <  '2026-01-01'
    GROUP BY contract
)
ORDER BY strike_dollars ASC, right_code ASC
Run this yourself

La première ligne correspond à un root de SPY, à un champ de date 260116, à un right C et à un champ de strike 00500000, qui donne un strike de $500 après division. L’enregistrement d’expiration du contrat indique Jan 16, 2026, ce qui correspond aux six chiffres de la chaîne. Le panneau contient 8 contrats : les mêmes strikes cotés en calls et en puts. Un seul caractère distingue un call du put correspondant. C’est pourquoi il faut vérifier deux fois ce caractère sur un ticket d’ordre. Si ces champs vous sont familiers depuis l’écran de votre broker, lire une chaîne d’options présente les colonnes qui les entourent.

Comment lire un symbole d’option en ligne de commande

Le décodage ne nécessite ni bibliothèque ni accès réseau. Les champs ont une largeur fixe mesurée depuis la droite. En bash, une simple extraction de sous-chaîne suffit. Copiez ce code dans un terminal :

SYM=SPY260116C00650000
echo "root   ${SYM:0:$(( ${#SYM} - 15 ))}"
echo "expiry ${SYM: -15:6}"
echo "right  ${SYM: -9:1}"
echo "strike ${SYM: -8}"

L’espace placé devant chaque décalage négatif est obligatoire. Sans lui, bash interprète :- comme une expansion de valeur par défaut et affiche un résultat incorrect.

Pour une liste de symboles, awk effectue le même calcul avec des positions commençant à un :

awk '{
  n      = length($0)
  root   = substr($0, 1, n - 15)
  expiry = substr($0, n - 14, 6)
  right  = substr($0, n -  8, 1)
  strike = substr($0, n -  7, 8)
  printf "%-6s 20%s-%s-%s  %-4s $%.3f\n",
         root,
         substr(expiry, 1, 2), substr(expiry, 3, 2), substr(expiry, 5, 2),
         (right == "C" ? "call" : "put"),
         strike / 1000
}' <<'EOF'
SPY260116C00650000
SPY260116P00650000
SPXW260116C05500000
XYZ1260116C00007500
EOF

Une version python3 gère dans la même fonction le format complété de 21 caractères et le préfixe du flux. Elle n’utilise que la bibliothèque standard :

from datetime import datetime

def parse_osi(symbol):
    s = symbol.strip()
    if s.startswith("O:"):
        s = s[2:]
    s = s.replace(" ", "")
    return {
        "root":   s[:-15],
        "expiry": datetime.strptime(s[-15:-9], "%y%m%d").date(),
        "right":  "call" if s[-9] == "C" else "put",
        "strike": int(s[-8:]) / 1000,
    }

samples = [
    "SPY   260116C00650000",
    "O:SPY260116P00650000",
    "SPXW  260116C05500000",
    "XYZ1  260116C00007500",
]

for sym in samples:
    f = parse_osi(sym)
    print("{:<6} {} {:<4} ${:,.3f}".format(f["root"], f["expiry"], f["right"], f["strike"]))

Les deux extraits s’exécutent sur une image Ubuntu standard sans autre installation qu’awk et python3. Aucun ne se connecte au réseau. Le résultat est donc identique aujourd’hui et dans cinq ans.

Pourquoi un strike de 00007500 correspond-il à $7.50 ?

Le champ du strike comporte huit chiffres, sans point décimal, et son unité est le millième de dollar. Divisez-le par 1 000 pour obtenir le montant en dollars. 00007500 correspond à 7 500 millièmes, soit $7.50. 07500000 correspond à 7 500 000 millièmes, soit $7,500. Les deux valeurs ne diffèrent que par trois zéros noyés dans une série de zéros. C’est l’erreur de lecture la plus fréquente sur l’ensemble du format. La largeur fixe donne à chaque symbole la même longueur. L’unité en millièmes permet aussi de représenter des strikes correspondant à des fractions de cent après une opération sur le capital.

Un seul champ doit couvrir tous les strikes cotés, d’une action à bas prix à un indice à quatre chiffres. Le panneau ci-dessous lit le strike le plus bas et le plus haut pour plusieurs sous-jacents. Il affiche les huit chiffres exactement comme ils apparaissent dans le symbole.

RequêteUn champ à huit chiffres, des strikes en dollars à un chiffre aux niveaux d’indice
Le SQL exact derrière chaque chiffre
SELECT
    underlying,
    round(toFloat64(min(strike)), 2) AS lowest_strike,
    argMin(strike_field, strike)     AS lowest_strike_field,
    round(toFloat64(max(strike)), 2) AS highest_strike,
    argMax(strike_field, strike)     AS highest_strike_field,
    uniqExact(strike)                AS strike_count
FROM
(
    SELECT
        underlying_symbol AS underlying,
        strike_price      AS strike,
        substring(replaceRegexpOne(ticker, '^O:', ''),
                  length(replaceRegexpOne(ticker, '^O:', '')) - 7, 8) AS strike_field
    FROM global_markets.options_greeks
    WHERE underlying_symbol IN ('KO', 'NVDA', 'AAPL', 'SPY', 'SPX')
      AND date >= today() - 7
)
GROUP BY underlying
ORDER BY highest_strike ASC
Run this yourself

Sur les séances affichées, KO cote des strikes compris entre $32.5 et $135, écrits 00032500 et 00135000 dans le symbole. À l’autre extrémité du panneau, SPY atteint $1480, soit 01480000, réparti sur 452 strikes distincts. Les huit chiffres et le même diviseur s’appliquent quel que soit le niveau de prix.

Options ajustées : que signifie un chiffre à la fin du root ?

Une option standard sur action donne droit à 100 actions. Les opérations sur le capital peuvent modifier ce droit : split selon un ratio non entier, fusion partiellement réglée en numéraire, scission ou dividende exceptionnel en numéraire dépassant le seuil prévu. L’OCC ajuste les contrats ouverts et leur attribue un nouveau root : l’ancien root suivi d’un chiffre. Le root ABC devient ABC1 lors du premier ajustement, puis ABC2 lors du deuxième. Le format ne change pas. Votre parseur continue donc de fonctionner. En revanche, le sous-jacent livré au titre du contrat change, et le symbole ne l’indique pas.

Un chiffre final sert également à identifier les mini contrats, avec le chiffre 7. Ceux-ci portent sur 10 actions au lieu de 100. Dans les deux cas, le chiffre indique que les modalités du contrat doivent être vérifiées avant de comparer le strike à celui d’un autre contrat. Notre note sur l’incidence des splits sur les options détaille le calcul du ratio pour le strike et le sous-jacent livré.

Les séries ajustées sont rarement prolongées par de nouvelles expirations. Un root comme ABC1 devient moins liquide à mesure que ses dates cotées arrivent à échéance, au lieu d’être complété par de nouvelles dates. Il peut disparaître entièrement d’une chaîne une fois la dernière expiration passée. Les modalités figurent dans le bulletin d’ajustement de l’OCC relatif au contrat, et non dans la chaîne. Ce bulletin précise le nouveau sous-jacent livré, la composante en numéraire éventuelle et le multiplicateur applicable. Tant que ce bulletin n’a pas été consulté, un strike ajusté et un strike standard sur le même sous-jacent sont deux instruments différents affichant les mêmes huit chiffres.

SPX, SPXW et la signification du W

Les options sur indices utilisent leurs propres roots. Le complexe du S&P 500 est celui que la plupart des investisseurs rencontrent en premier. SPX et SPXW font référence au même indice et utilisent le même format de 21 caractères. Le W n’indique plus une cotation hebdomadaire, malgré ce que son nom pourrait laisser penser. SPX est le root à règlement AM : le contrat du troisième vendredi, dont la valeur de règlement est calculée à partir des premiers prints des composantes de l’indice le vendredi de l’expiration. Les échanges s’arrêtent le jeudi précédent. SPXW est le root à règlement PM. Il couvre toutes les autres dates du calendrier, des échéances quotidiennes du lundi au vendredi aux contrats de fin de mois. Chaque contrat se négocie jusqu’à la clôture de son propre jour d’expiration.

Le calendrier suit la même séparation. Un contrat à règlement AM du troisième vendredi de chaque cycle mensuel utilise le root SPX. Toutes les autres dates futures de l’indice relèvent de SPXW. Dans une chaîne complète, cela représente la majeure partie des expirations affichées. La chaîne ne fournit aucune de ces informations à elle seule. Le root est un indice, mais les spécifications du contrat font foi. Deux roots, un seul indice, un seul écran, et des mécanismes de règlement que les options à règlement AM et PM analyse en détail.

Ce qu’un symbole d’option ne vous indique jamais

Les quatre champs identifient complètement un contrat, mais le décrivent à peine. En particulier :

  • Le multiplicateur. Une option standard américaine sur action porte sur 100 actions, mais aucun champ de la chaîne ne l’indique. Les séries ajustées et les mini séries diffèrent. Les produits sur indices ont leurs propres paramètres.
  • Le mode de règlement. Le symbole n’indique pas si le règlement est AM ou PM, ni s’il s’effectue en numéraire ou par livraison physique. Pour les roots d’indices, la convention peut fournir un indice. Seules les spécifications du contrat font foi.
  • Le sous-jacent livré. Après un ajustement, l’hypothèse de 100 actions n’est plus valable. Le symbole reste identique, à l’exception du chiffre ajouté.
  • Le temps restant. Le champ de date indique une expiration, pas un compte à rebours. Le calcul des jours avant l’expiration doit être effectué séparément à partir du calendrier.
  • La liquidité. Deux symboles de structure identique peuvent présenter des écarts de plusieurs ordres de grandeur en matière de volume et d’open interest.

FAQ

Combien de caractères comporte un symbole d’option ?

Vingt et un dans la forme OSI canonique : six pour le root, six pour la date, un pour l’indication call ou put et huit pour le strike. Les roots de moins de six caractères sont complétés par des espaces. La plupart des écrans suppriment ces espaces. Un root de trois lettres s’affiche donc généralement sous la forme d’une chaîne de 18 caractères.

Que signifie le chiffre placé après le root dans un symbole d’option ?

Il indique que les modalités du contrat ne sont plus standard. Un chiffre ajouté par l’OCC identifie une série ajustée après une opération sur le capital. Le chiffre 7 identifie un mini contrat portant sur 10 actions au lieu de 100. Les champs de date et de strike se décodent de la même manière.

Pourquoi le strike comporte-t-il huit chiffres ?

Le champ contient le strike en millièmes de dollar sous la forme d’un entier de largeur fixe. Il couvre ainsi une fraction de dixième de cent jusqu’à $99,999.999, sans point décimal. Divisez les huit chiffres par 1 000 pour obtenir le montant en dollars : 00007500 correspond à $7.50.

SPXW est-il identique à SPX ?

Les deux roots font référence au même indice et utilisent le même format de symbole. Le règlement diffère. Les contrats SPX sont réglés sur une valeur calculée à partir des premiers prints du vendredi matin et cessent de se négocier la veille. Les contrats SPXW se négocient jusqu’à la clôture de leur jour d’expiration et sont réglés sur le niveau de clôture de l’indice.

Un symbole d’option indique-t-il si l’option est hebdomadaire ou mensuelle ?

Pour les actions américaines, non. Une option hebdomadaire et une option mensuelle sur le même sous-jacent partagent le même root. Seuls les six chiffres de la date les distinguent. La convention du troisième vendredi donne à une date son caractère mensuel. Les complexes d’indices utilisent, eux, des roots distincts.


Chaque panneau de cette page contient, sous un expandeur, la requête SQL exacte qui l’a produit. Vous pouvez ainsi voir comment chaque champ a été extrait de la chaîne. Pour décomposer un symbole que vous consultez actuellement, demandez-le en langage courant sur le terminal Strasmore.

#options#osi#symbology#option chain#adjusted options