Strasmore Research
शिक्षण Matt Connorद्वारे Matt Connor

ऐतिहासिक Implied Volatility डेटा कुठे मिळेल?

ऐतिहासिक implied volatility डेटा कुठे मिळतो, दोन 30-दिवसीय IV series का विसंगत असतात, मोफत व सशुल्क स्रोत काय देतात आणि स्वतः query कशी चालवावी.

ऐतिहासिक implied volatilityचा डेटा नोंदवलेला नसून व्युत्पन्न केलेला असतो. हीच बाब त्याचा स्रोत price historyपेक्षा मिळवणे अधिक कठीण का आहे, हे स्पष्ट करते. Optionची बाजारातील किंमत pricing modelमध्ये उलट पद्धतीने वापरून modelचे मूल्य स्क्रीनवरील किमतीशी जुळवले जाते; त्यातून मिळणारी संख्या म्हणजे IV. कोणताही exchange ती tapeवर नोंदवत नाही. त्यामुळे प्रकाशित होणाऱ्या प्रत्येक IV historyमध्ये model, quote, contract selection आणि interpolation यांविषयी काही निवडी अंतर्भूत असतात. समान गोष्ट मोजत असल्याचा दावा करणाऱ्या दोन seriesमधील संपूर्ण फरक याच निवडींमुळे निर्माण होतो.

तुम्हाला प्रथम व्याख्या पाहायची असल्यास, implied volatility म्हणजे काय आणि implied volatilityची गणना कशी केली जाते येथे mechanics स्पष्ट केले आहेत. पुढील मजकुरात हा इतिहास कुठे आढळतो आणि त्याच्या दोन आवृत्त्यांमधील फरक कसा ओळखायचा, हे सांगितले आहे.

ऐतिहासिक implied volatility data मिळवणे price dataपेक्षा कठीण का असते?

दैनंदिन closing price प्रत्यक्ष दिसते. त्याचे trade print झालेले असते आणि प्रत्येक vendor तोच आकडा नोंदवतो. IVची पातळी मात्र गणना करून ठरवली जाते. त्या गणनेतील चार inputs वेगवेगळ्या स्रोतांनुसार बदलतात.

  • Model: European Black-Scholes solve, discrete dividends असलेला American binomial tree किंवा स्वतःचे interest-rate आणि borrow assumptions वापरणारा vendor variant.
  • गणनेत वापरलेली किंमत: bid, ask, mid, last trade किंवा exchange settlement price.
  • कोणते contracts धरले जातात: एक at-the-money strike, moneyness band किंवा volume अथवा open-interest filter.
  • ही संख्या निश्चित maturityपर्यंत कशी नेली जाते: 30 दिवसांना छेदणाऱ्या दोन expiriesमधील interpolation करून किंवा days-to-expiry windowमध्ये येणाऱ्या सर्व contractsची सरासरी घेऊन.

एक input बदलला तरी पातळी बदलते. चारही inputs बदलल्यास, एकाच sessionसाठी दोन काळजीपूर्वक काम करणारे sources volatilityमध्ये अनेक pointsच्या फरकावर पोहोचू शकतात. तरीही त्यांपैकी कोणतेही चुकीचे नसते.

ही dispersion एकाच nameच्या पातळीवर सुरू होते. खालील panelमध्ये June 2026मधील AAPL घेतले आहे. Spot priceच्या 5%च्या आत असलेले strikesच ठेवले आहेत आणि उरलेले contracts expiryपर्यंतच्या शिल्लक कालावधीनुसार विभागले आहेत.

क्वेरीएक नाव, एक महिना: मुदतपूर्तीपर्यंतच्या कालावधीनुसार अंतर्निहित अस्थिरता (AAPL, जून 2026)
प्रत्येक आकड्यामागील अचूक SQL
SELECT
    dte_band,
    round(100 * quantileDeterministic(0.25)(iv, contract_hash), 1) AS iv_p25_pct,
    round(100 * quantileDeterministic(0.50)(iv, contract_hash), 1) AS iv_median_pct,
    round(100 * quantileDeterministic(0.75)(iv, contract_hash), 1) AS iv_p75_pct,
    count()                                                        AS contract_day_count
