Strasmore Research
Matuto Matt ConnorNi Matt Connor

Saan Kumuha ng Historical Implied Volatility Data

Saan makakakuha ng historical implied volatility data, bakit nagkakaiba ang dalawang 30-day IV series, at ano ang saklaw ng free at paid sources.

Ang historical implied volatility data ay derived, hindi direktang nire-record. Dahil dito, mas mahirap itong kunin kaysa sa price history. Ang IV ay nakukuha sa pamamagitan ng pagbalikkuwenta sa market price ng isang option gamit ang pricing model hanggang tumugma ang model value sa presyong nakikita sa screen. Walang exchange na nagpi-print nito sa tape. Kaya bawat published IV history ay may mga pagpili tungkol sa model, quote, pagpili ng contract, at interpolation. Ang mga pagpiling ito ang dahilan kung bakit maaaring magkaiba ang dalawang series na sinasabing sumusukat sa parehong bagay.

Kung definition muna ang kailangan mo, ipinaliliwanag sa kung ano ang implied volatility at kung paano kinakalkula ang implied volatility ang mechanics. Ang sumusunod ang nagpapakita kung saan nagmumula ang historical data at kung paano paghihiwalayin ang dalawang bersiyon nito.

Bakit mas mahirap kumuha ng historical implied volatility data kaysa sa price data?

Nakikita ang daily close: naitala ito, at pare-pareho ang numerong iniuulat ng bawat vendor. Kinukuwenta naman ang IV level, at nagkakaiba-iba ang apat na input sa kalkulasyong iyon depende sa source.

  • Ang model: European Black-Scholes solve, American binomial tree na may discrete dividends, o variant ng vendor na may sarili nitong rate at borrow assumptions.
  • Ang presyong ginagamit: bid, ask, mid, last trade, o exchange settlement price.
  • Aling contracts ang isinasama: isang at-the-money strike, moneyness band, o filter batay sa volume o open interest.
  • Paano inaabot ang isang fixed maturity: interpolation sa pagitan ng dalawang expiry na sumasaklaw sa 30 days, o pag-average ng lahat ng contract sa loob ng days-to-expiry window.

Kapag binago ang isang input, nagbabago ang level. Kapag binago ang lahat ng apat, maaaring magkaiba nang ilang volatility points ang resulta ng dalawang maingat na source para sa parehong session, kahit parehong walang mali.

Nagsisimula ang dispersion sa loob mismo ng isang pangalan. Kinukuha ng panel sa ibaba ang AAPL sa buong June 2026, isinasama lamang ang mga contract na may strike na nasa loob ng 5% ng spot price, at hinahati ang mga ito ayon sa natitirang panahon bago ang expiry.

QueryIsang pangalan, isang buwan: implied volatility ayon sa time to expiry (AAPL, June 2026)
Ang eksaktong SQL sa likod ng bawat numero
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

Parehong underlying at buwan, at near-the-money strikes lamang. Ang pinakamaikling bandang ipinapakita, 01-07d, ay may median IV na 29.6%. Ang pinakamahaba, 181d+, ay nasa 28.1%. Sa loob pa lamang ng unang bandang iyon, ang 25th at 75th percentile ay nasa 24.9% at 35.8%. Ang hugis batay sa mga expiry ay tinatawag na term structure, habang ang kaugnay nitong pattern batay sa mga strike ay volatility skew. Walang iisang IV rito. May volatility surface, at ang anumang inilalathalang AAPL IV figure ay isang buod lamang nito. Ito ang sinusubaybayan ng aming AAPL implied volatility page.

Bakit magkakaiba ang ipinapakitang numero ng dalawang 30-day IV chart?

Pumili ng isang liquid na underlying, isang taon ng trading sessions, at bumuo ng 30-day IV sa tatlong paraan gamit ang parehong rows. Pinananatili ng unang column ang mga strike na nasa loob ng 1% ng spot at ang mga expiry na 25 hanggang 35 days—ito ang pinakahigpit na available na reading. Pinapalawak ng ikalawa ang saklaw sa 5% ng spot at 20 hanggang 45 days. Ito ang praktikal na default kapag kailangang mapunan ang bawat session. Tinitimbang naman ng ikatlo ang mas malawak na set batay sa contract volume, kaya mas napapalapit ang average sa mga strike na aktuwal na na-trade.

