Strasmore Research
Deep Dives · Matt ConnorBy Matt Connor ·

Mfano wa Heston na volatility smile katika soko

Namba moja ya volatility haitoshi kupanga bei ya option chain nzima. Gundua jinsi mfano wa Heston unavyoruhusu variance kubadilika na athari za kila kigezo kwenye smile.

Mfano wa Heston na tete ya soko

Mfano wa Heston ni njia ya kupanga bei ya option inayochukulia tete (volatility) kama kitu kinachobadilika ovyo badala ya kuwa na thamani isiyobadilika. Mfano huu una sehemu mbili zinazotembea: bei ya hisa, na variance ya bei hiyo, kila moja ikiwa na mshtuko wake wa nasibu. Chanzo hicho cha pili cha nasibu ndicho kinachoruhusu mfano huu kutoa volatility smile. Tete ya kudumu, ambayo ni dhana iliyomo ndani ya Black-Scholes, inaweza tu kuchora mstari ulionyooka kwenye strike price mbalimbali, na hakuna option chain yoyote ambayo imewahi kuwa tambarare.

Kwa nini namba moja ya volatility haiwezi kutosheleza mnyororo wa option

Implied volatility ni kigezo cha volatility kinachofanya fomula ya bei kutoa bei ambayo option inauzwa sokoni. Ukiigeuza kwa kila mkataba, kama ukurasa wetu wa jinsi implied volatility inavyokokotolewa unavyoonyesha, muda mmoja wa kuisha (expiry) hutoa mkondo (curve) katika strike prices mbalimbali badala ya kiwango kimoja. Jopo hapa chini linachukua kila mkataba wa SPY wenye siku ishirini hadi arobaini na tano zilizobaki kabla ya kuisha katika nusu ya kwanza ya mwaka 2026, linayapanga katika vikundi vya asilimia mbili kulingana na umbali kutoka strike price hadi bei ya sasa (spot), na kupata wastani wa implied volatility ndani ya kila kikundi.

UlizaVolatili ya SPY kulingana na umbali wa strike, siku 20 hadi 45 hadi kuiva (Jan hadi Jun 2026)
SQL halisi nyuma ya kila namba
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_bucket
Run this yourself

Kikundi cha -12%, chenye strike prices zilizo chini sana ya bei ya sasa, kilikuwa na wastani wa 28.05% wa implied volatility, ikiwa ni 11.61 volatility points juu ya wastani wa at-the-money kwa kipindi hicho hicho. Kikundi cha +12% upande wa call kilikuwa na wastani wa 15.56%. Vikundi vilivyo katikati vinaonyesha mkondo ambao athari hiyo inaitwa kwa jina lake, na mwelekeo wake wa pembeni unajulikana kama volatility skew. Mfano (model) wenye kigezo kimoja cha volatility hauna uwezo wa kufikia hali hii: kila strike price hupangiwa bei kulingana na usambazaji mmoja wa bei wakati wa kuisha, na kuigeuza mifano hiyo hurejesha namba ileile katika kila strike price, kwa mujibu wa muundo wake.

Mabadiliko yanayoletwa na mfano wa Heston

Heston huhifadhi mshtuko wa nasibu wa hisa na kuongeza mchakato wa pili kwa ajili ya variance. Kwa maneno badala ya alama:

  • Mwendo wa hisa katika muda mfupi ujao ni drift pamoja na mshtuko wa nasibu, uliopimwa kwa mzizi wa mraba wa variance ya sasa.
  • Mwendo wa variance ni mvutano kuelekea kiwango cha muda mrefu kwa kasi isiyobadilika, pamoja na mshtuko wake wenyewe, uliopimwa kwa kigezo cha vol-of-vol na mzizi wa mraba wa variance ya sasa.
  • Mishtuko hiyo miwili ina uwiano, kwa namba iliyo kati ya hasi moja na moja.

Upimaji huo wa mzizi wa mraba ni mfumo wa Cox-Ingersoll-Ross, na una kazi moja muhimu ya kufahamu: mshtuko wa variance hupungua kuelekea sifuri kadiri variance inavyokaribia sifuri, jambo ambalo huzuia variance kuwa hasi. Wakati mara mbili ya kasi ikizidishwa na variance ya muda mrefu inapozidi mraba wa vol-of-vol, hali inayojulikana kama Feller, variance hubaki chanya kabisa.

Variance yenyewe haiwezi kuonekana. Mbadala wake wa implied unaonekana, na haubaki tuli. Jopo hapa chini linachora at-the-money implied volatility kwa majina mawili, usomaji mmoja kwa kila kikao, katika robo ya pili ya mwaka wa 2026.

UlizaVolatili ya kila siku ya at-the-money, SPY na NVDA (Apr hadi Jun 2026)
SQL halisi nyuma ya kila namba
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 date
Run this yourself

