Verwachte beweging uit implied volatility berekenen
Bereken de expected move met koers, implied volatility en de vierkantswortel van dagen gedeeld door 365. Bekijk ook de straddle shortcut en gerealiseerde bewegingen.
De expected move is de bandbreedte die de optiemarkt voor een aandeel over een vast aantal dagen inprijst. Implied volatility is de input die deze bandbreedte bepaalt: aandelenkoers maal implied volatility maal de vierkantswortel van het aantal dagen gedeeld door 365. Bij een aandeel van $100 met een implied volatility van 30% over 30 dagen komt de expected move uit op ongeveer $8,60, oftewel 8,6%, omdat 0,30 maal de vierkantswortel van 30 gedeeld door 365 uitkomt op 0,086. Dit is een bandbreedte van één standaarddeviatie. Het is geen voorspelling van de richting en ook geen niveau dat de koers niet kan overschrijden.
Hoe u de verwachte beweging op basis van implied volatility berekent
Implied volatility is de geannualiseerde standaarddeviatie van rendementen die de prijs van een optie impliceert. Zij wordt altijd als jaarcijfer weergegeven. Een waarde van 30% beschrijft dus een bandbreedte over één jaar. Voor elke kortere periode moet u dit cijfer schalen. Volatility schaalt met de vierkantswortel van de tijd. Daarom staan de dagen onder een wortelteken en worden ze niet rechtstreeks gedeeld.
Verwachte beweging = prijs × IV × √(dagen ÷ 365)
Twee conventies bepalen of uw uitkomst overeenkomt met de waarde die uw broker toont. Delen door 365 kalenderdagen is de standaard voor particulieren. Sommige trading desks schalen met handelsdagen gedeeld door 252. Dat levert bij dezelfde IV een iets bredere bandbreedte op. De uitkomst is één standaarddeviatie. Bij een normale verdeling omvat die ongeveer 68% van de uitkomsten. Verdubbeling levert de bandbreedte van twee standaarddeviaties op, oftewel ongeveer 95%.
Of de IV die u hebt gebruikt überhaupt hoog is, is een afzonderlijke vraag met een eigen pagina: is 30% IV hoog plaatst één meting tegenover de eigen verdeling van de markt.
Waarom de bandbreedte groeit met de vierkantswortel van het aantal dagen
Houd één aandeel en één handelsdag vast en verander alleen de horizon. Dan komt de structuur van de formule vanzelf naar voren. Near-the-money-contracten op Apple medio juli 2026, gegroepeerd naar de resterende looptijd:
De exacte SQL achter elk getal
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_daysPer Jul 15, 2026 had de bucket 1 week gemiddeld 5 dagen tot expiratie en 28% implied volatility. Dat kwam neer op een verwachte beweging van 3.17%, oftewel $10.41 bij een aandelenkoers van $327.8. De bucket 1 year had gemiddeld 292 dagen en 28.4% IV. De verwachte beweging bedroeg 25.44%, oftewel $83.39.
De verhouding is belangrijker dan het absolute niveau. Verviervoudigt u het aantal dagen, dan verdubbelt de verwachte beweging bij elk aandeel en elke IV, omdat de vierkantswortel van 4 gelijk is aan 2. Wie een bandbreedte voor één maand op jaarbasis brengt door deze met 12 te vermenigvuldigen, overschat de jaarbandbreedte met een factor van ongeveer 3,5. De juiste multiplier is de vierkantswortel van 12, oftewel 3,46.
De straddle-snelmethode, en waarom die ongeveer 20% te laag uitkomt
Er is een snellere manier om de door de markt zelf verwachte beweging te bepalen. Daarvoor is geen rekenwerk nodig. Zoek de at-the-money straddle op: de call en de put met dezelfde uitoefenprijs en dezelfde expiratiedatum. Tel vervolgens de twee optiepremies bij elkaar op. Veel trading desks noteren die som als de verwachte beweging.
De twee methoden leveren niet hetzelfde getal op. Het verschil is geen fout in een van beide methoden. Een straddle keert de absolute afstand uit tussen de slotkoers van het aandeel en de uitoefenprijs. De prijs ervan weerspiegelt daarom de verwachte gemiddelde beweging. De formule geeft één standard deviation. Bij een normale verdeling bedraagt de gemiddelde absolute afwijking 0.798 van één standard deviation. De straddle ligt daardoor ongeveer 20% onder het antwoord van de formule. Vermenigvuldiging van de straddle met 1.25 — oftewel 1 gedeeld door 0.798 — brengt beide uitkomsten bij elkaar.
Pas dit toe op het hypothetische aandeel van $100 uit het begin. De formule geeft $8.60. De at-the-money straddle op dit aandeel zou rond $6.86 worden geprijsd, omdat 0.798 × 8.60 = 6.86. Vermenigvuldig $6.86 met 1.25 en u komt weer uit op $8.58. Twee methoden, één uitkomst, zodra u weet welke statistiek elke methode weergeeft. Een optieketen lezen laat zien waar die twee optiepremies staan.
Wat de expected move niet betekent
- Geen richting. De band is symmetrisch rond de koers van vandaag. De optiemarkt prijst de breedte, niet de richting.
- Geen belofte. De 68% is gebaseerd op een normale verdeling. Werkelijke rendementen hebben zwaardere staarten, waardoor extreme uitkomsten vaker voorkomen dan het model veronderstelt.
- Geen barrière. Volgens het model eindigt ongeveer één op de drie perioden buiten de band van één standaarddeviatie. Buiten de band eindigen is dus normaal.
- Niet vaststaand. Implied volatility wordt elke sessie opnieuw geprijsd. Daardoor wordt de expected move voor een bepaalde expiratiedatum dagelijks aangepast.
Wat gebeurt er na een earnings report
Een geplande earnings date is het duidelijkste voorbeeld van implied volatility die vooraf wordt opgedreven en in de sessie na de publicatie van het nieuws wordt afgewaardeerd. Dit patroon staat bekend als IV-crush. Ook de verwachte beweging valt volgens hetzelfde schema sterk terug. Het earnings report van NVDA van eind mei 2023 werd na de slotbel van de eerste sessie in het onderstaande panel gepubliceerd.
De exacte SQL achter elk getal
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 dateDe near-the-money implied volatility bedroeg 115.1% op May 24, de sessie waarin het report verscheen. De implied move tot expiratie kwam uit op 30.54%. In de volgende sessie kwam dezelfde meting uit op 42.9% van dat niveau. Op Jun 9 stond de implied volatility op 39.2% en noteerden de aandelen 1.71% ten opzichte van de slotkoers op de dag van het report.
Die combinatie ligt ten grondslag aan een bekende klacht. Een trader kan de richting van een earnings move correct voorspellen en toch verlies lijden op een long option. De volatility-input waarop het contract was geprijsd, wordt afgewaardeerd zodra de onzekerheid is weggenomen. Hoe earnings de greeks bewegen behandelt het resterende deel van die positie.
Houdt de verwachte beweging stand tegenover de gerealiseerde beweging?
De bewering is toetsbaar, dus hier volgt de test. Neem elke woensdag in de twee jaar tot medio juni 2026, voor zes liquide namen, de near-the-money implied volatility van contracten met een resterende looptijd van 25 tot 40 dagen. Zet die om in een verwachte beweging over de daaropvolgende dagen. Meet vervolgens hoever het aandeel daadwerkelijk bewoog tot de eerste sessie die ten minste 30 kalenderdagen later viel.
De exacte SQL achter elk getal
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 prijsde de ruimste bandbreedte van de zes, met een mediane implied move van 13.3% tegenover een mediane gerealiseerde beweging van 6.77% over 103 vensters. Aan de rustige kant prijsde SPY 4.37% tegenover een gerealiseerde beweging van 2.68%.
De laatste kolom is de relevante maatstaf. Een bandbreedte van één standaarddeviatie hoort ongeveer 32% van de tijd te worden doorbroken. Dat is de juiste benchmark, niet nul. Bij 23.3% van de NVDA vensters eindigde de koers buiten de bandbreedte die de opties hadden ingeprijsd. Bij 24.3% van de SPY vensters gebeurde hetzelfde. Vergelijk voor elke naam de twee medianen naast elkaar. Het verschil ertussen, ongeacht de richting, vormt de kern van de vraag of de opties op meer beweging waren geprijsd dan zich uiteindelijk voordeed. Het selecteren van namen met de ruimste implied ranges is een andere analyse. De aandelen met de hoogste implied volatility rangschikt deze namen.
Gegevens en definities
- Near the money betekent een strike binnen 5% van de slotkoers van de onderliggende waarde in die sessie, bij contracten met geconvergeerde implied volatility en een niet-nul handelsvolume.
- Voor de verwachte beweging worden overal kalenderdagen op basis van 365 gebruikt. De gerealiseerde beweging is de procentuele afstand tussen de slotkoers op het observatiemoment en de slotkoers tijdens de eerste sessie die ten minste 30 kalenderdagen later plaatsvond, waarbij het teken wordt genegeerd.
- De observaties zijn wekelijks, terwijl de forward windows 30 dagen beslaan. Aangrenzende vensters overlappen daarom en de aantallen zijn geen onafhankelijke trekkingen.
Veelgestelde vragen over de verwachte koersbeweging
Hoe berekent u de verwachte koersbeweging op basis van implied volatility?
Vermenigvuldig de aandelenkoers met implied volatility als decimaal getal en vervolgens met de vierkantswortel van het aantal dagen gedeeld door 365. Bij een aandeel van $50, een implied volatility van 40% en een looptijd van 45 dagen: 50 × 0,40 × √(45 ÷ 365) = $7,02, oftewel een bandbreedte van ongeveer 14%.
Is de prijs van de at-the-money straddle gelijk aan de verwachte koersbeweging?
Bij benadering, maar niet exact. De straddle prijst de verwachte gemiddelde koersbeweging, die ongeveer 0,798 van één standaarddeviatie bedraagt. Door de optiepremie van de straddle met 1,25 te vermenigvuldigen, krijgt u de waarde van één standaarddeviatie die de formule oplevert.
Blijft een aandeel binnen zijn verwachte koersbeweging?
Meestal wel. Het model verwacht dat de koers ongeveer 32% van de tijd buiten deze bandbreedte komt. Van de hierboven geteste wekelijkse perioden eindigde 23.3% van NVDA perioden buiten de implied range. Dat gold voor 24.3% van SPY perioden.
Waarom wordt de verwachte koersbeweging direct na de earnings kleiner?
De verwachte koersbeweging is rechtstreeks afhankelijk van implied volatility. Implied volatility loopt op vóór een gepland rapport en daalt zodra het resultaat bekend is. In het bovenstaande overzicht bedroeg de waarde in de sessie na het rapport van NVDA 42.9% van de waarde op de dag van het rapport.
Is een grotere verwachte koersbeweging een betere kans?
Het is alleen een ruimere bandbreedte. Een grotere verwachte koersbeweging betekent dat de optiemarkt meer onzekerheid inprijst. De contracten waarin die onzekerheid is verwerkt, zijn naar verhouding duurder. De omvang van de bandbreedte zegt niets over de vraag of de prijs fair is.
Elk overzicht hier is een opgeslagen query met de bijbehorende SQL. Open een query, vervang de ticker en voer dezelfde implied-versus-realized-test uit op de Strasmore-terminal.