QueryTatlong paraan para bumuo ng 30-day IV para sa SPY, mula sa isang set ng rows
Ang eksaktong SQL sa likod ng bawat numero
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

Sa unang linggong sakop ng chart, July 28, 2025, naglabas ang tatlong recipe ng 16.6%, 16.4% at 16.7%. Ang pagitan ng pinakamataas at pinakamababa sa mga ito ay 0.2 percentage points, at sinusubaybayan ng spread column ang gap na iyon sa lahat ng 53 weeks. Wala sa tatlo ang tunay na 30-day IV ng fund. Magkakaiba nang kaunti ang tanong na sinasagot ng bawat isa, at ang vendor chart ay isa sa mga ito na hindi inilalagay sa label kung anong recipe ang ginamit.

Gaano kalayo sa nakaraan ang saklaw ng implied volatility history bawat contract?

Ang dataset sa likod ng mga panel na ito ay global_markets.options_greeks: isang row bawat contract sa bawat trading day. Kasama rito ang implied volatility, delta, gamma, vega, theta at rho, pati ang strike, expiration, days to expiry, underlying symbol at closing price ng underlying. End-of-day data ito, hindi live chain snapshot. Ipinapakita ng panel sa ibaba kung ilang magkakaibang underlying name ang may kahit isang converged IV row sa bawat quarter.

QueryMga underlying name na may converged daily IV, ayon sa quarter
Ang eksaktong SQL sa likod ng bawat numero
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

Saklaw nito ang 2014-Q2 hanggang 2026-Q2, o 49 quarters sa kabuuan. May 5799 underlying names na may converged daily IV sa pinakahuling kumpletong quarter na ipinapakita.

Apat na filter ang pinakamahalaga kapag nag-query ka ng ganitong dataset.

  • Panatilihin ang iv_converged = 1. Hindi palaging nagtatagumpay ang solver. Ang unconverged row ay failed fit, hindi mababang reading.
  • Panatilihin ang volume > 0. Ang contract na hindi kailanman na-trade ay may IV na kinalkula mula sa stale quote.
  • Mag-group ayon sa underlying_symbol. Nasa ticker column ang OCC contract code. Kaya kung dito ka mag-group, isang row ang ibinabalik bawat strike at expiry sa halip na isa bawat kumpanya.
  • Pumili ng mga contract nang maingat: near the money at nasa loob ng itinakdang days-to-expiry window. Kung lalaktawan ito, pagsasamahin sa isang figure ang skew at term structure.

Mayroon bang libreng implied volatility API?

May mga libreng source, ngunit may partikular na limitasyon ang bawat isa.

  • Kinukuwenta ng mga broker platform ang IV sa sarili nilang options chain at ipinapakita ito nang live. Maikli o wala ang nada-download na historical data, at ang value ay nakabatay sa model ng broker, hindi sa isang standard.
  • Ang mga volatility index na inilalathala ng mga exchange ay umaabot nang ilang dekada ang history at walang bayad. Bawat isa ay iisang blended figure para sa isang basket, kaya sinasagot nito ang market-wide na tanong, hindi ang tanong para sa isang single-name.
  • Kadalasang hanggang prices lamang ang general market data APIs. Halos lahat ay may hiwalay na product para sa per-contract greeks, at ang mga libreng tier na may ganitong data ay karaniwang nagbibigay lamang ng live snapshot na walang archive. Tinutukoy ng aming libreng stock market data API rundown kung ano talaga ang ibinibigay ng open tiers.
  • Dito matatagpuan ang mahahabang single-name archive: sa vendor-priced per-contract history, na ibinebenta bilang end-of-day files bawat buwan o taon. Mas mataas ang presyo ng realtime chains kaysa sa historical set. Ipinapakita ng Magkano ang realtime market data ang anyo ng mga price list na ito.

Mahalaga ang pagkakaiba ng snapshot at end-of-day data, hindi lamang ang presyo. Ang snapshot na kinuha noong 4:00 p.m. ET ay gumagamit ng mga quote na umiiral sa mismong oras na iyon. Iba naman ang input ng file na binuo mula sa settlement prices, kaya pinakamalaki ang agwat ng dalawa sa mga araw na pinakamabilis ang galaw.

