Skew Stickiness Ratio : ce que le SSR mesure
Le Skew Stickiness Ratio (SSR) mesure de combien la volatilité implicite ATM bouge quand le sous-jacent varie de 1 %. Définition claire et pente mesurée.
Le Skew Stickiness Ratio, le SSR des notes de desk, répond à une seule question : de combien la volatilité implicite à la monnaie se déplace quand le sous-jacent varie de 1 %. C'est une pente, pas un niveau. Si vous avez déjà lu ce qu'est le skew de volatilité, le SSR en est la suite directe : il dit ce que devient votre surface demain, une fois que le prix a bougé. À la monnaie (ATM, at the money) désigne ici le strike le plus proche du cours comptant.
Strike collant ou delta collant : les deux régimes
Avant le chiffre, la mécanique. Deux conventions de desk encadrent tout le sujet, et elles font des prévisions opposées pour la même séance.
Le strike collant (sticky strike) : chaque strike conserve son implicite d'une séance à l'autre. La courbe reste accrochée à l'axe des strikes. Quand le comptant se déplace, le point à la monnaie glisse le long d'un smile immobile et reprend l'implicite du strike voisin. La variation d'IV ATM vaut alors la pente locale du skew multipliée par le déplacement.
Le delta collant (sticky delta, ou sticky moneyness) : la surface est décrite en moneyness ou en delta, et elle se translate avec le comptant. Le point à la monnaie retrouve la même implicite qu'avant le mouvement. L'IV ATM ne bouge pas du seul fait du déplacement.
Le SSR normalisé situe l'observation entre ces deux bornes : 0 pour un delta collant parfait, 1 pour un strike collant parfait. Au-delà de 1, l'IV ATM se déplace davantage que le simple glissement le long du smile. Dans cette version, la pente observée est divisée par la pente locale du skew, et c'est de là que vient le mot « ratio ». Comme les options se cotent en volatilité, les deux termes du rapport partagent la même unité.
Ce que mesure le Skew Stickiness Ratio, séance par séance
La version mesurable sans hypothèse de modèle est la pente brute : on régresse la variation quotidienne de l'IV ATM, en points de volatilité, sur le rendement quotidien du sous-jacent, en pourcentage. Le résultat se lit « tant de points de vol pour 1 % de mouvement ».
Le panneau ci-dessous aligne les deux séries pour SPY, l'ETF coté aux États-Unis qui réplique le S&P 500, sur un trimestre figé (avril à juin 2026). L'IV ATM y est la moyenne des contrats effectivement traités dont le strike est à moins de 2 % du comptant, avec 20 à 45 jours de maturité résiduelle.
| date | spy_rendement_pct | iv_atm_variation_pct |
|---|---|---|
| 2026-04-02 | 0.09 | -0.38 |
| 2026-04-06 | 0.47 | 0 |
| 2026-04-07 | 0.04 | -1.05 |
| 2026-04-08 | 2.55 | -1.71 |
| 2026-04-09 | 0.58 | -1.18 |
| 2026-04-10 | -0.07 | -0.66 |
| 2026-04-13 | 0.98 | -0.29 |
| 2026-04-14 | 1.22 | -0.32 |
| 2026-04-15 | 0.79 | -0.1 |
| 2026-04-16 | 0.25 | -0.11 |
| 2026-04-17 | 1.21 | -0.13 |
| 2026-04-20 | -0.2 | 0.8 |
| 2026-04-21 | -0.65 | 0.73 |
| 2026-04-22 | 1.01 | -0.63 |
| 2026-04-23 | -0.39 | 0.31 |
| 2026-04-24 | 0.77 | -0.24 |
| 2026-04-27 | 0.17 | -0.23 |
| 2026-04-28 | -0.49 | -0.06 |
| 2026-04-29 | -0.02 | -0.03 |
| 2026-04-30 | 0.99 | -0.91 |
Le SQL exact derrière chaque chiffre
WITH iv_atm AS (
SELECT
date,
avg(toFloat64(implied_volatility)) * 100 AS iv_pct
FROM global_markets.options_greeks
WHERE underlying_symbol = 'SPY'
AND date BETWEEN '2026-04-01' AND '2026-06-30'
AND iv_converged = 1
AND volume > 0
AND days_to_expiry BETWEEN 20 AND 45
AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) < 0.02
GROUP BY date
),
spot AS (
SELECT
date,
toFloat64(close) AS px
FROM global_markets.stocks_daily_aggs
WHERE ticker = 'SPY'
AND date BETWEEN '2026-04-01' AND '2026-06-30'
),
apparie AS (
SELECT
i.date AS d,
i.iv_pct AS iv,
s.px AS px,
any(i.iv_pct) OVER (ORDER BY i.date ROWS BETWEEN 1 PRECEDING AND 1 PRECEDING) AS iv_prec,
any(s.px) OVER (ORDER BY i.date ROWS BETWEEN 1 PRECEDING AND 1 PRECEDING) AS px_prec
FROM iv_atm AS i
INNER JOIN spot AS s ON s.date = i.date
)
SELECT
toString(d) AS date,
round((px / px_prec - 1) * 100, 2) AS spy_rendement_pct,
round(iv - iv_prec, 2) AS iv_atm_variation_pct
FROM apparie
WHERE px_prec > 0
ORDER BY dSur les 61 séances appariées du trimestre, les deux séries se lisent en miroir : les séances de repli du comptant s'accompagnent le plus souvent d'une IV ATM en hausse, et les séances de hausse d'une IV ATM en baisse. Le SSR met un nombre unique sur ce miroir.
La pente, année par année
Une pente unique calculée sur cinq ans masquerait les régimes. Le panneau suivant recalcule la même régression par année civile, sur le même sous-jacent, depuis le début de l'historique quotidien d'implicites disponible (septembre 2021).
| year | session_count | pente_vol_pts | pente_fr | correlation |
|---|---|---|---|---|
| 2021 | 84 | -1.81 | 1,81 | -0.9 |
| 2022 | 251 | -0.86 | 0,86 | -0.82 |
| 2023 | 250 | -0.83 | 0,83 | -0.75 |
| 2024 | 252 | -1.04 | 1,04 | -0.8 |
| 2025 | 250 | -1.4 | 1,4 | -0.9 |
| 2026 | 166 | -1.2 | 1,2 | -0.81 |
Le SQL exact derrière chaque chiffre
WITH iv_atm AS (
SELECT
date,
avg(toFloat64(implied_volatility)) * 100 AS iv_pct
FROM global_markets.options_greeks
WHERE underlying_symbol = 'SPY'
AND date >= '2021-09-01'
AND date < '2026-09-01'
AND iv_converged = 1
AND volume > 0
AND days_to_expiry BETWEEN 20 AND 45
AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) < 0.02
GROUP BY date
),
spot AS (
SELECT
date,
toFloat64(close) AS px
FROM global_markets.stocks_daily_aggs
WHERE ticker = 'SPY'
AND date >= '2021-09-01'
AND date < '2026-09-01'
),
apparie AS (
SELECT
i.date AS d,
i.iv_pct AS iv,
s.px AS px,
any(i.iv_pct) OVER (ORDER BY i.date ROWS BETWEEN 1 PRECEDING AND 1 PRECEDING) AS iv_prec,
any(s.px) OVER (ORDER BY i.date ROWS BETWEEN 1 PRECEDING AND 1 PRECEDING) AS px_prec
FROM iv_atm AS i
INNER JOIN spot AS s ON s.date = i.date
),
variations AS (
SELECT
toYear(d) AS y,
(px / px_prec - 1) * 100 AS rendement_pct,
iv - iv_prec AS iv_variation_pct
FROM apparie
WHERE px_prec > 0
)
SELECT
toString(y) AS year,
count() AS session_count,
round(covarPop(rendement_pct, iv_variation_pct)
/ varPop(rendement_pct), 2) AS pente_vol_pts,
replace(toString(round(abs(covarPop(rendement_pct, iv_variation_pct)
/ varPop(rendement_pct)), 2)), '.', ',') AS pente_fr,
round(corr(rendement_pct, iv_variation_pct), 2) AS correlation
FROM variations
GROUP BY y
HAVING count() > 20
ORDER BY ySur l'année 2026, la pente ressort à -1.2 point de volatilité pour 1 % de rendement, avec une corrélation de -0.81 sur 166 séances. Le signe compte autant que la magnitude. La pente est négative : les séances de hausse du comptant coïncident avec une IV ATM plus basse, les séances de baisse avec une IV ATM plus haute. En convention française et en valeur absolue, cela donne 1,2 point de volatilité par pourcent.
Deux précisions sur la provenance, que le lecteur parisien voudra poser tout de suite. Ce chiffre porte sur les options listées sur SPY aux États-Unis. Aucune mesure Euronext ou Eurex n'est publiée ici : nos séries quotidiennes d'implicites ne couvrent pas ces chaînes, et une pente ne se transpose pas d'un sous-jacent à l'autre. La méthode, elle, se transpose telle quelle, et la dernière section la détaille pour une chaîne CAC 40 ou Euro Stoxx 50.
Un chiffre par sous-jacent, jamais un chiffre universel
La même régression, sur une fenêtre figée de douze mois (septembre 2025 à août 2026), appliquée à six sous-jacents liquides : deux ETF d'indice, puis quatre grandes valeurs.
| symbol | session_count | pente_vol_pts | pente_fr | correlation |
|---|---|---|---|---|
| SPY | 250 | -1.24 | 1,24 | -0.81 |
| QQQ | 250 | -0.88 | 0,88 | -0.7 |
| MSFT | 250 | -0.04 | 0,04 | -0.04 |
| AAPL | 250 | -0.18 | 0,18 | -0.17 |
| NVDA | 250 | -0.25 | 0,25 | -0.29 |
| TSLA | 250 | 0 | 0 | 0 |
Le SQL exact derrière chaque chiffre
WITH iv_atm AS (
SELECT
underlying_symbol AS sym,
date,
avg(toFloat64(implied_volatility)) * 100 AS iv_pct
FROM global_markets.options_greeks
WHERE underlying_symbol IN ('SPY', 'QQQ', 'MSFT', 'AAPL', 'NVDA', 'TSLA')
AND date >= '2025-09-01'
AND date < '2026-09-01'
AND iv_converged = 1
AND volume > 0
AND days_to_expiry BETWEEN 20 AND 45
AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) < 0.02
GROUP BY sym, date
),
spot AS (
SELECT
ticker AS sym,
date,
toFloat64(close) AS px
FROM global_markets.stocks_daily_aggs
WHERE ticker IN ('SPY', 'QQQ', 'MSFT', 'AAPL', 'NVDA', 'TSLA')
AND date >= '2025-09-01'
AND date < '2026-09-01'
),
apparie AS (
SELECT
i.sym AS sym,
i.date AS d,
i.iv_pct AS iv,
s.px AS px,
any(i.iv_pct) OVER (PARTITION BY i.sym ORDER BY i.date ROWS BETWEEN 1 PRECEDING AND 1 PRECEDING) AS iv_prec,
any(s.px) OVER (PARTITION BY i.sym ORDER BY i.date ROWS BETWEEN 1 PRECEDING AND 1 PRECEDING) AS px_prec
FROM iv_atm AS i
INNER JOIN spot AS s ON s.sym = i.sym AND s.date = i.date
),
variations AS (
SELECT
sym,
(px / px_prec - 1) * 100 AS rendement_pct,
iv - iv_prec AS iv_variation_pct
FROM apparie
WHERE px_prec > 0
)
SELECT
sym AS symbol,
count() AS session_count,
round(covarPop(rendement_pct, iv_variation_pct)
/ varPop(rendement_pct), 2) AS pente_vol_pts,
replace(toString(round(abs(covarPop(rendement_pct, iv_variation_pct)
/ varPop(rendement_pct)), 2)), '.', ',') AS pente_fr,
round(corr(rendement_pct, iv_variation_pct), 2) AS correlation
FROM variations
GROUP BY sym
HAVING count() > 100
ORDER BY indexOf(['SPY', 'QQQ', 'MSFT', 'AAPL', 'NVDA', 'TSLA'], sym)SPY ouvre le panneau avec une pente de -1.24 point pour 1 %, une corrélation de -0.81, sur 250 séances. Les valeurs individuelles n'ont aucune raison de coïncider avec celles d'un indice : la forme du skew et la composition du flux d'options diffèrent nom par nom. Lisez la colonne du panneau plutôt qu'un chiffre de manuel, et refaites la mesure sur la fenêtre qui vous intéresse.
Le skew, l'autre moitié du ratio
Pour convertir la pente brute en SSR normalisé, il faut le dénominateur : la pente locale du skew, en points de volatilité par pourcent de moneyness. Le panneau suivant dessine le smile de SPY sur le même trimestre, aile basse à gauche (strikes sous le comptant), aile haute à droite.
| moneyness | put_iv_pct | call_iv_pct |
|---|---|---|
| -10 % | 24.77 | 26.32 |
| -8 % | 23.16 | 23.36 |
| -6 % | 21.11 | 20.59 |
| -4 % | 19.36 | 18.59 |
| -2 % | 17.55 | 16.75 |
| 0 % | 16.03 | 15.13 |
| +2 % | 15.41 | 13.64 |
| +4 % | 15.24 | 12.52 |
| +6 % | 18.75 | 12.14 |
| +8 % | 22.01 | 12.6 |
| +10 % | 26.32 | 13.39 |
Le SQL exact derrière chaque chiffre
WITH contrats AS (
SELECT
toInt32(round((toFloat64(strike_price) / toFloat64(underlying_close) - 1) * 50)) * 2 AS bucket,
option_type,
toFloat64(implied_volatility) * 100 AS iv_pct
FROM global_markets.options_greeks
WHERE underlying_symbol = 'SPY'
AND date BETWEEN '2026-04-01' AND '2026-06-30'
AND iv_converged = 1
AND volume > 0
AND days_to_expiry BETWEEN 20 AND 45
AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) <= 0.10
)
SELECT
concat(if(bucket > 0, '+', ''), toString(bucket), ' %') AS moneyness,
round(avgIf(iv_pct, lower(option_type) LIKE 'p%'), 2) AS put_iv_pct,
round(avgIf(iv_pct, lower(option_type) LIKE 'c%'), 2) AS call_iv_pct
FROM contrats
GROUP BY bucket
HAVING countIf(lower(option_type) LIKE 'p%') > 0
AND countIf(lower(option_type) LIKE 'c%') > 0
ORDER BY bucketÀ -10 % d'écart au comptant, les puts traités cotent 24.77 % d'implicite. À +10 %, les calls cotent 13.39 %. La courbe descend de la gauche vers la droite, la signature habituelle du skew d'indice actions. Divisez la pente mesurée plus haut par la pente de cette courbe au voisinage de zéro et vous obtenez le SSR en convention normalisée, directement comparable aux bornes 0 et 1.
Ce que le SSR change pour une position couverte en delta
Un point de mécanique, sans pronostic. Le P&L d'une position d'options couverte en delta se décompose en un terme de gamma, lié à l'amplitude du mouvement, et un terme de vega, lié à la variation de l'implicite. Le SSR relie les deux : il indique dans quel sens le terme de vega joue quand le comptant se déplace.
Exemple purement hypothétique, chiffré à la main. Une position longue de vega valant 200 € par point de volatilité, sur un sous-jacent dont la pente mesurée serait de 1 point de vol par pourcent en valeur absolue, avec une implicite qui monte lors des replis. Un repli de 2 % du comptant fait apparaître environ 2 points de volatilité en plus, soit 400 € au titre du vega, qui s'ajoutent au terme de gamma de la séance. La même position, courte de vega, perd ces 400 €. Un seul mouvement de marché, deux P&L de signe opposé, et le SSR est ce qui vous le dit à l'avance.
Conséquence pratique côté couverture : le delta de Black-Scholes suppose une implicite figée. Quand l'implicite se déplace avec le comptant de façon répétée, le delta qui minimise la variance du portefeuille est le delta de modèle ajusté du produit vega multiplié par la pente. C'est précisément l'objet du SSR, et la raison pour laquelle les desks l'estiment au lieu de le supposer. Le mécanisme de base est détaillé dans comment fonctionne la couverture en delta.
Une cotation de skew seule ne suffit donc pas. Un « skew à 5 points » décrit la forme de la courbe aujourd'hui. Il ne dit pas si cette courbe restera accrochée aux strikes ou glissera avec le comptant demain. Le SSR est la partie dynamique de l'information, et la structure par terme des implicites en est la troisième dimension.
Refaire la mesure sur une chaîne CAC 40 ou Euro Stoxx 50
Les chiffres ci-dessus viennent d'un sous-jacent américain. Sur les contrats que vous regardez depuis Paris, la recette est identique et tient en cinq étapes, avec l'historique de votre courtier.
- Choisir la chaîne et sa convention. À l'Eurex, OESX désigne les options sur l'Euro Stoxx 50 (indice SX5E) et ODAX les options sur le DAX ; les options sur CAC 40 se traitent à Euronext Paris. Ces contrats d'indice sont de style européen et réglés en espèces, ce qui simplifie la mesure : voir options américaines et européennes.
- Constituer deux séries quotidiennes alignées : le niveau de clôture de l'indice, et l'IV ATM des contrats traités dont le strike est à moins de 2 % de ce niveau, avec 20 à 45 jours de maturité résiduelle.
- Interpoler à maturité constante, 30 jours par exemple, entre les deux échéances qui encadrent. Sans cette étape, le roll d'échéance injecte des sauts d'implicite étrangers au mouvement du jour.
- Aligner les horodatages. La clôture des dérivés à l'Eurex ne tombe pas à la même minute que le fixing de l'indice, et un décalage d'une heure suffit à écraser la pente. Tout en heure locale CET, primes en euros, implicites en points de volatilité.
- Régresser les variations d'IV ATM sur les rendements quotidiens, puis diviser par la pente du skew pour obtenir la version normalisée. Recalculez ensuite par année : la pente n'est pas une constante de la nature.
FAQ
Que veut dire SSR en options ?
SSR est l'abréviation de Skew Stickiness Ratio. Il mesure la sensibilité de la volatilité implicite à la monnaie aux mouvements du sous-jacent, c'est-à-dire la pente entre variations quotidiennes d'IV ATM et rendements quotidiens du sous-jacent.
Quelle est la différence entre strike collant et delta collant ?
En strike collant, chaque strike garde son implicite et l'IV ATM change du seul fait que le point à la monnaie glisse le long d'un smile immobile. En delta collant, la surface se translate avec le comptant et l'IV ATM reste inchangée. Le SSR mesure de quel côté de ces deux régimes se place la réalité observée.
Un SSR de 1 est-il normal ?
En convention normalisée, 1 correspond exactement au régime de strike collant, et 0 au delta collant. Aucune valeur n'est normale par défaut : elle varie selon la période et selon le sous-jacent, ce que montrent les panneaux par année et par nom ci-dessus.
Peut-on calculer le SSR sur le CAC 40 ?
Oui, dès lors que vous disposez d'un historique quotidien d'implicites ATM et des clôtures de l'indice. La méthode en cinq étapes ci-dessus est celle à appliquer. Les chiffres publiés ici portent sur SPY et ne s'y substituent pas.
Le SSR remplace-t-il le skew ?
Non. Le skew décrit la forme de la courbe à un instant donné, le SSR décrit son déplacement d'une séance à la suivante. Les deux se lisent ensemble, avec le skew de volatilité comme point de départ.
Chaque panneau embarque le SQL exact qui produit ses chiffres, dépliable sous le tableau. Pour rejouer la même régression sur un autre sous-jacent ou une autre fenêtre, posez la question en français sur le terminal Strasmore.
Notes de méthode et limites
- IV ATM : moyenne des contrats vérifiant
iv_converged = 1etvolume > 0, strike à moins de 2 % du comptant, 20 à 45 jours de maturité résiduelle. Aucun ajustement de forward (dividendes, coût de portage) n'est appliqué, ce qui décale légèrement le point à la monnaie. - Fenêtres figées : avril à juin 2026 pour les deux panneaux SPY, septembre 2025 à août 2026 pour la comparaison entre sous-jacents, et l'historique par année depuis septembre 2021, début des implicites quotidiennes par contrat.
- Pente : covariance des variations d'IV ATM et des rendements, divisée par la variance des rendements, sur clôtures quotidiennes. Une mesure intrajournalière donne une autre pente, généralement plus stable en amplitude.
- Les rendements sont calculés sur clôtures non ajustées des détachements. Sur SPY, un détachement trimestriel introduit un rendement d'un jour qui n'est pas corrigé ici.
- Le panneau du smile agrège les contrats par tranche entière de 2 % d'écart au comptant, de -10 % à +10 %, puts et calls séparés, et n'affiche une tranche que si les deux types y ont été traités. L'écart est arrondi en entier avant regroupement, de sorte que la tranche centrale apparaît une seule fois.