FROM
(
    SELECT
        multiIf(days_to_expiry <=   7, '01-07d',
                days_to_expiry <=  21, '08-21d',
                days_to_expiry <=  45, '22-45d',
                days_to_expiry <=  90, '46-90d',
                days_to_expiry <= 180, '91-180d',
                                       '181d+')  AS dte_band,
        toFloat64(implied_volatility)             AS iv,
        cityHash64(ticker)                        AS contract_hash,
        days_to_expiry                            AS dte
    FROM global_markets.options_greeks
    WHERE underlying_symbol = 'AAPL'
      AND date >= '2026-06-01'
      AND date <  '2026-07-01'
      AND iv_converged = 1
      AND volume > 0
      AND days_to_expiry > 0
      AND underlying_close > 0
      AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) < 0.05
)
GROUP BY dte_band
ORDER BY min(dte)
Run this yourself

Underlying तोच आहे आणि monthही तोच आहे. फक्त near-the-money strikes घेतले आहेत. दिसणाऱ्या सर्वांत कमी कालावधीच्या bandमध्ये, 01-07d, median IV 29.6% होता. सर्वांत दीर्घ कालावधीच्या bandमध्ये, 181d+, तो 28.1% होता. पहिल्या bandमध्येच 25th आणि 75th percentiles अनुक्रमे 24.9% आणि 35.8% होते. Expiriesनुसार दिसणाऱ्या या रचनेला term structure म्हणतात. Strikesनुसार तिच्या समांतर रचनेला volatility skew म्हणतात. येथे एकच IV नाही. येथे एक surface आहे. प्रकाशित AAPL IV figure हा त्या surfaceचा एक summary असतो. आमचे AAPL implied volatility पेज याचाच मागोवा घेते.

30-दिवसांच्या दोन IV चार्टमध्ये वेगवेगळे आकडे का दिसतात?

एक liquid underlying, एका वर्षातील trading sessions आणि त्याच rows वापरून 30-दिवसांचा IV तीन पद्धतींनी तयार करा. पहिल्या स्तंभात spotच्या 1%च्या आतले strikes आणि 25 ते 35 दिवसांची expiries ठेवली आहेत. उपलब्ध readingsपैकी ही सर्वांत tight reading आहे. दुसऱ्या स्तंभात व्याप्ती spotच्या 5%पर्यंत आणि 20 ते 45 दिवसांपर्यंत वाढवली आहे. प्रत्येक sessionमध्ये value भरणे आवश्यक असताना ही practical default पद्धत आहे. तिसऱ्या स्तंभात या विस्तृत संचाला contract volumeनुसार weight दिले आहे. त्यामुळे प्रत्यक्षात trade झालेले strikes जास्त प्रभावी ठरतात.

क्वेरीSPY साठी 30-दिवसांची IV तयार करण्याचे तीन मार्ग, एका पंक्तिसंचातून
प्रत्येक आकड्यामागील अचूक SQL
WITH
    near_money AS
    (
        SELECT
            toMonday(date)                                                 AS week_start,
            toFloat64(implied_volatility)                                  AS iv,
            days_to_expiry                                                 AS dte,
            volume                                                         AS vol,
            abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) AS moneyness
        FROM global_markets.options_greeks
        WHERE underlying_symbol = 'SPY'
          AND date >= '2025-08-01'
          AND date <  '2026-08-01'
          AND iv_converged = 1
          AND volume > 0
          AND underlying_close > 0
          AND days_to_expiry BETWEEN 20 AND 45
          AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) < 0.05
    ),
    weekly AS
    (
        SELECT
            week_start,
            avgIf(iv, dte BETWEEN 25 AND 35 AND moneyness < 0.01) AS tight_atm,
            avg(iv)                                               AS wide_atm,
            sum(iv * vol) / sum(vol)                              AS volume_weighted
        FROM near_money
        GROUP BY week_start
        HAVING countIf(dte BETWEEN 25 AND 35 AND moneyness < 0.01) > 0
    )