Hindi rin maaaring pagpalitin ang blended index volatility at single-name volatility. Tinatantiya ng index option ang galaw ng isang basket, kung saan nababawasan ng magkakasalungat na galaw ng mga constituent ang kabuuang galaw. Tinatantiya naman ng single-name option ang sariling price path ng isang kumpanya. Magkatabing ipinapakita ng panel sa ibaba ang mga kilalang pangalan sa loob ng isang buwan, gamit ang magkakaparehong filter.

QueryMedian near-the-money IV, 20 hanggang 45 araw bago ang expiry (June 2026)
Ang eksaktong SQL sa likod ng bawat numero
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

Sa June 2026, ang median near-the-money IV sa 20 hanggang 45 day window ay mula 38.5% sa NVDA hanggang 10.4% sa TLT, sa kabuuang 8 pangalan. Pareho ang window, mga filter, at solve. Mananatili lamang ang ganitong ranking habang pareho ang recipe para sa bawat pangalang kasama rito.

Mahalaga ba ang pinagmulan para sa IV rank at IV percentile?

Ito ang nagtatakda ng sagot. Sinusukat ng IV rank ang IV ngayong araw kumpara sa pinakamataas at pinakamababang value sa lookback, na karaniwan ay isang taon. Binibilang naman ng IV percentile kung ilang bahagi ng mga araw sa lookback ang may value na mas mababa kaysa sa value ngayon. Parehong gumagamit ang mga ito ng isang serye mula simula hanggang dulo. Kaya kapag nagbago ang serye, nagbabago rin ang score kahit walang anumang pagbabago sa merkado. Kapag idinugtong ang mid-quote IV mula sa broker sa settlement-based archive ng vendor, nagkakaroon ng permanenteng hakbang sa gitna ng lookback. Namamana ng bawat rank na kinukuwenta sa sakop na iyon ang naturang hakbang. Ipinapaliwanag ng IV rank kumpara sa IV percentile ang dalawang calculation. Pareho ring requirement ang nalalapat kapag ikinukumpara ang implied movement sa realized movement: tinatalakay ng historical volatility kumpara sa implied volatility ang pares na iyon.

Ang praktikal na pamantayan ay isang provenance rule. Pumili ng isang source, isang model, isang recipe para sa pagpili ng contract, at isang maturity convention. Panatilihing pare-pareho ang lahat ng apat sa buong lookback. Mas mahalaga ang isang seryeng internally consistent kahit bahagyang naiiba sa serye ng iba kaysa sa pinagdikit-dikit na seryeng tumutugma sa bawat vendor sa magkakaibang bahagi.

Mga Madalas Itanong

Saan ako makakakuha ng historical implied volatility data?

Ang mahahabang history para sa single-name stocks ay nagmumula sa mga options data vendor na nagbebenta ng end-of-day greeks para sa bawat contract, karaniwan bilang monthly o annual files. Naglalabas ang mga exchange ng libreng volatility history sa antas ng index. Ipinapakita ng mga broker platform ang live IV sa options chain, ngunit kakaunti ang downloadable history. Ang mga panel sa itaas ay gumagamit ng per-contract daily set na sumasaklaw sa bawat listed contract na may converged fit.

May libre bang implied volatility API?

Bihira ang free tier na may per-contract greeks. Ang mga mayroon nito ay karaniwang nagbibigay ng live snapshot, hindi archive. Ang index volatility history ang pangunahing tunay na libreng long series. Karaniwang bayad ang malalim na single-name history.

Bakit magkaiba ang ipinapakitang implied volatility ng dalawang source para sa iisang stock?

Magkakaiba ang pricing model, input quotes, pagpili ng contract, at interpolation ng maturity. Bumubuo ang panel sa itaas ng tatlong 30-day series mula sa iisang set ng rows. Magkakalayo ang mga ito nang 0.2 percentage points sa unang linggo pa lamang. Kaya inaasahan ang agwat sa pagitan ng dalawang vendor; hindi ito awtomatikong error.

Gaano kalayo sa nakaraan ang saklaw ng implied volatility data?

Nakadepende ito sa source. Sa lahat ng source, mas maikli ang per-contract archives kaysa sa price archives. Nagsisimula ang set na nasa likod ng page na ito sa 2014-Q2 at may daily rows para sa bawat converged contract mula noon.


May kasamang SQL na gumawa sa bawat panel dito. I-expand ang isa upang makita kung aling mga contract ang isinama sa number. Para gumawa ng kaparehong series para sa ibang pangalan, ibang window, o ibang recipe, hingin ito sa plain English sa Strasmore terminal.