IV Term Structure: वक्र काय सांगतो?
IV term structure म्हणजे expiryनुसार मांडलेली implied volatility. चढता आणि उलटा वक्र काय दर्शवतो, तसेच प्रत्यक्ष option dataमधून त्याचा आकार कसा दिसतो ते जाणून घ्या.
IV term structure म्हणजे सध्याच्या शेअर किमतीजवळील strike price असलेल्या optionsचा वापर करून, प्रत्येक expiryसाठी एक वाचन घेतलेली आणि expirationच्या तुलनेत मांडलेली implied volatility. प्रत्यक्षात दिसणारे जवळजवळ सर्व प्रकार दोन आकारांत येतात. बाजार शांत असताना वक्र वरच्या दिशेने चढतो; दूरच्या expirationsसाठी implied volatility अधिक असते. एखादी विशिष्ट तारीख असलेली घटना front monthमध्ये असल्यास वक्र उलटा दिसतो. खालील दोन्ही आकार पाठ्यपुस्तकातील आकृतीवर आधारित नसून, प्रत्येक contractच्या option dataवरून तयार केले आहेत.
IV term structure काय मोजते
Implied volatility म्हणजे optionच्या किमतीतून underlying शेअरच्या संभाव्य हालचालीची दर्शवलेली वार्षिकीकृत व्याप्ती. ती प्रत्येक contractसाठी वेगळी उद्धृत केली जाते. त्यामुळे कोणत्याही क्षणी एका शेअरसाठी शेकडो readings उपलब्ध असतात—boardवरील प्रत्येक strike आणि expirationसाठी एक. Strike सध्याच्या किमतीजवळ स्थिर ठेवून expiration बदलल्यास हे readings एका curveमध्ये मांडले जातात. या curveला term structure म्हणतात.
बहुतेक स्पष्टीकरणांपेक्षा sampling अधिक महत्त्वाचे असते. येथे प्रत्येक panelमध्ये absolute delta 0.35 ते 0.65 दरम्यान असलेले contracts घेतले आहेत. Strike निश्चित न करता near the money मोजण्याची ही standard पद्धत आहे. त्यानंतर प्रत्येक maturity bandमधील implied volatilityचा median घेतला आहे. Averageऐवजी median वापरला आहे. कमी व्यवहार होणाऱ्या contractवरील जुना quote अवास्तव number दाखवू शकतो. Average वापरल्यास तो परिणामात समाविष्ट होतो.
June 2026 मधील sessionsसाठी सहा liquid namesची curve येथे दिली आहे.
प्रत्येक आकड्यामागील अचूक SQL
WITH (
SELECT quantileDeterministic(0.5)(toFloat64(implied_volatility), cityHash64(ticker))
FROM global_markets.options_greeks
WHERE underlying_symbol IN ('SPY', 'AAPL', 'MSFT', 'KO', 'JNJ', 'PG')
AND date >= toDate('2026-06-01')
AND date < toDate('2026-07-01')
AND iv_converged = 1
AND volume > 0
AND implied_volatility BETWEEN 0.03 AND 3
AND abs(toFloat64(delta)) BETWEEN 0.35 AND 0.65
AND days_to_expiry BETWEEN 5 AND 20
) AS front_band_iv
SELECT multiIf(days_to_expiry <= 20, '5-20 days',
days_to_expiry <= 45, '21-45 days',
days_to_expiry <= 90, '46-90 days',
days_to_expiry <= 180, '91-180 days',
'181-365 days') AS expiry_band,
round(100 * quantileDeterministic(0.5)(toFloat64(implied_volatility), cityHash64(ticker)), 1) AS median_iv_pct,
round(100 * (quantileDeterministic(0.5)(toFloat64(implied_volatility), cityHash64(ticker)) - front_band_iv), 1) AS pts_vs_front_band,
count() AS contract_count
FROM global_markets.options_greeks
WHERE underlying_symbol IN ('SPY', 'AAPL', 'MSFT', 'KO', 'JNJ', 'PG')
AND date >= toDate('2026-06-01')
AND date < toDate('2026-07-01')
AND iv_converged = 1
AND volume > 0
AND implied_volatility BETWEEN 0.03 AND 3
AND abs(toFloat64(delta)) BETWEEN 0.35 AND 0.65
AND days_to_expiry BETWEEN 5 AND 365
GROUP BY expiry_band
ORDER BY min(days_to_expiry)Median implied volatility 19.6% मध्ये 5-20 days bandमध्ये आणि 21.5% मध्ये 181-365 days bandमध्ये मोजली आहे. ती frontपेक्षा 1.9 points जास्त आहे. या आकाराला futures marketsमधून घेतलेले नाव आहे: contango. यात नंतरच्या deliveryसाठी जास्त price असतो. उलटलेली curve म्हणजे backwardation.
वक्र साधारणतः वरच्या दिशेने का झुकतो
सामान्य आकार टिकवून ठेवणाऱ्या दोन प्रक्रिया आहेत.
पहिली म्हणजे घटनांची घनता. नऊ दिवसांनी expire होणारा contract नऊ दिवसांचा calendar risk कव्हर करतो. त्या कालावधीत मोठ्या market-cap असलेल्या शेअरबाबत काहीही नियोजित नसेल, तर हे दिवस प्रामुख्याने सामान्य trading days असतात. एक वर्षाने expire होणारा contract चार quarterly reports, central bankच्या अनेक बैठका आणि त्यामधील प्रत्येक अनियोजित headline कव्हर करतो. प्रत्येक contractमध्ये ज्ञात असलेल्या अज्ञात जोखमींची संख्या जास्त असल्याने बाजार annualized volatilityसाठी अधिक किंमत देतो.
दुसरी म्हणजे volatilityचे स्वतःचे वर्तन. Realized volatility समूहाने बदलते: शांत आठवड्यांनंतर शांत आठवडे येतात आणि तीव्र हालचालींच्या आठवड्यांनंतर तशाच तीव्र हालचालींचे आठवडे येतात. बाजार शांत असताना near-dated optionsची किंमत आजच्या शांत readingsजवळ राहते. एका वर्षाने expire होणाऱ्या optionsची किंमत दीर्घकालीन averageच्या जवळ राहते. हा average अधिक उंच असतो. धक्का बसल्यानंतर हेच गणित उलट दिशेने लागू होते. Crashनंतरच्या sessionsमध्ये front expiryवर boardमधील सर्वाधिक implied volatility दिसते. संपूर्ण वक्र उलटा होतो. Far months मात्र त्यांच्या नेहमीच्या पातळीच्या जवळ टिकून राहतात.
वक्राला दिशा बदलणारी गोष्ट: निश्चित तारीख असलेली घटना
नियोजित earnings report ही तुम्ही पाहू शकणाऱ्या inversionची सर्वात स्पष्ट घटना असते. Report माहीत असलेल्या तारखेला बाजार बंद झाल्यानंतर जाहीर होतो. त्या तारखेनंतर settlement होणाऱ्या प्रत्येक expiryमध्ये हा price move समाविष्ट असतो; त्यापूर्वी settlement होणाऱ्या expiryमध्ये तो समाविष्ट नसतो. घटनेनंतरची सर्वात जवळची expiry हा परिणाम सरासरीत मिसळण्यासाठीच्या नेहमीच्या दिवसांची संख्या सर्वात कमी ठेवते, त्यामुळे तिचा annualized reading सर्वाधिक वाढतो. सहा महिन्यांचा option हीच घटना सुमारे 125 trading daysमध्ये पसरवतो आणि त्यात तिचा परिणाम जवळजवळ दिसत नाही.
NVIDIAने बुधवार, February 26, 2025 रोजी बाजार बंद झाल्यानंतर earnings report जाहीर केला. पॅनेल संपूर्ण curve दोनदा दाखवतो: printच्या आधीच्या शेवटच्या sessionमध्ये, February 25 रोजी, आणि त्यानंतरच्या पहिल्या sessionमध्ये, February 27 रोजी.
प्रत्येक आकड्यामागील अचूक SQL
SELECT multiIf(days_to_expiry <= 20, '5-20 days',
days_to_expiry <= 45, '21-45 days',
days_to_expiry <= 90, '46-90 days',
days_to_expiry <= 180, '91-180 days',
'181-365 days') AS expiry_band,
round(100 * quantileDeterministicIf(0.5)(toFloat64(implied_volatility), cityHash64(ticker),
toDate(date) = toDate('2025-02-25')), 1) AS iv_before_print_pct,
round(100 * quantileDeterministicIf(0.5)(toFloat64(implied_volatility), cityHash64(ticker),
toDate(date) = toDate('2025-02-27')), 1) AS iv_after_print_pct,
round(100 * (quantileDeterministicIf(0.5)(toFloat64(implied_volatility), cityHash64(ticker),
toDate(date) = toDate('2025-02-25'))
- quantileDeterministicIf(0.5)(toFloat64(implied_volatility), cityHash64(ticker),
toDate(date) = toDate('2025-02-27'))), 1) AS iv_drop_pts
FROM global_markets.options_greeks
WHERE underlying_symbol = 'NVDA'
AND date >= toDate('2025-02-25')
AND date < toDate('2025-02-28')
AND iv_converged = 1
AND volume > 0
AND implied_volatility BETWEEN 0.05 AND 5
AND abs(toFloat64(delta)) BETWEEN 0.35 AND 0.65
AND days_to_expiry BETWEEN 5 AND 365
GROUP BY expiry_band
HAVING countIf(toDate(date) = toDate('2025-02-25')) >= 3
AND countIf(toDate(date) = toDate('2025-02-27')) >= 3
ORDER BY min(days_to_expiry)5-20 days bandने printच्या आधीच्या sessionमध्ये 84.9% आणि त्यानंतरच्या sessionमध्ये 66.4% नोंदवले; हा बदल 18.5 pointsचा होता. त्याच दोन closesदरम्यान 181-365 days bandमध्ये 1 pointsची हालचाल झाली, जी front bandच्या हालचालीचा केवळ एक अंश होती. एकच underlying, एकच event; मात्र curveच्या दोन टोकांवर अनुभव पूर्णपणे भिन्न होता. हा front-end collapse म्हणजे IV crush; आणि तो आधीच कुठे दिसतो, हे term structure दर्शवते.
वक्राची उभारणी आणि संकुचन पाहणे
अहवालाच्या आधी किंवा नंतरचे एक सत्र म्हणजे केवळ एक क्षणचित्र असते. ही उभारणी अनेक आठवडे चालते आणि वक्राच्या दोन टोकांमधील वाढत्या फरकातून ती दिसून येते.
प्रत्येक आकड्यामागील अचूक SQL
SELECT toDate(date) AS session_date,
round(100 * quantileDeterministicIf(0.5)(toFloat64(implied_volatility), cityHash64(ticker),
days_to_expiry BETWEEN 5 AND 20), 1) AS front_iv_pct,
round(100 * quantileDeterministicIf(0.5)(toFloat64(implied_volatility), cityHash64(ticker),
days_to_expiry BETWEEN 91 AND 180), 1) AS back_iv_pct,
round(100 * (quantileDeterministicIf(0.5)(toFloat64(implied_volatility), cityHash64(ticker),
days_to_expiry BETWEEN 5 AND 20)
- quantileDeterministicIf(0.5)(toFloat64(implied_volatility), cityHash64(ticker),
days_to_expiry BETWEEN 91 AND 180)), 1) AS front_minus_back_pts
FROM global_markets.options_greeks
WHERE underlying_symbol = 'NVDA'
AND date >= toDate('2025-02-10')
AND date < toDate('2025-03-15')
AND iv_converged = 1
AND volume > 0
AND implied_volatility BETWEEN 0.05 AND 5
AND abs(toFloat64(delta)) BETWEEN 0.35 AND 0.65
AND ((days_to_expiry BETWEEN 5 AND 20) OR (days_to_expiry BETWEEN 91 AND 180))
GROUP BY session_date
HAVING countIf(days_to_expiry BETWEEN 5 AND 20) >= 3
AND countIf(days_to_expiry BETWEEN 91 AND 180) >= 3
ORDER BY session_dateविंडोच्या पहिल्या सत्रात दोन बँडमधील फरक 12.4 points होता, तर शेवटच्या सत्रात तो 3.3 points होता. हा बदल 24 सत्रांमध्ये झाला. पातळीपेक्षा समोरील रेषेचा आकार पाहा: अहवाल जवळ येत असताना ती वर चढते, अहवालाच्या आसपासच्या सत्रांमध्ये सर्वोच्च पातळीवर पोहोचते आणि त्यानंतर एका सत्रात पुन्हा खाली येते. मागील रेषेत संपूर्ण कालावधीत जवळजवळ कोणताही बदल होत नाही. Earnings आणि option greeks या लेखात याच घटनेचा individual contractsमधील vega आणि thetaवर होणारा परिणाम स्पष्ट केला आहे.
वक्र किती वेळा उलटा असतो?
Inversion दुर्मिळ नाही. एखादा ticker वर्षातील किती काळ या स्थितीत असतो, यात मोठा फरक दिसतो.
प्रत्येक आकड्यामागील अचूक SQL
WITH daily AS (
SELECT underlying_symbol,
toDate(date) AS session_date,
quantileDeterministicIf(0.5)(toFloat64(implied_volatility), cityHash64(ticker),
days_to_expiry BETWEEN 5 AND 30) AS front_iv,
quantileDeterministicIf(0.5)(toFloat64(implied_volatility), cityHash64(ticker),
days_to_expiry BETWEEN 91 AND 180) AS back_iv
FROM global_markets.options_greeks
WHERE underlying_symbol IN ('NVDA', 'AAPL', 'MSFT', 'AMZN', 'KO', 'JNJ', 'PG', 'SPY', 'XOM', 'WMT')
AND date >= toDate('2025-08-01')
AND date < toDate('2026-08-01')
AND iv_converged = 1
AND volume > 0
AND implied_volatility BETWEEN 0.03 AND 5
AND abs(toFloat64(delta)) BETWEEN 0.35 AND 0.65
AND ((days_to_expiry BETWEEN 5 AND 30) OR (days_to_expiry BETWEEN 91 AND 180))
GROUP BY underlying_symbol, session_date
HAVING countIf(days_to_expiry BETWEEN 5 AND 30) >= 3
AND countIf(days_to_expiry BETWEEN 91 AND 180) >= 3
)
SELECT underlying_symbol AS ticker,
count() AS sessions,
round(100 * countIf(front_iv > back_iv) / count(), 1) AS inverted_pct,
round(100 * quantileDeterministic(0.5)(front_iv - back_iv,
cityHash64(concat(underlying_symbol, toString(session_date)))), 1) AS median_spread_pts
FROM daily
GROUP BY underlying_symbol
ORDER BY inverted_pct DESC31 जुलै 2026 पर्यंतच्या बारा महिन्यांतील 251 सत्रांपैकी, XOM ने 68.5% सत्रांमध्ये front band हा 91 ते 180 दिवसांच्या bandपेक्षा वर नोंदवला. SPYसाठी हे प्रमाण 19.5% होते. त्यांच्या median gapsमध्ये अनुक्रमे 1.4 points आणि -2.1 pointsचा फरक होता. नियमित कॅलेंडरनुसार ठरलेले events असलेली नावे वर्षातील अधिक काळ inverted राहतात. व्यापक index fundचा बहुतांश वेळ contangoमध्ये जातो; inversion प्रामुख्याने selloffच्या काळात एकवटतात. IV rank वेगळी बाब मोजते: आजची पातळी स्वतःच्या मागील वर्षाच्या कक्षेत कुठे आहे, हे. Expirationsनुसार curveची रचना कशी आहे, हे नाही.
कॅलेंडर spreadवर flat किंवा inverted curveचा परिणाम
कॅलेंडर spreadमध्ये जवळच्या expiryचा option विकला जातो आणि त्याच strikeवर दूरच्या expiryचा option खरेदी केला जातो. डायगोनल spreadमध्येही हीच रचना असते, पण दोन वेगवेगळ्या strikesवर. दोन्ही प्रकारच्या positionमध्ये दूरच्या expiryची implied volatility long आणि जवळच्या expiryची implied volatility short असते. त्यामुळे term structure हा मुख्य input ठरतो; तो केवळ पार्श्वभूमीतील तपशील नसतो.
Curve वरच्या दिशेने झुकलेली असताना, जवळच्या legचा option दूरच्या legच्या optionपेक्षा कमी implied volatilityवर विकला जातो. एखाद्या eventपूर्वी front month inverted झाल्यास हे नाते उलटते. त्यामुळे position अशा curveमध्ये उघडली जाते, जिथे दोन्ही readingsमध्ये पुन्हा convergence होण्याची शक्यता असते. त्यानंतर frontची implied volatility backच्या दिशेने झपाट्याने कमी होते, backमध्ये फारसा बदल होत नाही आणि दोन्ही readingsमधील spread पुन्हा त्याच्या सामान्य स्वरूपात येतो. Positionचा अंतिम परिणाम शेअरची किंमत किती बदलते यावरही अवलंबून असतो. Curve त्याबाबत काही सांगत नाही. त्या समस्येच्या या भागासाठी expected move पृष्ठ पहा.
Flat curve ही अधिक गुंतागुंतीची स्थिती असते. कोणत्याही दिशेने काम करण्यासाठी slope नसतो. त्यामुळे परिणाम जवळजवळ पूर्णपणे शेअरच्या किंमतीच्या हालचालीवर आणि वेळ जसजसा पुढे जातो त्यावर अवलंबून असतो.
IV term structureविषयी वारंवार विचारले जाणारे प्रश्न
Optionsमधील IV term structure म्हणजे काय?
ही near-the-money optionsसाठी expiration dateनुसार मांडलेली implied volatility असते. June 2026मध्ये सहा liquid namesमध्ये median reading 19.6% या 5-20 days bandमध्ये आणि 21.5% या 181-365 days bandमध्ये होती.
Inverted IV term structureचा अर्थ काय?
Inverted curveमध्ये सर्वात जवळच्या expirationsमध्ये implied volatility सर्वाधिक दिसते. Front monthमध्ये एखादी ठरावीक कालबद्ध घटना येत असेल, तेव्हा अशी रचना दिसते. तीव्र selloffनंतरच्या sessionsमध्येही ती दिसू शकते. अशा वेळी near-dated contracts अलीकडील मोठ्या हालचालींवर आधारित किंमत ठरवतात, तर दूरच्या expirationsमधील contracts दीर्घकालीन सरासरीच्या जवळ राहतात.
Earningsपूर्वी front month implied volatility इतकी जास्त का असते?
Near-dated contractमध्ये अपेक्षित असलेल्या एका मोठ्या overnight हालचालीचा परिणाम सरासरीत समाविष्ट करण्यासाठी फारच कमी नियमित trading days उपलब्ध असतात. त्यामुळे annualized figure वाढते. NVIDIAच्या 5-20 days bandमध्ये त्याच्या February 26, 2025च्या reportच्या आदल्या sessionमध्ये 84.9% आणि त्यानंतरच्या sessionमध्ये 66.4% reading होती.
Term structure आणि volatility skew एकच आहेत का?
नाही. Skewमध्ये एका expirationमधील वेगवेगळ्या strikesवरील implied volatilityची तुलना केली जाते. Term structureमध्ये moneyness साधारण स्थिर ठेवून वेगवेगळ्या expirationsमधील तुलना केली जाते. Volatility skew याच surfaceमधील strike dimension समाविष्ट करते.
वरील प्रत्येक आकडा प्रत्येक contractच्या implied volatilityवरील stored queryमधून घेतलेला आहे. प्रत्येक panelखालील SQL विस्तारता येतो. Strasmore terminalवर कोणत्याही tickerसाठी हीच curve plot करा.