SELECT
    toString(week_start) AS week,
    concat(monthName(week_start), ' ', toString(toDayOfMonth(week_start)), ', ', toString(toYear(week_start))) AS week_label,
    round(100 * tight_atm, 1)       AS tight_atm_pct,
    round(100 * wide_atm, 1)        AS wide_atm_pct,
    round(100 * volume_weighted, 1) AS volume_weighted_pct,
    round(100 * (greatest(tight_atm, wide_atm, volume_weighted)
               - least(tight_atm, wide_atm, volume_weighted)), 1) AS spread_pp
FROM weekly
ORDER BY week_start
Run this yourself

दृश्यातील पहिल्या आठवड्यात, July 28, 2025, या तीन पद्धतींनी अनुक्रमे 16.6%, 16.4% आणि 16.7% values दाखवल्या. त्यांपैकी सर्वाधिक आणि सर्वांत कमी valueमधील अंतर 0.2 percentage points होते. spread स्तंभ सर्व 53 आठवड्यांतील हे अंतर नोंदवतो. या तिन्हीपैकी कोणतीही fundचा खरा 30-दिवसांचा IV नाही. प्रत्येक पद्धत थोड्या वेगळ्या प्रश्नाचे उत्तर देते. Vendor chart ही त्यांपैकी एक पद्धत वापरतो; मात्र labelमध्ये ती पद्धत दिलेली नसते.

प्रति-कॉन्ट्रॅक्ट implied volatilityचा इतिहास किती मागे जातो?

या पॅनेलमागील संच global_markets.options_greeks आहे: प्रत्येक trading dayसाठी प्रत्येक contractची एक row. त्यात implied volatilityसोबत delta, gamma, vega, theta आणि rho, तसेच strike, expiration, days to expiry, underlying symbol आणि underlying close दिलेले आहेत. हा end-of-day डेटा आहे; live chain snapshot नाही. खालील पॅनेलमध्ये प्रत्येक quarterमध्ये किमान एक converged IV row असलेल्या distinct underlying namesची संख्या मोजली आहे.

क्वेरीदैनिक IV अभिसरण झालेले अंतर्निहित नावे, तिमाहीनुसार
प्रत्येक आकड्यामागील अचूक SQL
SELECT
    concat(toString(toYear(date)), '-Q', toString(toQuarter(date))) AS quarter,
    uniqExact(underlying_symbol)                                    AS underlyings_covered
FROM global_markets.options_greeks
WHERE iv_converged = 1
  AND volume > 0
  AND underlying_symbol NOT IN ('SPCX')
  AND date < '2026-07-01'
GROUP BY quarter
ORDER BY min(date)
Run this yourself

डेटाचा आवाका 2014-Q2 ते 2026-Q2 असा आहे. एकूण 49 quartersचा समावेश आहे. दाखवलेल्या शेवटच्या पूर्ण quarterमध्ये 5799 underlying namesसाठी converged daily IV उपलब्ध आहे.

अशा संचाची query करताना चार filters सर्वाधिक महत्त्वाचे ठरतात.

  • iv_converged = 1 कायम ठेवा. Solver प्रत्येक वेळी convergence साधत नाही. Converged नसलेली row ही कमी reading नसून अपयशी fit असते.
  • volume > 0 कायम ठेवा. कधीही trade न झालेल्या contractची IV stale quoteवरून solve केलेली असते.
  • underlying_symbolनुसार group करा. ticker columnमध्ये OCC contract code असतो. त्यामुळे त्यानुसार grouping केल्यास कंपनीनुसार एक row मिळण्याऐवजी प्रत्येक strike आणि expiryसाठी एक row मिळते.
  • Contractsची निवड जाणीवपूर्वक करा. ते near the money असावेत आणि days-to-expiryची निश्चित windowमध्ये असावेत. हा टप्पा वगळल्यास skew आणि term structure यांचा सरासरी परिणाम एका आकड्यात मिसळतो.

मोफत implied volatility API उपलब्ध आहे का?

