Mouvement attendu et volatilité implicite : calcul
Calculez le mouvement attendu avec cours, volatilité implicite et racine carrée du temps. Comparez la formule au straddle et aux mouvements réalisés.
Le mouvement attendu correspond à la fourchette que le marché des options intègre pour une action sur un nombre de jours donné. La volatilité implicite en est le paramètre déterminant : cours de l’action multiplié par la volatilité implicite, puis par la racine carrée du nombre de jours divisé par 365. Une action à 100 dollars affichant une volatilité implicite de 30 % sur 30 jours présente un mouvement attendu proche de 8,60 dollars, soit 8,6 %, car 0,30 multiplié par la racine carrée de 30 divisé par 365 donne 0,086. Il s’agit d’une fourchette à un écart-type, et non d’une prévision de direction ni d’un niveau que le cours ne pourrait pas franchir.
Comment calculer le mouvement attendu à partir de la volatilité implicite
La volatilité implicite est l’écart type annualisé des rendements qu’implique le prix d’une option. Elle est toujours exprimée sur une base annuelle. Ainsi, une valeur de 30 % décrit une amplitude sur un an, et toute période plus courte doit être ajustée à partir de cette base. La volatilité évolue proportionnellement à la racine carrée du temps. C’est pourquoi le nombre de jours figure sous une racine carrée, au lieu d’être simplement divisé.
Mouvement attendu = cours × IV × √(jours ÷ 365)
Deux conventions déterminent si votre résultat correspond à celui affiché par votre courtier. Le calcul sur la base de 365 jours calendaires est la norme pour les investisseurs particuliers. Certaines équipes de trading utilisent toutefois le nombre de jours de marché sur 252 jours. La fourchette obtenue est alors légèrement plus large pour une même IV. Le résultat correspond à un écart type, soit une fourchette couvrant environ 68 % des résultats selon une loi normale. Le doubler donne une fourchette à deux écarts types, couvrant environ 95 % des résultats.
La question de savoir si l’IV utilisée est élevée relève d’une analyse distincte, présentée sur une autre page : une IV de 30 % est-elle élevée compare une valeur isolée à la propre distribution du marché.
Pourquoi l’amplitude augmente avec la racine carrée du nombre de jours
En conservant une seule action et une seule séance, puis en modifiant uniquement l’horizon, la formule apparaît d’elle-même. Contrats Apple proches du cours d’exercice à la mi-juillet 2026, regroupés selon leur échéance :
Le SQL exact derrière chaque chiffre
SELECT multiIf(days_to_expiry <= 7, '1 week',
days_to_expiry <= 14, '2 weeks',
days_to_expiry <= 45, '1 month',
days_to_expiry <= 120, '3 months',
days_to_expiry <= 240, '6 months',
'1 year') AS horizon,
round(avg(days_to_expiry), 0) AS avg_days,
round(100 * avg(toFloat64(implied_volatility)), 1) AS iv_pct,
round(100 * avg(toFloat64(implied_volatility)) * sqrt(avg(days_to_expiry) / 365), 2) AS expected_move_pct,
round(avg(toFloat64(underlying_close)) * avg(toFloat64(implied_volatility))
* sqrt(avg(days_to_expiry) / 365), 2) AS expected_move_usd,
round(avg(toFloat64(underlying_close)), 2) AS underlying_price,
formatDateTime(max(date), '%b %e, %Y') AS as_of
FROM global_markets.options_greeks
WHERE underlying_symbol = 'AAPL'
AND date = (SELECT max(date)
FROM global_markets.options_greeks
WHERE underlying_symbol = 'AAPL'
AND date <= toDate('2026-07-15'))
AND iv_converged = 1
AND volume > 0
AND days_to_expiry BETWEEN 1 AND 400
AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) < 0.05
GROUP BY horizon
HAVING count() >= 3
ORDER BY avg_daysAu Jul 15, 2026, la catégorie 1 week affichait en moyenne 5 jours avant l’échéance et une volatilité implicite de 28%, soit un mouvement attendu de 3.17%, ou $10.41 pour un cours de l’action de $327.8. La catégorie 1 year affichait en moyenne 292 jours et une IV de 28.4%, soit un mouvement attendu de 25.44%, ou $83.39.
L’enseignement se trouve dans les ratios, et non dans les niveaux. Multiplier le nombre de jours par quatre double le mouvement attendu, quelle que soit l’action et quelle que soit la IV, car la racine carrée de 4 vaut 2. Annualiser une amplitude mensuelle en la multipliant par 12 surestime l’amplitude annuelle d’un facteur d’environ 3,5 : le coefficient correct est la racine carrée de 12, soit 3,46.
Le raccourci du straddle, et pourquoi il ressort environ 20 % plus bas
Il existe une méthode plus rapide pour obtenir le mouvement attendu par le marché, sans aucun calcul. Il suffit de consulter le straddle at-the-money, c’est-à-dire le call et le put ayant le même prix d’exercice et la même échéance, puis d’additionner les deux primes. De nombreux desks présentent cette somme comme le mouvement attendu.
Les deux méthodes ne donnent pas exactement le même résultat, et cet écart ne constitue pas une erreur. Un straddle verse la distance absolue entre le cours du titre à l’échéance et le strike. Son prix correspond donc au mouvement moyen attendu par le marché. La formule donne un écart-type. Pour une distribution normale, l’écart absolu moyen représente 0,798 écart-type. Le straddle ressort donc environ 20 % sous le résultat de la formule. En multipliant le straddle par 1,25, soit 1 divisé par 0,798, on obtient les deux mêmes valeurs.
Appliquons cette méthode à l’exemple hypothétique de 100 dollars présenté au début. La formule donne 8,60 dollars. Le straddle at-the-money de cette action serait valorisé autour de 6,86 dollars, puisque 0,798 × 8,60 = 6,86. En multipliant 6,86 dollars par 1,25, on revient à 8,58 dollars. Deux méthodes, un même résultat, à condition de savoir quelle statistique chacune fournit. Consulter une chaîne d’options indique où se trouvent ces deux primes.
Ce que le mouvement attendu ne signifie pas
- Ce n’est pas une direction. La fourchette est symétrique autour du cours du jour, et le marché des options évalue sa largeur, pas son orientation.
- Ce n’est pas une promesse. Le seuil de 68 % repose sur une distribution normale, tandis que les rendements réels présentent des queues de distribution plus épaisses. Les mouvements extrêmes surviennent donc plus souvent que ne le prévoit le modèle.
- Ce n’est pas une barrière. Selon le modèle, environ une fenêtre sur trois se termine en dehors de la fourchette d’un écart type. Une clôture à l’extérieur est donc un scénario courant.
- Ce n’est pas fixe. La volatilité implicite est réévaluée à chaque séance. Le mouvement attendu pour une échéance donnée est donc recalculé chaque jour.
Ce qui se passe après la publication des résultats
Une date de publication des résultats programmée est le cas le plus clair d’une hausse anticipée de la volatilité implicite, suivie d’une baisse dès la séance qui suit la publication, un phénomène appelé compression de la volatilité implicite. Le mouvement attendu s’effondre selon le même calendrier. La publication de NVDA, fin mai 2023, est intervenue après la clôture de la première séance du panneau ci-dessous.
Le SQL exact derrière chaque chiffre
WITH
(SELECT avg(toFloat64(implied_volatility))
FROM global_markets.options_greeks
WHERE underlying_symbol = 'NVDA'
AND date = toDate('2023-05-24')
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.05) AS iv_report_day,
(SELECT avg(toFloat64(underlying_close))
FROM global_markets.options_greeks
WHERE underlying_symbol = 'NVDA'
AND date = toDate('2023-05-24')
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.05) AS px_report_day
SELECT date,
formatDateTime(date, '%b %e') AS session_label,
round(100 * avg(toFloat64(implied_volatility)), 1) AS iv_pct,
round(100 * avg(toFloat64(implied_volatility)) * sqrt(avg(days_to_expiry) / 365), 2) AS expected_move_pct,
round(100 * avg(toFloat64(implied_volatility)) / iv_report_day, 1) AS iv_pct_of_report_day,
round(100 * (avg(toFloat64(underlying_close)) / px_report_day - 1), 2) AS move_from_report_day_pct
FROM global_markets.options_greeks
WHERE underlying_symbol = 'NVDA'
AND date BETWEEN toDate('2023-05-24') AND toDate('2023-06-09')
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.05
GROUP BY date
HAVING count() >= 3
ORDER BY dateLa volatilité implicite near-the-money s’établissait à 115.1% le May 24, la séance de la publication, pour un mouvement implicite jusqu’à l’échéance de 30.54%. Lors de la séance suivante, la même mesure ne représentait plus que 42.9% de ce niveau. Au Jun 9, la volatilité implicite ressortait à 39.2%, tandis que l’action se situait à 1.71% de sa clôture le jour de la publication.
Cette combinaison explique une plainte bien connue. Un trader peut anticiper correctement le sens du mouvement après la publication des résultats et perdre malgré tout de l’argent sur une option achetée : la volatilité servant à valoriser le contrat est abaissée dès que l’incertitude est levée. Comment les résultats font évoluer les grecs poursuit l’analyse de cette position.
Les mouvements attendus résistent-ils à la comparaison avec les mouvements réalisés ?
L’hypothèse peut être testée. Voici le test. Chaque mercredi, sur les deux années jusqu’à mi-juin 2026, pour six valeurs liquides, nous retenons la volatilité implicite proche de la monnaie sur des contrats arrivant à échéance dans 25 à 40 jours. Nous la convertissons en mouvement attendu sur les jours suivants, puis mesurons la distance réellement parcourue par l’action lors de la première séance située au moins 30 jours calendaires plus tard.
Le SQL exact derrière chaque chiffre
WITH obs AS (
SELECT underlying_symbol AS ticker,
date AS obs_date,
avg(toFloat64(implied_volatility)) AS iv,
avg(toFloat64(underlying_close)) AS spot
FROM global_markets.options_greeks
WHERE underlying_symbol IN ('NVDA', 'AAPL', 'MSFT', 'XOM', 'SPY', 'KO')
AND date BETWEEN toDate('2024-06-12') AND toDate('2026-06-17')
AND toDayOfWeek(date) = 3
AND iv_converged = 1
AND volume > 0
AND days_to_expiry BETWEEN 25 AND 40
AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) < 0.05
GROUP BY ticker, obs_date
HAVING count() >= 4 AND avg(toFloat64(implied_volatility)) > 0.01
),
px AS (
SELECT underlying_symbol AS ticker,
date AS px_date,
avg(toFloat64(underlying_close)) AS close_px
FROM global_markets.options_greeks
WHERE underlying_symbol IN ('NVDA', 'AAPL', 'MSFT', 'XOM', 'SPY', 'KO')
AND date BETWEEN toDate('2024-06-12') AND toDate('2026-07-25')
AND days_to_expiry BETWEEN 5 AND 60
AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) < 0.02
GROUP BY ticker, px_date
),
moves AS (
SELECT obs.ticker AS ticker,
obs.obs_date AS obs_date,
any(obs.iv) AS iv,
any(obs.spot) AS spot,
argMin(px.close_px, px.px_date) AS end_px,
min(dateDiff('day', obs.obs_date, px.px_date)) AS elapsed_days
FROM obs
INNER JOIN px ON obs.ticker = px.ticker
WHERE px.px_date >= addDays(obs.obs_date, 30)
AND px.px_date <= addDays(obs.obs_date, 36)
GROUP BY ticker, obs_date
)
SELECT ticker,
count() AS windows_tested,
round(quantileDeterministic(0.5)(100 * iv * sqrt(elapsed_days / 365), cityHash64(obs_date)), 2) AS implied_move_pct,
round(quantileDeterministic(0.5)(100 * abs(end_px / spot - 1), cityHash64(obs_date)), 2) AS realized_move_pct,
round(100 * countIf(abs(end_px / spot - 1) > iv * sqrt(elapsed_days / 365)) / count(), 1) AS realized_over_implied_pct
FROM moves
GROUP BY ticker
ORDER BY implied_move_pct DESCNVDA intégrait la fourchette la plus large des six, avec un mouvement implicite médian de 13.3% contre un mouvement réalisé médian de 6.77% sur 103 fenêtres. À l’autre extrémité, SPY intégrait 4.37% contre 2.68% réalisé.
La dernière colonne est la plus pertinente. Une fourchette à un écart-type est censée être dépassée environ 32 % du temps. C’est cette référence qu’il faut utiliser, et non zéro. 23.3% des NVDA fenêtres se sont terminées en dehors de la fourchette intégrée dans les prix de leurs options, contre 24.3% des SPY fenêtres pour l’autre valeur. Pour chaque valeur, il suffit de comparer les deux médianes et l’écart entre elles, quel que soit son sens. C’est tout l’enjeu pour déterminer si les options intégraient un mouvement supérieur à celui finalement observé. Rechercher les valeurs affichant les fourchettes implicites les plus larges est une autre démarche : les actions présentant la volatilité implicite la plus élevée les classe.
Données et définitions
- « Proche de la monnaie » désigne un strike situé dans une fourchette de 5 % autour du cours de clôture du sous-jacent lors de la séance concernée, pour des contrats présentant une volatilité implicite convergente et un volume non nul.
- Le mouvement attendu utilise systématiquement le nombre de jours calendaires rapporté à 365. Le mouvement réalisé correspond à l’écart en pourcentage entre le cours de clôture observé et le cours de clôture de la première séance située au moins 30 jours calendaires plus tard, sans tenir compte du signe.
- Les observations sont hebdomadaires, tandis que les fenêtres prospectives couvrent 30 jours. Les fenêtres voisines se chevauchent donc et les décomptes ne constituent pas des tirages indépendants.
FAQ sur le mouvement attendu
Comment calcule-t-on le mouvement attendu à partir de la volatilité implicite ?
Multipliez le cours de l’action par la volatilité implicite exprimée sous forme décimale, puis par la racine carrée du nombre de jours divisé par 365. Pour une action à 50 dollars, avec une volatilité implicite de 40 % sur 45 jours : 50 × 0,40 × √(45 ÷ 365) = 7,02 dollars, soit une amplitude d’environ 14 %.
Le prix du straddle at-the-money est-il identique au mouvement attendu ?
Ils sont proches, mais pas identiques. Le straddle évalue le mouvement moyen attendu, qui correspond à environ 0,798 écart-type. En multipliant la prime du straddle par 1,25, on retrouve la valeur à un écart-type donnée par la formule.
Une action reste-t-elle dans son mouvement attendu ?
Généralement, oui. Le modèle prévoit toutefois une sortie de cette fourchette dans environ 32 % des cas. Sur les fenêtres hebdomadaires testées plus haut, 23.3% des fenêtres sur NVDA se sont terminées en dehors de la fourchette implicite, contre 24.3% des fenêtres sur SPY.
Pourquoi le mouvement attendu se contracte-t-il juste après la publication des résultats ?
Le mouvement attendu dépend directement de la volatilité implicite. Celle-ci augmente avant une publication programmée, puis diminue une fois les résultats connus. Dans le panneau ci-dessus, la séance suivant la publication de NVDA affichait 42.9% de la valeur observée le jour de la publication.
Un mouvement attendu plus large constitue-t-il une meilleure opportunité ?
Il s’agit uniquement d’une fourchette plus large. Un mouvement attendu plus important signifie que le marché des options intègre davantage d’incertitude. Les contrats qui portent cette incertitude sont proportionnellement plus chers. L’amplitude ne permet pas de déterminer si leur prix est juste.
Chaque panneau présenté ici correspond à une requête enregistrée dont le code SQL est joint. Ouvrez-en une, remplacez le ticker, puis exécutez le même test comparant volatilité implicite et volatilité réalisée sur le terminal Strasmore.