SPY ilifungua dirisha hilo kwa 20.39% mnamo 2026-04-01 na kulifunga kwa 14.45% mnamo 2026-06-30. NVDA ilitoka 36.83% hadi 38.22% katika vikao hivyo 62. Hakuna mstari unaobaki tuli, na hakuna unaokimbia: yote mawili huzunguka na kuendelea kurudi katika eneo moja. Kupanga bei kwa ncha zote mbili za picha hiyo kunahitaji kiwango cha kuanzia pamoja na kiwango cha muda mrefu chenye kasi ya mvutano kati yao.

Jinsi kila kigezo cha Heston kinavyoathiri uso wa volatility

Mean reversion na kiwango cha muda mrefu huunda muundo wa muda (term structure)

Thamani ya option inategemea wastani wa variance inayotarajiwa katika muda wake wa uhai, si variance ya leo. Kwa mkataba unaoisha wiki ijayo, variance ya leo ndiyo inayotawala wastani huo; kwa mkataba unaoisha baada ya mwaka, kiwango cha muda mrefu ndicho kinachotawala. Kigezo cha kasi (speed parameter) huamua jinsi matarajio yanavyosafiri kati ya viwango hivyo, jambo ambalo huamua mwinuko wa implied volatility kutoka mwanzo hadi mwisho wa kalenda.

UlizaVolatili ya near-the-money kulingana na muda hadi kuiva (Jan hadi Jun 2026)
SQL halisi nyuma ya kila namba
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)
Run this yourself

Mikataba ya SPY iliyo karibu na bei ya soko (near-the-money) katika kundi la 1 to 7 days ilikuwa na wastani wa 17.05% katika nusu ya kwanza ya 2026, ikilinganishwa na 18.77% katika kundi la 181 to 365 days. NVDA ilirekodi 41.22% na 44.94% katika makundi hayo mawili. Mfano wa namba moja hupangia kila tenor bei kulingana na volatility moja. Heston huipa sehemu ya mbele na ya nyuma viwango vyake, huku kigezo cha kasi kikisimamia umbo lililopo katikati. Mikondo mingi zaidi ya aina hii inapatikana kwenye ukurasa wetu wa IV term structure.

Vol of vol hupinda tabasamu (smile)

Vol of vol ni volatility ya variance yenyewe. Ikiwekwa kwenye sifuri, variance hufuata mkondo laini: muundo wa muda unaweza bado kuwa na mwinuko, lakini tabasamu (smile) katika strike prices huwa tambarare. Ikiongezwa, usambazaji wa bei wakati wa kuisha kwa mkataba hupata uzito zaidi katika ncha zote mbili (tails), jambo ambalo huinua strike prices zilizo mbali na bei ya soko (spot) juu ya zile zilizo karibu nayo. Umbali ambao variance husafiri kwa vitendo hutofautiana kulingana na underlying, na paneli iliyo hapa chini hupima safari hiyo moja kwa moja.

UlizaKiwango cha mabadiliko ya volatili ya at-the-money (Jan hadi Jun 2026)
SQL halisi nyuma ya kila namba
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 DESC
Run this yourself

AMZN ilikuwa na safu pana zaidi katika paneli: at-the-money implied volatility ilikuwa chini kama 28.21% na juu kama 74.42%, ikiwa na tofauti ya 46.22 volatility points katika kipindi cha miezi sita. KO ilikuwa na safu finyu zaidi, ikiwa na 10.75 points. Vega, ambayo ni unyeti wa bei kwa volatility kama inavyofafanuliwa kwenye ukurasa wetu wa vega, hupima kiwango cha uso wa volatility. Chini ya stochastic volatility, mikataba miwili yenye vega inayolingana inaweza kuishi tofauti wakati umbo linapobadilika badala ya kiwango.

Correlation huinamisha tabasamu na kuwa skew

Uhusiano (correlation) kati ya mshtuko wa hisa na mshtuko wa variance hugeuza tabasamu linganifu kuwa lisilo na uwiano. Chini ya correlation hasi, njia ambazo hisa hushuka ni njia ambazo variance hupanda, na ncha ya kushoto ya usambazaji wakati wa kuisha kwa mkataba hubeba uzito zaidi kuliko ya kulia. Hivyo, put-side implied volatility hupata bei ya juu kuliko call-side implied volatility katika umbali sawa kutoka kwa bei ya soko.

UlizaVolatili ya put dhidi ya call, siku 20 hadi 45 (Jan hadi Jun 2026)
SQL halisi nyuma ya kila namba
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 DESC
Run this yourself

Katika nusu ya kwanza ya 2026, SPY ilionyesha pengo pana zaidi katika paneli: mikataba iliyopigwa (struck) angalau asilimia tano chini ya bei ya soko ilikuwa na wastani wa 27% dhidi ya 14.76% kwa mikataba iliyopigwa angalau asilimia tano juu, ikiwa na tofauti ya 12.23 volatility points. Kwa upande mwingine, MSFT ilirekodi 3.9 points katika kipimo hicho hicho. Kigezo kimoja cha correlation kwa kila underlying ndicho kinachofunika safu nzima ya mwinamo huo.