मोफत स्रोत उपलब्ध आहेत. मात्र प्रत्येक स्रोताची मर्यादा वेगळी असते.

  • Broker platforms त्यांच्या स्वतःच्या option chainsवर IVची गणना करून ती थेट दाखवतात. डाउनलोड करता येणारा इतिहास अल्प असतो किंवा उपलब्ध नसतो. तसेच दाखवलेला आकडा हा standard नसून त्या brokerच्या modelवर आधारित असतो.
  • Exchange-published volatility indices अनेक दशकांपर्यंतचा इतिहास देतात आणि त्यासाठी शुल्क आकारले जात नाही. मात्र प्रत्येक index हा एका basketसाठीचा एकत्रित आकडा असतो. त्यामुळे तो संपूर्ण बाजाराविषयीच्या प्रश्नाचे उत्तर देतो; single-nameविषयीच्या प्रश्नाचे नाही.
  • General market data APIs बहुतेकदा pricesपुरते मर्यादित असतात. प्रत्येक contractसाठीचे greeks जवळपास सर्वत्र स्वतंत्र product असतात. ते समाविष्ट असलेल्या free tiersमध्ये साधारणतः archiveशिवाय live snapshot मिळतो. आमचा free stock market data API आढावा open tiers प्रत्यक्षात कोणता data देतात, हे स्पष्ट करतो.
  • Vendor-priced per-contract historyमध्ये single-nameसाठीचे दीर्घकालीन archives उपलब्ध असतात. ते month किंवा yearनुसार end-of-day files म्हणून विकले जातात. Realtime chainsची किंमत historical setपेक्षा बरीच जास्त असते. What real time market data costs या price listsची रचना स्पष्ट करते.

Snapshot आणि end-of-day यांतील फरक किंमतीइतकाच महत्त्वाचा आहे. 4:00 p.m. ETला घेतलेला snapshot त्या क्षणी उपलब्ध असलेल्या quotesवर आधारित असतो. Settlement pricesवर तयार केलेल्या fileमध्ये पूर्णपणे वेगळा input वापरला जातो. बाजारातील सर्वाधिक वेगवान दिवसांत हे दोन्ही आकडे सर्वाधिक वेगळे दिसतात.

Blended index volatility आणि single-name volatility हे एकमेकांचे पर्याय नाहीत. Index optionमध्ये basketच्या हालचालीची किंमत ठरते. त्यातील घटकांच्या परस्परविरोधी हालचालींमुळे एकूण हालचाल कमी दिसू शकते. Single-name optionमध्ये एका कंपनीच्या स्वतंत्र price pathची किंमत ठरते. खालील panelमध्ये समान filters वापरून एका महिन्यातील परिचित कंपन्यांची बाजूबाजूने तुलना केली आहे.

क्वेरीमुदतपूर्तीपर्यंत 20 ते 45 दिवस असताना जवळच्या-चलनाधारित IV ची मध्यिका (जून 2026)
प्रत्येक आकड्यामागील अचूक SQL
SELECT
    underlying_symbol                                              AS symbol,
    round(100 * quantileDeterministic(0.50)(iv, contract_hash), 1) AS median_iv_pct,
    count()                                                        AS contract_day_count
FROM
(
    SELECT
        underlying_symbol,
        toFloat64(implied_volatility) AS iv,
        cityHash64(ticker)            AS contract_hash
    FROM global_markets.options_greeks
    WHERE underlying_symbol IN ('SPY', 'AAPL', 'MSFT', 'NVDA', 'AMZN', 'KO', 'XOM', 'TLT')
      AND date >= '2026-06-01'
      AND date <  '2026-07-01'
      AND iv_converged = 1
      AND volume > 0
      AND underlying_close > 0
      AND days_to_expiry BETWEEN 20 AND 45
      AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) < 0.05
)
GROUP BY symbol
ORDER BY median_iv_pct DESC
Run this yourself

June 2026मध्ये 20 ते 45 दिवसांच्या windowमध्ये near-the-money IVचा median 38.5% येथील NVDA पासून 10.4% येथील TLT पर्यंत होता. या विश्लेषणात 8 namesचा समावेश होता. Window समान होती, filters समान होते आणि solveची पद्धतही समान होती. प्रत्येक nameसाठी हीच पद्धत कायम ठेवली तरच अशी ranking टिकते.

IV rank आणि IV percentileसाठी स्रोत महत्त्वाचा असतो का?

