Heston मॉडेल आणि Volatility Smile चे विश्लेषण
एकाच व्होलॅटिलिटी आकड्याने संपूर्ण ऑप्शन चेनचे मूल्यमापन करणे अशक्य आहे. Heston मॉडेलमध्ये व्हेरिएन्स कसे बदलते आणि प्रत्येक पॅरामीटरचा स्माईलवर काय परिणाम होतो हे जाणून घ्या.
Heston मॉडेल आणि अस्थिरता
Heston मॉडेल हे option pricing मॉडेल आहे, जे अस्थिरतेला (volatility) स्थिर न मानता यादृच्छिक (random) मानते. यामध्ये दोन गतिमान घटक असतात: शेअरची किंमत आणि त्या किमतीचे विचरण (variance). या दोन्ही घटकांवर स्वतंत्रपणे यादृच्छिक परिणाम (random shock) होत असतात. याच दुसऱ्या यादृच्छिक स्त्रोतामुळे मॉडेल 'volatility smile' तयार करू शकते. Black-Scholes मॉडेलमध्ये गृहीत धरलेली एकसमान अस्थिरता केवळ सर्व strike pricesवर एक सपाट रेषा दर्शवू शकते, परंतु प्रत्यक्षात कोणतीही option chain कधीही सपाट नसते.
एकाच व्होलॅटिलिटी आकड्याने संपूर्ण ऑप्शन चेन का मोजता येत नाही
Implied volatility हे असे व्होलॅटिलिटी इनपुट आहे, ज्याच्या आधारे किंमत ठरवण्याचे सूत्र (pricing formula) बाजारात प्रत्यक्षात असलेल्या ऑप्शनच्या किमतीपर्यंत पोहोचते. प्रत्येक करारासाठी (contract) याची उलट गणना केल्यास, जसे की आमचे implied volatility कशी मोजली जाते हे पान स्पष्ट करते, तेव्हा एकाच expiry मध्ये strike prices नुसार एक वक्र (curve) मिळतो, एक स्थिर पातळी मिळत नाही. खालील पॅनेलमध्ये 2026 च्या पहिल्या सहामाहीत 20 ते 45 दिवस शिल्लक असलेले सर्व SPY कॉन्ट्रॅक्ट्स घेतले आहेत, त्यांना strike आणि spot मधील अंतराच्या 2% बँड्समध्ये विभागले आहे आणि प्रत्येक बँडमधील सरासरी implied volatility काढली आहे.
प्रत्येक आकड्यामागील अचूक SQL
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-12% बँडमध्ये, जिथे strike हे spot पेक्षा खूप खाली आहेत, तिथे सरासरी 28.05% implied volatility दिसून आली, जी त्याच कालावधीसाठी at-the-money सरासरीपेक्षा 11.61 व्होलॅटिलिटी पॉइंट्सने जास्त आहे. कॉल बाजूच्या +12% बँडमध्ये सरासरी 15.56% इतकी होती. यामधील बँड्स ज्या वक्राची रचना करतात, त्यालाच 'व्होलॅटिलिटी स्क्यू' (volatility skew) असे म्हणतात, जो volatility skew या नावाने ओळखला जातो. एकाच व्होलॅटिलिटी पॅरामीटरवर आधारित मॉडेलमध्ये यापैकी कशाचाही समावेश करण्याची सोय नसते: असे मॉडेल प्रत्येक strike साठी expiry च्या किमतीचे एकच वितरण (distribution) गृहीत धरते आणि त्या मॉडेलची उलट गणना केल्यास, रचनेनुसार प्रत्येक strike वर तोच आकडा मिळतो.
Heston मॉडेलमध्ये काय बदल होतात
Heston मॉडेल शेअरच्या रँडम शॉकला कायम ठेवते आणि व्हेरिएन्ससाठी (variance) दुसरी प्रक्रिया जोडते. चिन्हांऐवजी शब्दांत सांगायचे तर:
- पुढील क्षणात शेअरची हालचाल म्हणजे एक ड्रिफ्ट आणि रँडम शॉक, ज्याला सध्याच्या व्हेरिएन्सच्या वर्गमूळाने (square root) स्केल केले जाते.
- व्हेरिएन्सची हालचाल म्हणजे एका निश्चित वेगाने दीर्घकालीन पातळीकडे ओढले जाणे, अधिक त्याचा स्वतःचा शॉक, ज्याला 'व्हॉल-ऑफ-व्हॉल' (vol-of-vol) पॅरामीटर आणि सध्याच्या व्हेरिएन्सच्या वर्गमूळाने स्केल केले जाते.
- हे दोन शॉक एकमेकांशी ऋण एक आणि धन एक यांच्या दरम्यानच्या संख्येने संबंधित (correlated) असतात.
हे वर्गमूळ स्केलिंग म्हणजे Cox-Ingersoll-Ross स्वरूप आहे आणि ते एक महत्त्वाचे काम करते: जेव्हा व्हेरिएन्स शून्याच्या जवळ पोहोचतो, तेव्हा व्हेरिएन्स शॉक कमी होऊन नाहीसा होतो, ज्यामुळे व्हेरिएन्स उणे (negative) होत नाही. जेव्हा वेगाची दुप्पट आणि दीर्घकालीन व्हेरिएन्स यांचा गुणाकार हा 'व्हॉल-ऑफ-व्हॉल'च्या वर्गापेक्षा जास्त असतो, तेव्हा Feller यांच्या नावाने ओळखली जाणारी अट पूर्ण होते आणि व्हेरिएन्स पूर्णपणे धन (positive) राहतो.
व्हेरिएन्स स्वतः पाहता येत नाही. त्याचा 'इम्प्लाइड' (implied) प्रकार पाहता येतो आणि तो स्थिर नसतो. खालील पॅनेलमध्ये दोन नावांच्या 'ॲट-द-मनी' (at-the-money) इम्प्लाइड व्होलॅटिलिटीचा आलेख दिला आहे, जो 2026 च्या दुसऱ्या तिमाहीतील प्रत्येक सत्रातील एक रीडिंग दर्शवतो.
प्रत्येक आकड्यामागील अचूक SQL
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 ने ही विंडो 20.39% रोजी 2026-04-01 वर उघडली आणि 2026-06-30 रोजी 14.45% वर बंद केली. NVDA ने याच 62 सत्रांमध्ये 36.83% पासून 38.22% पर्यंत प्रवास केला. कोणतीही रेषा स्थिर राहत नाही आणि कोणतीही रेषा लांब पळत नाही: दोन्ही फिरत राहतात आणि पुन्हा एका ठराविक परिसरात परत येतात. त्या चित्राच्या दोन्ही टोकांची किंमत ठरवण्यासाठी सुरुवातीची पातळी, दीर्घकालीन पातळी आणि त्यांच्यामधील ओढीचा वेग विचारात घ्यावा लागतो.
प्रत्येक Heston पॅरामीटर पृष्ठभागावर कसा परिणाम करतो
मीन रिव्हर्जन आणि दीर्घकालीन स्तर टर्म स्ट्रक्चरला आकार देतात
ऑप्शनचे मूल्य त्याच्या कालावधीत अपेक्षित असलेल्या सरासरी व्हेरिएन्सवर अवलंबून असते, आजच्या व्हेरिएन्सवर नाही. पुढच्या आठवड्यात एक्सपायर होणाऱ्या कॉन्ट्रॅक्टसाठी, आजचा व्हेरिएन्स त्या सरासरीवर वर्चस्व गाजवतो; तर एका वर्षात एक्सपायर होणाऱ्या कॉन्ट्रॅक्टसाठी, दीर्घकालीन स्तर महत्त्वाचा ठरतो. स्पीड पॅरामीटर हे ठरवते की या दोन स्तरांमधील अपेक्षा किती वेगाने प्रवास करते, ज्यामुळे कॅलेंडरच्या सुरुवातीपासून शेवटपर्यंत इम्प्लाइड व्होलॅटिलिटीचा उतार किती तीव्र असेल हे निश्चित होते.
प्रत्येक आकड्यामागील अचूक SQL
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)2026 च्या पहिल्या सहामाहीत 1 to 7 days बकेटमधील नियर-द-मनी SPY कॉन्ट्रॅक्ट्सची सरासरी 17.05% होती, तर 181 to 365 days बकेटमध्ये ती 18.77% होती. याच दोन बकेटमध्ये NVDA ने अनुक्रमे 41.22% आणि 44.94% नोंदवले. एक-नंबर मॉडेल प्रत्येक टेनरसाठी समान व्होलॅटिलिटी वापरते. Heston मॉडेल फ्रंट आणि बॅक एंडला त्यांचे स्वतंत्र स्तर देते, तर स्पीड पॅरामीटर त्यांच्यामधील आकाराचे नियंत्रण करते. या वक्रांपैकी अधिक वक्र आमच्या IV टर्म स्ट्रक्चर पेजवर उपलब्ध आहेत.
व्होल ऑफ व्होल स्माईलला वळण देते
व्होल ऑफ व्होल म्हणजे स्वतः व्हेरिएन्सची व्होलॅटिलिटी. जर ती शून्य ठेवली, तर व्हेरिएन्स एका सरळ मार्गाने जातो: टर्म स्ट्रक्चरचा उतार कायम राहू शकतो, परंतु स्ट्राइक्समधील स्माईल सपाट होते. ती वाढवल्यास, एक्सपायरीच्या वेळी किमतीच्या वितरणाचे वजन दोन्ही टोकांना (tails) वाढते, ज्यामुळे स्पॉटपासून दूर असलेल्या स्ट्राइक्सची व्होलॅटिलिटी स्पॉटच्या जवळच्या स्ट्राइक्सपेक्षा जास्त होते. प्रत्यक्षात व्हेरिएन्स किती दूर प्रवास करतो हे अंडरलाइंगवर अवलंबून असते आणि खालील पॅनेल त्या प्रवासाचे थेट मोजमाप करते.
प्रत्येक आकड्यामागील अचूक SQL
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 ने पॅनेलमध्ये सर्वात मोठी श्रेणी व्यापली: ॲट-द-मनी इम्प्लाइड व्होलॅटिलिटी 28.21% इतकी कमी आणि 74.42% इतकी जास्त होती, जी सहा महिन्यांत 46.22 व्होलॅटिलिटी पॉइंट्सने भिन्न होती. KO ने सर्वात कमी, म्हणजे 10.75 पॉइंट्सची श्रेणी व्यापली. वेगा (Vega), जे व्होलॅटिलिटीप्रती किमतीची संवेदनशीलता आहे आणि ज्याची व्याख्या आमच्या वेगा पेजवर केली आहे, ते पृष्ठभागाचा स्तर मोजते. स्टोकास्टिक व्होलॅटिलिटी अंतर्गत, समान वेगा असलेली दोन कॉन्ट्रॅक्ट्स जेव्हा पृष्ठभागाचा स्तर बदलण्याऐवजी आकार बदलतो, तेव्हा वेगळ्या प्रकारे वागू शकतात.
कोरिलेशन स्माईलला स्क्यूमध्ये झुकवते
स्टॉकचा शॉक आणि व्हेरिएन्सचा शॉक यांच्यातील कोरिलेशन सममितीय स्माईलला एका बाजूला झुकलेल्या (lopsided) आकारात बदलते. नकारात्मक कोरिलेशनमध्ये, ज्या मार्गांनी स्टॉक पडतो, त्याच मार्गांनी व्हेरिएन्स वाढतो आणि एक्सपायरीच्या वेळी वितरणाच्या डाव्या टोकाचे (left tail) वजन उजव्या टोकापेक्षा जास्त असते. अशा वेळी, स्पॉटपासून समान अंतरावर असलेल्या पुट-साइड इम्प्लाइड व्होलॅटिलिटीची किंमत कॉल-साइड इम्प्लाइड व्होलॅटिलिटीपेक्षा जास्त असते.
प्रत्येक आकड्यामागील अचूक SQL
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 DESC2026 च्या पहिल्या सहामाहीत, SPY ने पॅनेलमध्ये सर्वात मोठी तफावत दर्शविली: स्पॉटच्या किमान 5% खाली स्ट्राइक असलेल्या कॉन्ट्रॅक्ट्सची सरासरी 27% होती, तर स्पॉटच्या किमान 5% वर स्ट्राइक असलेल्या कॉन्ट्रॅक्ट्सची सरासरी 14.76% होती, जे 12.23 व्होलॅटिलिटी पॉइंट्सने भिन्न होते. दुसऱ्या टोकाला, MSFT ने याच मोजमापावर 3.9 पॉइंट्स नोंदवले. प्रति अंडरलाइंग एक कोरिलेशन पॅरामीटर या सर्व झुकलेल्या आकारांना कव्हर करते.
सुरुवातीचा व्हेरिएन्स स्तर निश्चित करतो
पाचवा पॅरामीटर म्हणजे आज मॉडेल ज्या व्हेरिएन्सपासून सुरू होते. हे संपूर्ण पृष्ठभागाला वर किंवा खाली नेते, परंतु त्याचा आकार फारसा बदलत नाही. म्हणूनच हे पॅरामीटर सर्वात वारंवार रिफिट केले जाते: हे मॉडेलला बाजाराच्या सध्याच्या स्तरावर ठेवते, तर इतर चार पॅरामीटर्स भूमिती (geometry) सांभाळतात.
मॉडेल काय खरेदी करते आणि त्याची किंमत काय आहे
ही खरेदी एक अशी पृष्ठभाग आहे जी पाच अर्थपूर्ण आकड्यांपासून दोन दिशांना वळते आणि तिची किंमत त्वरित ठरवली जाते. Heston मॉडेल युरोपियन ऑप्शन्सचे मूल्यमापन एका वैशिष्ट्यपूर्ण फंक्शन (characteristic function) आणि एका संख्यात्मक इंटिग्रलद्वारे करते. यामध्ये कोणत्याही सिम्युलेशनची आवश्यकता नसते, ज्यामुळे संपूर्ण ऑप्शन्स चेनचे फिटिंग सेकंदाच्या काही भागात करणे शक्य होते. या प्रक्रियेतील खर्च स्पष्टपणे नमूद करणे आवश्यक आहे.
- हे पाच पॅरामीटर्स कॅलिब्रेट केलेले असतात; ते कशाचेही मोजमाप नसून बाजारात दिसणाऱ्या ऑप्शन्सच्या किमतींवर आधारित असतात.
- कॅलिब्रेशन म्हणजे एका विशिष्ट क्षणी घेतलेला स्नॅपशॉट असतो. उद्या पुन्हा फिटिंग केल्यास हे आकडे बदलतात, याचा अर्थ मॉडेलचे स्थिरांक (constants) स्थिर नसतात.
- पॅरामीटर्सचा एक संच क्वचितच सर्व एक्सपायरीसाठी एकाच वेळी लागू होतो. अतिशय कमी कालावधीच्या ऑप्शन्समध्ये दिसणारे 'स्माइल्स' या व्हेरिएन्स प्रक्रियेच्या क्षमतेपेक्षा अधिक तीव्र असतात.
- बाजारातील किमतींमध्ये गॅप (gap) असतो. या मॉडेलमध्ये व्हेरिएन्स आणि स्पॉट दोन्ही सतत बदलतात, त्यामुळे बाजारातील गॅपला फिट केलेल्या आकड्यांद्वारे सामावून घ्यावे लागते.
व्होलॅटिलिटीच्या पानांवरून येणाऱ्या वाचकांसाठी एक महत्त्वाची सूचना आहे. व्हेरिएन्स प्रक्रिया ऑप्शन्सची किंमत ठरवणारी गतिशीलता दर्शवते, जी स्टॉकच्या प्रत्यक्ष अनुभवास येणाऱ्या (realised) व्होलॅटिलिटीपेक्षा वेगळी असते. या दोघांमधील अंतर हा implied volatility versus realised volatility या विषयाचा भाग आहे.
मॉडेलमध्ये अजूनही राहणाऱ्या त्रुटी
प्रत्येक त्रुटीसाठी काही विस्तार उपलब्ध आहेत. Bates मॉडेल Heston मॉडेलमधील variance कायम ठेवते आणि किमतीच्या प्रक्रियेत jumps जोडते, ज्यामुळे अल्पकालीन smile अधिक तीव्र होते. Rough volatility मॉडेल्समध्ये random variance कायम ठेवला जातो, परंतु त्यातील चालक (driver) बदलून तो standard Brownian motion पेक्षा अधिक अस्थिर (rough) मार्गांचा वापर करतो, ज्यामुळे अत्यंत अल्पकालीन कालावधीचे अचूक आकलन होते. मात्र, यापैकी कोणत्याही मॉडेलमुळे calibration ची समस्या सुटत नाही; दोन्ही मॉडेल्समध्ये असे parameters जोडले जातात जे सुरुवातीला एका विशिष्ट स्थितीनुसार जुळवावे लागतात आणि त्यानंतर पुन्हा पुन्हा तपासावे लागतात.
वारंवार विचारले जाणारे प्रश्न (FAQ)
Heston मॉडेल म्हणजे काय, सोप्या भाषेत सांगा?
हे एक option pricing मॉडेल आहे ज्यामध्ये अस्थिरता (volatility) यादृच्छिक (random) असते. यामध्ये variance स्वतःचा मार्ग अनुसरते आणि दीर्घकालीन पातळीकडे आकर्षित होते. यातील यादृच्छिकता शेअरच्या किमतीशी संबंधित असते, ज्यामुळे हे मॉडेल सपाट रेषेऐवजी वक्र (curved) 'volatility smile'चे मूल्य निश्चित करू शकते.
Black-Scholes मॉडेलमध्ये 'flat volatility smile' का मिळते?
हे मॉडेल एक स्थिर अस्थिरता गृहीत धरते, ज्यामुळे expiryच्या वेळी किमतीचे एकच वितरण निश्चित होते. प्रत्येक strike priceचे मूल्य त्याच वितरणावरून काढले जाते आणि सूत्र उलट केल्यास प्रत्येक strikeवर तीच अस्थिरता मिळते. ही सपाट रेषा गृहीतकाचा परिणाम आहे, बाजारातील वास्तवाचा निष्कर्ष नाही.
Heston मॉडेलमधील पाच पॅरामीटर्सचा अर्थ काय?
Starting variance आजच्या अस्थिरतेची पातळी ठरवते. Long-run variance कालांतराने अस्थिरता कोणत्या पातळीकडे ओढली जाईल हे ठरवते, तर mean-reversion speed या ओढीचा वेग निश्चित करते. Vol of vol हे smileचा वक्रपणा (curvature) ठरवते आणि दोन धक्क्यांमधील correlation त्याचा कल (tilt) ठरवते.
Heston मॉडेल प्रत्यक्ष option किमतींशी जुळते का?
हे मॉडेल सामान्यतः पृष्ठभागाच्या मध्यभागाशी अचूक जुळते, परंतु अत्यंत अल्प कालावधीच्या (short end) बाबतीत त्याला अडचण येते, कारण तिथे बाजारात दिसणारे smiles या मॉडेलच्या variance प्रक्रियेपेक्षा अधिक तीव्रतेने वळतात. तसेच, जुळवून घेतलेले (fitted) पॅरामीटर्स दररोज बदलतात, ज्यामुळे calibration ही एकदाच करण्याची प्रक्रिया न राहता ती वारंवार करावी लागणारी कृती ठरते.
वरील प्रत्येक पॅनेल त्यामागील SQL कोडसह उपलब्ध आहे, जो इतर कोणत्याही नावासाठी किंवा कालावधीसाठी वापरता येतो. options डेटावर आधारित असे प्रश्न विचारण्यासाठी Strasmore टर्मिनल उघडा.