IV Term Structure: Curve काय सांगते?
IV term structure म्हणजे expirationनुसार मांडलेली implied volatility. वर चढणारी आणि उलटलेली curve काय दर्शवते, हे वास्तविक option dataसह समजून घ्या.
IV term structure म्हणजे expirationनुसार मांडलेली implied volatility. प्रत्येक expiryसाठी एक reading घेतली जाते आणि सध्याच्या शेअरच्या किमतीजवळील strike असलेले options वापरले जातात. तुम्हाला दिसणाऱ्या जवळपास सर्व परिस्थिती दोन आकारांत येतात: शांत बाजारात वर चढणारी slope, ज्यात दूरची expirations अधिक reading दाखवतात; आणि front monthमध्ये ठरावीक event असल्यास उलटलेली curve. खालील दोन्ही आकार textbook diagramवर नव्हे, तर प्रत्येक contractच्या option dataवर आधारित आहेत.
IV term structure काय मोजते
Implied volatility म्हणजे optionच्या किमतीतून underlying stockच्या हालचालीचा सूचित होणारा annualized आकार. ती प्रत्येक contractसाठी quote केली जाते. त्यामुळे कोणत्याही क्षणी एका stockसाठी boardवरील प्रत्येक strike आणि expirationनुसार शेकडो readings असतात. 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 नव्हे. कमी व्यवहार होणाऱ्या contractवरील एक stale 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 अधिक किमतीची असते. उलटलेली curve म्हणजे backwardation.
Curve साधारणतः वर का चढते
सामान्य आकार टिकवून ठेवणाऱ्या दोन प्रक्रिया आहेत.
पहिली म्हणजे event density. नऊ दिवसांनी expire होणारा contract calendar riskचे नऊ दिवस व्यापतो. त्या कालावधीत काहीही scheduled नसलेल्या large capमध्ये हे दिवस प्रामुख्याने सामान्य trading days असतात. एका वर्षाने expire होणारा contract चार quarterly reports, अनेक central bank meetings आणि मधल्या काळातील प्रत्येक unscheduled headline व्यापतो. प्रत्येक contractमध्ये अधिक ज्ञात-अज्ञात जोखीम असल्याने बाजार annualized numberसाठी अधिक किंमत देतो.
दुसरी म्हणजे volatilityचे वर्तन. Realized volatility clustersमध्ये दिसते: शांत आठवड्यांनंतर शांत आठवडे येतात आणि तीव्र हालचालींच्या आठवड्यांनंतर तशाच हालचालींचे आठवडे येतात. बाजार शांत असताना near dated options आजच्या शांत readingजवळ price होतात. एका वर्षाने expire होणारे options long run averageजवळ price होतात, आणि तो average अधिक असतो. Shockनंतर हेच गणित उलटे चालते. Crashनंतरच्या sessionsमध्ये front expiry boardवरील सर्वाधिक implied volatility दाखवते. Curveच्या संपूर्ण लांबीवर ती उलटते आणि दूरचे महिने त्यांच्या नेहमीच्या पातळीच्या जवळ राहतात.
Curve कशामुळे उलटते: ठरावीक event
Scheduled earnings report हे पाहता येणाऱ्या inversionचे सर्वात स्पष्ट उदाहरण आहे. Report ठरावीक तारखेला market closeनंतर जाहीर होतो. त्या तारखेनंतर settle होणाऱ्या प्रत्येक expirationमध्ये ही हालचाल समाविष्ट असते. त्यापूर्वी settle होणाऱ्या expirationमध्ये ती समाविष्ट नसते. Event व्यापणाऱ्या सर्वात जवळच्या expiryकडे त्या हालचालीला सामान्य दिवसांमध्ये average करण्यासाठी सर्वात कमी दिवस असतात. त्यामुळे तिची annualized reading सर्वाधिक वाढते. Six month option हीच event साधारणतः 125 trading daysमध्ये पसरवते आणि तिच्यावर त्याचा परिणाम फार कमी दिसतो.
NVIDIAने Wednesday, February 26, 2025 रोजी market closeनंतर report जाहीर केला. Panelमध्ये संपूर्ण 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)Printच्या आधीच्या sessionमध्ये 5-20 days bandची reading 84.9% होती आणि त्यानंतरच्या sessionमध्ये 66.4% होती. म्हणजे 18.5 pointsचा बदल. त्याच दोन closesमध्ये 181-365 days bandमध्ये 1 pointsचा बदल झाला. हा front bandच्या बदलाचा केवळ एक भाग होता. एकच underlying आणि एकच event, पण curveच्या दोन टोकांवर अनुभव वेगळा. Front endची ही घसरण IV crush आहे. Term structureमध्ये ती आधीच दिसते.
Curve तयार होताना आणि कोसळताना पाहणे
Reportच्या आधी आणि नंतरची एक-एक session म्हणजे snapshot आहे. Curveची build-up अनेक आठवडे चालते. Curveच्या दोन टोकांमधील अंतर वाढताना ती दिसते.
प्रत्येक आकड्यामागील अचूक 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_dateWindowच्या पहिल्या sessionमध्ये bandsमधील अंतर 12.4 points होते. शेवटच्या sessionमध्ये ते 3.3 points झाले. हा बदल 24 sessionsमध्ये झाला. Front lineची level नव्हे, तिचा आकार पाहा. Report जवळ येत असताना ती चढते. Reportच्या आसपासच्या sessionsमध्ये ती सर्वोच्च पातळीवर पोहोचते. त्यानंतर एका sessionमध्ये खाली येते. Back line संपूर्ण काळात जवळपास स्थिर राहते. Earnings आणि option greeksमध्ये या eventचा individual contractsवरील vega आणि thetaवर होणारा परिणाम स्पष्ट केला आहे.
Curve किती वेळा उलटते?
Inversion दुर्मिळ नाही. एखादे नाव वर्षातील किती काळ inverted राहते यात tickersनुसार मोठा फरक असतो.
प्रत्येक आकड्यामागील अचूक 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 DESCJuly 31, 2026पर्यंतच्या बारा महिन्यांतील 251 sessionsमध्ये XOM ने front bandची reading 91 ते 180 day bandपेक्षा 68.5% sessionsमध्ये अधिक दाखवली. 19.5% साठी हा आकडा SPY होता. त्यांचे median gaps अनुक्रमे 1.4 points आणि -2.1 points होते. नियमित calendarवर dated events असलेली names वर्षातील अधिक काळ inverted राहतात. Broad index fundचा बहुतांश काळ contangoमध्ये जातो आणि inversions selloffsच्या आसपास एकवटतात. IV rank काही वेगळे मोजते: आजची level तिच्या मागील वर्षातील पातळ्यांमध्ये कुठे आहे हे. Expirationsनुसार curveचा आकार कसा आहे हे ते मोजत नाही.
Flat किंवा inverted curveचा calendar spreadवर परिणाम
Calendar spreadमध्ये near dated option विकला जातो आणि त्याच strikeवरील longer dated option खरेदी केला जातो. Diagonalमध्येही हीच रचना असते, पण दोन वेगळ्या strikesसह. दोन्ही प्रकारच्या positionमध्ये back expiryची implied volatility long आणि front expiryची short असते. त्यामुळे term structure हा मुख्य input असतो; तो केवळ पार्श्वभूमीतील तपशील नसतो.
Curve वर चढत असल्यास near leg कमी implied volatilityवर विकला जातो आणि far leg अधिक implied volatilityवर खरेदी केला जातो. Eventच्या आधी front month inverted असल्यास हे नाते उलटते. अशावेळी position अशा curvemध्ये उघडली जाते जिथे convergenceसाठी जागा असते. त्यानंतर front collapse होऊन backच्या दिशेने येतो. Backमध्ये फारसा बदल होत नाही. दोन्ही readingsमधील spread त्याच्या सामान्य आकाराकडे परततो. Position प्रत्यक्षात कुठे पोहोचेल हे stock किती हलतो यावरही अवलंबून असते. Curve त्याबद्दल काही सांगत नाही. Expected move page या समस्येचा तो भाग स्पष्ट करते.
Flat curve ही अवघड परिस्थिती असते. कोणत्याही दिशेने काम करण्यासाठी slope नसते. त्यामुळे निकाल जवळपास पूर्णपणे stockच्या मार्गक्रमणावर आणि कालांतरावर अवलंबून असतो.
IV term structure FAQ
Optionsमध्ये IV term structure म्हणजे काय?
Near the money optionsसाठी expiration dateनुसार मांडलेली implied volatility म्हणजे IV term structure. June 2026मध्ये सहा liquid namesसाठी median reading 19.6% bandमध्ये 5-20 days आणि 21.5% bandमध्ये 181-365 days होती.
Inverted IV term structureचा अर्थ काय?
Inverted curveमध्ये सर्वात जवळच्या expirationsमध्ये implied volatilityची सर्वाधिक reading असते. Front monthमध्ये dated event असल्यास ती दिसते. तीव्र selloffनंतरच्या sessionsमध्येही ती दिसते. त्या वेळी near dated contracts अलीकडील मोठ्या हालचालींवर price होतात, तर दूरचे contracts long run averageच्या जवळ राहतात.
Earningsपूर्वी front monthची implied volatility इतकी जास्त का असते?
Near dated contractकडे एका मोठ्या अपेक्षित overnight moveला average करण्यासाठी फार कमी सामान्य trading days असतात. त्यामुळे ती हालचाल समाविष्ट करण्यासाठी annualized figure वाढते. NVIDIAच्या February 26, 2025 reportच्या आधीच्या sessionमध्ये तिच्या 5-20 days bandची reading 84.9% होती. त्यानंतरच्या sessionमध्ये ती 66.4% झाली.
Term structure आणि volatility skew एकच आहेत का?
नाही. Skew एका expirationमधील वेगवेगळ्या strikesवरील implied volatilityची तुलना करते. Term structure moneyness साधारणतः स्थिर ठेवते आणि expirationsमधील तुलना करते. Volatility skew याच surfaceमधील strike dimension स्पष्ट करते.
वरील प्रत्येक figure ही per contract implied volatilityवरील stored queryमधून घेतली आहे. प्रत्येक panelखाली SQL expand करता येतो. Strasmore terminalवर कोणत्याही tickerसाठी हीच curve plot करा.