तोच उत्तर ठरवतो. IV rankमध्ये आजच्या IVची तुलना lookback कालावधीतील, साधारणतः एका वर्षातील, सर्वोच्च आणि नीचांकी मूल्यांशी केली जाते. IV percentileमध्ये त्या lookback कालावधीत आजच्या मूल्यापेक्षा कमी असलेल्या दिवसांचे प्रमाण मोजले जाते. दोन्ही मोजमापांसाठी सुरुवातीपासून शेवटपर्यंत एकाच seriesचा वापर केला जातो. त्यामुळे बाजारात कोणताही बदल झाला नसतानाही series बदलल्यास score बदलतो. Brokerच्या mid-quote IVला vendorच्या settlement-based archiveसोबत जोडल्यास lookbackच्या मध्यभागी कायमस्वरूपी टप्पा निर्माण होतो. त्या टप्प्यावरून काढलेल्या प्रत्येक rankमध्ये तो परिणाम दिसतो. IV rank विरुद्ध IV percentile या दोन्ही गणनांची माहिती देते. Implied movementची realized movementशी तुलना करतानाही हीच आवश्यकता लागू होते: ऐतिहासिक volatility विरुद्ध implied volatility या तुलनेचे स्पष्टीकरण देते.

कार्यक्षम मानक म्हणजे provenanceचा नियम. एकच स्रोत, एकच model, एकच contract-selection recipe आणि एकच maturity convention निवडा. त्यानंतर संपूर्ण lookback कालावधीत हे चारही घटक स्थिर ठेवा. इतर सर्व vendorच्या मालिकांपेक्षा किंचित वेगळी असली तरी अंतर्गतदृष्ट्या सुसंगत series, प्रत्येक vendorशी काही भागांत जुळणाऱ्या stitched seriesपेक्षा अधिक उपयुक्त असते.

वारंवार विचारले जाणारे प्रश्न

ऐतिहासिक implied volatility डेटा कुठे मिळू शकतो?

दीर्घकालीन single-name इतिहास options data vendorsकडून मिळतो. हे vendors सामान्यतः प्रत्येक contractसाठी end-of-day greeks विकतात आणि डेटा monthly किंवा annual filesमध्ये देतात. Exchanges index-level volatilityचा ऐतिहासिक डेटा विनामूल्य प्रकाशित करतात. Broker platforms त्यांच्या option chainsमध्ये live IV दाखवतात; मात्र डाउनलोड करता येईल असा ऐतिहासिक डेटा फारच कमी असतो. वरील panelsमध्ये प्रत्येक listed contractचा converged fit असलेला per-contract daily data set वापरला आहे.

विनामूल्य implied volatility API आहे का?

Per-contract greeks समाविष्ट असलेले free tiers दुर्मिळ आहेत. उपलब्ध असलेले पर्यायही सामान्यतः archiveऐवजी live snapshot देतात. Index volatilityचा इतिहास ही दीर्घकालीन खरोखर विनामूल्य मिळणारी प्रमुख series आहे. Single-nameचा सखोल ऐतिहासिक डेटा सामान्यतः paid product असतो.

एकाच stockसाठी दोन sources वेगवेगळी implied volatility का दाखवतात?

यामागे वेगवेगळी pricing models, वेगवेगळे input quotes, contract निवडीतील फरक आणि maturity interpolationमधील फरक असू शकतात. वरील panel एकाच row setमधून 30-dayच्या तीन series तयार करतो. पहिल्याच आठवड्यात त्या 0.2 percentage pointsने वेगळ्या असतात. त्यामुळे दोन vendorsमधील फरक ही अपेक्षित बाब आहे; तो त्रुटीचा संकेत नाही.

implied volatility डेटा किती मागे उपलब्ध आहे?

हे sourceवर अवलंबून असते. प्रत्येक contractचा archive सर्वत्र price archiveपेक्षा कमी कालावधीचा असतो. या पृष्ठामागील data set 2014-Q2 पासून सुरू होतो आणि त्यानंतरच्या प्रत्येक converged contractसाठी daily rows समाविष्ट करतो.


येथील प्रत्येक panel तयार करणारा SQL codeसह दिला आहे. कोणते contracts त्या आकड्यात समाविष्ट आहेत हे पाहण्यासाठी एखादा panel expand करा. दुसऱ्या nameसाठी, वेगळ्या windowसाठी किंवा वेगळ्या recipeसाठी अशीच series तयार करायची असल्यास Strasmore terminalवर plain Englishमध्ये विनंती करा.