Variance ya kuanzia huweka kiwango

Kigezo cha tano ni variance ambayo mfano huanzia nayo leo. Huinua au kushusha uso mzima wa volatility bila kubadilisha sana umbo lake, ndiyo maana hurekebishwa mara nyingi zaidi: huiweka mfano kwenye kiwango cha sasa cha soko wakati vile vigezo vingine vinne hubeba jiometri ya uso huo.

Kile ambacho modeli hununua, na gharama zake

Ununuzi huu ni uso unaopinda katika pande mbili kutoka kwa namba tano zinazoweza kufafanuliwa, zilizopangiwa bei kwa haraka. Heston hutathmini European options kupitia characteristic function na numerical integral moja, bila kuhitaji simulation, jambo linalofanya uwezekano wa kupanga mnyororo mzima ndani ya sehemu ya sekunde kuwa wa vitendo. Gharama zake zinastahili kuelezwa wazi.

  • Vigezo vitano hivi hurekebishwa (calibrated), vikilinganishwa na bei za option zinazoonekana sokoni badala ya kupimwa kutoka kwa kitu chochote.
  • Calibration ni picha ya muda mfupi. Ukirekebisha tena kesho namba hizo zitabadilika, jambo linalomaanisha kuwa constants za modeli si za kudumu.
  • Seti moja ya vigezo mara chache sana hulingana na kila expiry kwa wakati mmoja. Smiles zinazoonekana katika muda mfupi sana hupinda kwa kasi zaidi kuliko mchakato huu wa variance unavyoweza kupinda.
  • Bei sokoni hupata mianya (gap). Variance na spot zote husogea mfululizo hapa, na mwanya wowote lazima ufyonzwe na namba zilizorekebishwa.

Tahadhari moja ni muhimu kwa wasomaji wanaotoka katika kurasa za volatility. Mchakato wa variance unaelezea mienendo inayopangia bei options, ambayo ni kitu tofauti na volatility ambayo hisa huishia kupata (realised). Umbali kati ya vitu hivi viwili ndio mada ya implied volatility dhidi ya realised volatility.

Maeneo ambayo modeli bado inakosa

Kuna nyongeza kwa kila pengo. Bates anadumisha variance ya Heston na kuongeza jumps kwenye mchakato wa bei, jambo ambalo hufanya smile ya muda mfupi kuwa kali zaidi. Modeli za rough volatility hudumisha random variance na kubadilisha dereva kwa njia ambazo ni mbaya zaidi kuliko Brownian motion ya kawaida, jambo linalolingana kwa karibu zaidi na mwisho wa muda mfupi sana. Hakuna kati ya hizo inayotatua tatizo la calibration: zote huongeza vigezo (parameters) ambavyo lazima viwekwe kulingana na wakati na kurekebishwa tena baadaye.

Maswali Yanayoulizwa Mara kwa Mara

Mfano wa Heston ni nini kwa lugha rahisi?

Ni mfano wa kupanga bei ya option ambapo volatility hubadilika bila mpangilio. Variance hufuata mkondo wake yenyewe huku ikivutwa kuelekea kiwango cha muda mrefu, na hali yake ya kutotabirika huambatana na ile ya hisa, jambo linaloruhusu mfano huu kupanga bei ya volatility smile iliyopinda badala ya mstari ulionyooka.

Kwa nini Black-Scholes hutoa volatility smile iliyonyooka?

Inadhani kuwa kuna volatility moja isiyobadilika, ambayo huweka usambazaji mmoja wa bei wakati wa kuisha kwa mkataba. Kila strike price hupangiwa bei kutokana na usambazaji huo huo, na kubadili fomula hiyo hurudisha volatility ile ile kwa kila strike price. Mstari ulionyooka ni matokeo ya dhana hiyo, si ugunduzi kuhusu masoko.

Vigezo vitano vya Heston vinamaanisha nini?

Starting variance huweka kiwango cha sasa cha uso wa bei. Long-run variance huweka mahali ambapo variance huvutiwa kuelekea kwa muda, na mean-reversion speed huweka kasi ya mvutano huo. Vol of vol huweka mwinuko wa smile, na uwiano kati ya mishtuko hiyo miwili huweka mwelekeo wake.

Je, mfano wa Heston unaendana na bei halisi za option?

Unaendana vyema na sehemu ya katikati ya uso wa bei wa kawaida na hupata ugumu katika kipindi kifupi sana, ambapo smiles zinazoonekana hupinda kwa kasi zaidi kuliko mchakato wake wa variance unavyoruhusu. Vigezo vilivyopangwa pia hubadilika kutoka siku moja hadi nyingine, jambo linalofanya calibration kuwa zoezi la kurudiarudia badala ya kipimo cha mara moja.


Kila paneli hapo juu huja na SQL iliyoizalisha, ikiwa tayari kuelekezwa kwenye jina lingine au dirisha lingine. Ili kuuliza mojawapo ya maswali haya kwa lugha rahisi dhidi ya data ya options, fungua terminal ya Strasmore.