Heston model en de volatility smile uitgelegd
Eén enkel volatiliteitscijfer volstaat niet voor een volledige optieketen. Ontdek hoe het Heston model variantie laat variëren en wat de parameters betekenen voor de volatility smile.
Het Heston-model voor optiewaardering
Het Heston-model is een model voor optiewaardering dat volatiliteit als een stochastische in plaats van een vaste variabele beschouwt. Het model bevat twee bewegende delen: de aandelenkoers en de variantie van die koers, waarbij beide onderhevig zijn aan een eigen willekeurige schok. Die tweede bron van willekeur stelt een model in staat om überhaupt een volatility smile te genereren. Eén constante volatiliteit, de aanname binnen het Black-Scholes-model, kan enkel een vlakke lijn over de uitoefenprijzen trekken, terwijl geen enkele optieketen ooit vlak is geweest.
Waarom één volatiliteitscijfer niet volstaat voor een optieketen
Implied volatility is de volatiliteitsinput die ervoor zorgt dat een prijsformule de prijs oplevert waartegen een optie daadwerkelijk wordt verhandeld. Wanneer men dit contract voor contract omkeert, zoals onze pagina over hoe implied volatility wordt berekend uiteenzet, levert één expiratiedatum een curve op over de verschillende uitoefenprijzen in plaats van één enkel niveau. Het onderstaande paneel neemt elk SPY-contract met twintig tot vijfenveertig dagen resterende looptijd gedurende de eerste helft van tweeduizend zesentwintig, sorteert deze in banden van twee procent op basis van de afstand tussen de uitoefenprijs en de spotprijs, en berekent de gemiddelde implied volatility binnen elke band.
De exacte SQL achter elk getal
WITH
(
SELECT avg(implied_volatility)
FROM global_markets.options_greeks
WHERE underlying_symbol = 'SPY'
AND date BETWEEN '2026-01-02' 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.01
) AS atm_iv
SELECT
concat(if(m_bucket > 0, '+', ''), toString(m_bucket), '%') AS moneyness,
round(avg(iv) * 100, 2) AS iv_pct,
round((avg(iv) - atm_iv) * 100, 2) AS iv_vs_atm_pts,
count() AS contracts
FROM
(
SELECT
implied_volatility AS iv,
toInt16(round((toFloat64(strike_price) / toFloat64(underlying_close) - 1) * 50) * 2) AS m_bucket
FROM global_markets.options_greeks
WHERE underlying_symbol = 'SPY'
AND date BETWEEN '2026-01-02' 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.12
)
GROUP BY m_bucket
HAVING count() >= 100
ORDER BY m_bucketDe -12%-band, met uitoefenprijzen ver onder de spotprijs, vertoonde een gemiddelde implied volatility van 28.05%, wat 11.61 volatiliteitspunten boven het at-the-money gemiddelde voor dezelfde periode ligt. De +12%-band aan de call-zijde kwam uit op een gemiddelde van 15.56%. De banden daartussen vormen de curve waaraan het effect zijn naam ontleent, en de zijwaartse helling daarvan staat bekend als volatility skew. Een model met slechts één volatiliteitsparameter beschikt niet over de instellingen om dit te verklaren: elk contract wordt geprijsd op basis van één verdeling voor de prijs bij expiratie, en het omkeren van dat model levert per definitie voor elke uitoefenprijs hetzelfde getal op.
Wat het Heston-model verandert
Heston behoudt de willekeurige schok van het aandeel en voegt een tweede proces toe voor de variantie. In woorden in plaats van symbolen:
- De beweging van het aandeel over het volgende moment is een drift plus een willekeurige schok, geschaald door de vierkantswortel van de huidige variantie.
- De beweging van de variantie is een trek naar een langetermijnniveau met een vaste snelheid, plus een eigen schok, geschaald door een vol-of-vol-parameter en de vierkantswortel van de huidige variantie.
- De twee schokken zijn gecorreleerd met een getal tussen min één en één.
Die schaling met de vierkantswortel is de Cox-Ingersoll-Ross-vorm, en die vervult één taak die het vermelden waard is: de variantieschok krimpt naar nul naarmate de variantie nul nadert, wat voorkomt dat de variantie negatief wordt. Wanneer twee keer de snelheid vermenigvuldigd met de langetermijnvariantie groter is dan het kwadraat van de vol-of-vol, een voorwaarde die naar Feller is vernoemd, blijft de variantie strikt positief.
Variantie zelf is niet observeerbaar. De impliciete tegenhanger daarvan is dat wel, en die staat niet stil. Het onderstaande paneel toont de at-the-money implied volatility voor twee namen, één meting per sessie, gedurende het tweede kwartaal van 2026.
De exacte SQL achter elk getal
SELECT
toString(date) AS session_date,
round(avgIf(implied_volatility, underlying_symbol = 'SPY') * 100, 2) AS spy_atm_iv_pct,
round(avgIf(implied_volatility, underlying_symbol = 'NVDA') * 100, 2) AS nvda_atm_iv_pct
FROM global_markets.options_greeks
WHERE underlying_symbol IN ('SPY', 'NVDA')
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.05
GROUP BY date
HAVING countIf(underlying_symbol = 'SPY') > 0
AND countIf(underlying_symbol = 'NVDA') > 0
ORDER BY dateSPY opende het venster op 20.39% op 2026-04-01 en sloot het op 14.45% op 2026-06-30. NVDA bewoog van 36.83% naar 38.22% gedurende dezelfde 62 sessies. Geen van beide lijnen blijft stilstaan, en geen van beide loopt weg: beide dwalen rond en keren steeds terug naar een bepaalde omgeving. Het prijzen van beide uiteinden van dat beeld vereist een startniveau plus een langetermijnniveau met een snelheid voor de trek daartussen.
Wat elke Heston-parameter doet met het oppervlak
Mean reversion en het langetermijnniveau bepalen de term structure
De waarde van een optie hangt af van de gemiddelde variantie die over de looptijd wordt verwacht, niet van de variantie op dit moment. Voor een contract dat volgende week afloopt, is de huidige variantie bepalend voor dat gemiddelde; voor een contract dat over een jaar afloopt, is het langetermijnniveau doorslaggevend. De snelheidsparameter bepaalt hoe snel de verwachting zich tussen deze twee punten beweegt, wat vastlegt hoe steil de implied volatility verloopt van de korte naar de lange kant van de kalender.
De exacte SQL achter elk getal
SELECT
tenor,
round(avgIf(implied_volatility, underlying_symbol = 'SPY') * 100, 2) AS spy_iv_pct,
round(avgIf(implied_volatility, underlying_symbol = 'NVDA') * 100, 2) AS nvda_iv_pct
FROM
(
SELECT
implied_volatility,
underlying_symbol,
days_to_expiry,
multiIf(
days_to_expiry <= 7, '1 to 7 days',
days_to_expiry <= 21, '8 to 21 days',
days_to_expiry <= 45, '22 to 45 days',
days_to_expiry <= 90, '46 to 90 days',
days_to_expiry <= 180, '91 to 180 days',
'181 to 365 days') AS tenor
FROM global_markets.options_greeks
WHERE underlying_symbol IN ('SPY', 'NVDA')
AND date BETWEEN '2026-01-02' AND '2026-06-30'
AND iv_converged = 1
AND volume > 0
AND days_to_expiry BETWEEN 1 AND 365
AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) <= 0.02
)
GROUP BY tenor
HAVING countIf(underlying_symbol = 'SPY') > 0
AND countIf(underlying_symbol = 'NVDA') > 0
ORDER BY min(days_to_expiry)Near-the-money SPY-contracten in de 1 to 7 days-bucket noteerden in de eerste helft van 2026 gemiddeld 17.05%, tegenover 18.77% in de 181 to 365 days-bucket. NVDA noteerde 41.22% en 44.94% over diezelfde twee buckets. Een model met één getal waardeert elke looptijd op basis van dezelfde volatiliteit. Heston geeft de korte en de lange kant eigen niveaus, waarbij de snelheidsparameter de vorm daartussen bepaalt. Meer van deze curves vindt u op onze pagina IV term structure.
Vol of vol buigt de smile
Vol of vol is de volatiliteit van de variantie zelf. Zet deze op nul en de variantie volgt een vloeiend pad: de term structure kan nog steeds hellen, maar de smile over de uitoefenprijzen wordt vlak. Verhoog deze parameter en de verdeling van de prijs bij afloop krijgt meer gewicht in beide staarten, wat uitoefenprijzen ver van de spotprijs boven die dichtbij de spotprijs tilt. Hoe ver de variantie in de praktijk beweegt, verschilt per onderliggende waarde, en het onderstaande paneel meet die beweging direct.
De exacte SQL achter elk getal
SELECT
symbol,
round(min(daily_iv) * 100, 2) AS low_iv_pct,
round(max(daily_iv) * 100, 2) AS high_iv_pct,
round((max(daily_iv) - min(daily_iv)) * 100, 2) AS swing_pts
FROM
(
SELECT
underlying_symbol AS symbol,
date,
avg(implied_volatility) AS daily_iv
FROM global_markets.options_greeks
WHERE underlying_symbol IN ('SPY', 'AAPL', 'MSFT', 'NVDA', 'AMZN', 'KO')
AND date BETWEEN '2026-01-02' 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.05
GROUP BY symbol, date
)
GROUP BY symbol
ORDER BY swing_pts DESCAMZN besloeg het breedste bereik in het paneel: at-the-money implied volatility zo laag als 28.21% en zo hoog als 74.42%, een verschil van 46.22 volatiliteitspunten over zes maanden. KO besloeg het smalste bereik, met 10.75 punten. Vega, de prijsgevoeligheid voor volatiliteit die onze vega-pagina definieert, meet het niveau van het oppervlak. Bij stochastische volatiliteit kunnen twee contracten met een gelijke vega zich verschillend gedragen wanneer de vorm verandert in plaats van het niveau.
Correlatie kantelt de smile in een skew
De correlatie tussen de schok in het aandeel en de schok in de variantie verandert een symmetrische smile in een scheve. Bij een negatieve correlatie zijn paden waarin het aandeel daalt paden waarin de variantie stijgt, en krijgt de linkerkant van de verdeling bij afloop meer gewicht dan de rechterkant. De implied volatility aan de put-zijde noteert dan hoger dan de implied volatility aan de call-zijde op dezelfde afstand van de spotprijs.
De exacte SQL achter elk getal
SELECT
underlying_symbol AS symbol,
round(avgIf(iv, ratio <= 0.95) * 100, 2) AS otm_put_iv_pct,
round(avgIf(iv, ratio >= 1.05) * 100, 2) AS otm_call_iv_pct,
round((avgIf(iv, ratio <= 0.95) - avgIf(iv, ratio >= 1.05)) * 100, 2) AS put_minus_call_pts
FROM
(
SELECT
underlying_symbol,
implied_volatility AS iv,
toFloat64(strike_price) / toFloat64(underlying_close) AS ratio
FROM global_markets.options_greeks
WHERE underlying_symbol IN ('SPY', 'AAPL', 'MSFT', 'NVDA', 'AMZN', 'KO')
AND date BETWEEN '2026-01-02' 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.20
)
GROUP BY underlying_symbol
HAVING countIf(ratio <= 0.95) > 0
AND countIf(ratio >= 1.05) > 0
ORDER BY put_minus_call_pts DESCIn de eerste helft van 2026 vertoonde SPY het grootste verschil in het paneel: contracten met een uitoefenprijs van ten minste vijf procent onder de spotprijs noteerden gemiddeld 27%, tegenover 14.76% voor contracten met een uitoefenprijs van ten minste vijf procent erboven, een verschil van 12.23 volatiliteitspunten. Aan de andere kant noteerde MSFT 3.9 punten bij dezelfde meting. Eén correlatieparameter per onderliggende waarde is voldoende om dat hele bereik aan kantelingen te dekken.
Startvariantie bepaalt het niveau
De vijfde parameter is de variantie waarmee het model vandaag begint. Deze tilt het gehele oppervlak op of laat het zakken zonder de vorm wezenlijk te veranderen. Daarom wordt deze parameter het vaakst opnieuw gekalibreerd: zo blijft het model aansluiten bij het huidige marktniveau, terwijl de andere vier de geometrie bepalen.
Wat het model koopt, en wat het kost
De aankoop is een oppervlak dat in twee richtingen buigt op basis van vijf interpreteerbare getallen, die snel worden geprijsd. Heston waardeert Europese opties via een karakteristieke functie en één numerieke integraal, zonder dat simulatie vereist is. Hierdoor is het praktisch om een volledige optieketen in een fractie van een seconde te fitten. De kosten zijn het vermelden waard.
- De vijf parameters worden gekalibreerd; ze worden gefit op geobserveerde optieprijzen in plaats van gemeten aan de hand van andere gegevens.
- Een kalibratie is een momentopname. Bij een nieuwe fit de volgende dag veranderen de getallen, wat betekent dat de constanten van het model niet constant zijn.
- Eén parameterset past zelden op alle looptijden tegelijk. De geobserveerde smiles aan de zeer korte kant buigen scherper dan dit variantieproces kan buigen.
- Prijzen in de markt vertonen gaps. Variantie en spot bewegen hier continu, en een gap moet worden opgevangen door de gefitte getallen.
Eén kanttekening is van belang voor lezers die afkomstig zijn van de volatiliteitspagina's. Het variantieproces beschrijft de dynamiek die opties prijst; dit is een ander object dan de volatiliteit die een aandeel uiteindelijk realiseert. Het verschil tussen beide is het onderwerp van implied volatility versus realised volatility.
Waar het model tekortschiet
Voor elk hiaat bestaan uitbreidingen. Bates behoudt de variantie van Heston en voegt sprongen toe aan het prijsproces, wat de smile voor de korte looptijd steiler maakt. Rough volatility-modellen behouden de stochastische variantie en vervangen de aansturende factor door paden die grilliger zijn dan standaard Brownse beweging, waardoor zij beter aansluiten op de zeer korte looptijd. Geen van beide lost het kalibratieprobleem op: beide voegen parameters toe die aan een moment moeten worden aangepast en daarna opnieuw moeten worden gekalibreerd.
Veelgestelde vragen
Wat is het Heston-model in eenvoudige bewoordingen?
Het is een model voor optiewaardering waarin volatiliteit stochastisch is. De variantie volgt een eigen pad met een tendens naar een langetermijnniveau, en de willekeurigheid ervan is gecorreleerd met die van het aandeel. Hierdoor kan het model een gebogen volatility smile waarderen in plaats van een vlakke lijn.
Waarom geeft Black-Scholes een vlakke volatility smile?
Het model gaat uit van één constante volatiliteit, wat één verdeling voor de prijs bij afloop vastlegt. Elke strike wordt gewaardeerd op basis van diezelfde verdeling, en het inverteren van de formule levert bij elke strike dezelfde volatiliteit op. De vlakke lijn is een resultaat van de aanname, niet een observatie van de markten.
Wat betekenen de vijf Heston-parameters?
De startvariantie bepaalt het huidige niveau van het oppervlak. De langetermijnvariantie bepaalt waar de variantie na verloop van tijd naartoe trekt, en de snelheid van mean-reversion bepaalt hoe krachtig die aantrekkingskracht is. De vol-of-vol bepaalt de kromming van de smile, en de correlatie tussen de twee schokken bepaalt de helling ervan.
Sluit het Heston-model aan bij werkelijke optieprijzen?
Het model sluit nauw aan bij het midden van een typisch oppervlak, maar heeft meer moeite met de zeer korte looptijden, waar de geobserveerde smiles scherper buigen dan het variantieproces toelaat. De gefitte parameters veranderen bovendien van dag tot dag, waardoor kalibratie een herhaalde oefening is in plaats van een eenmalige meting.
Elk bovenstaand paneel wordt geleverd met de SQL die het heeft gegenereerd, klaar om te worden gekoppeld aan een andere naam of een ander venster. Om een van deze vragen in begrijpelijke taal te stellen aan optiedata, opent u de Strasmore-terminal.