Tempat Mendapatkan Data Historical Implied Volatility
Tempat mendapatkan data historical implied volatility, alasan dua seri IV 30-day berbeda, cakupan sumber gratis dan berbayar, serta bentuk query yang dapat Anda jalankan sendiri.
Data historical implied volatility merupakan hasil derivasi, bukan data yang dicatat secara langsung. Fakta ini menjelaskan mengapa data tersebut lebih sulit diperoleh daripada riwayat harga. IV adalah angka yang diperoleh dengan memasukkan harga pasar opsi secara terbalik ke dalam pricing model hingga nilai yang dihasilkan model sesuai dengan harga yang terlihat di layar. Tidak ada bursa yang mencatatnya sebagai print pada tape. Karena itu, setiap riwayat IV yang dipublikasikan memuat pilihan terkait model, kuotasi, pemilihan kontrak, dan interpolasi. Pilihan-pilihan tersebut sepenuhnya menentukan perbedaan antara dua seri yang mengklaim mengukur hal yang sama.
Jika Anda ingin membaca definisinya terlebih dahulu, apa itu implied volatility dan cara menghitung implied volatility menjelaskan mekanismenya. Bagian berikut membahas sumber data historis tersebut dan cara membedakan dua versinya.
Mengapa data historical implied volatility lebih sulit diperoleh daripada data harga?
Harga penutupan harian dapat diamati: harga tersebut tercatat dalam transaksi, dan setiap vendor melaporkan angka yang sama. Level IV dihitung, sementara empat input dalam perhitungannya dapat berbeda antar-sumber.
- Model yang digunakan: perhitungan European Black-Scholes, American binomial tree dengan dividen diskret, atau varian vendor dengan asumsi suku bunga dan biaya borrow sendiri.
- Harga yang digunakan: bid, ask, mid, transaksi terakhir, atau harga settlement bursa.
- Kontrak yang dihitung: satu strike at-the-money, rentang moneyness, atau filter volume maupun open interest.
- Cara angka tersebut disesuaikan ke maturity tetap: interpolasi antara dua expiry yang mengapit 30 hari, atau rata-rata seluruh kontrak dalam rentang days to expiry tertentu.
Ubah satu input saja, lalu levelnya bergeser. Ubah keempatnya, dan dua sumber yang sama-sama cermat dapat menghasilkan selisih beberapa volatility points pada sesi yang sama, tanpa ada yang keliru.
Perbedaan itu sudah muncul dalam satu underlying. Panel di bawah menggunakan AAPL sepanjang Juni 2026, hanya memasukkan kontrak dengan strike dalam kisaran 5% dari harga spot, lalu membaginya berdasarkan sisa waktu hingga expiry.
SQL tepat di balik setiap angka
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)Underlying sama, bulan sama, dan hanya strike near-the-money. Rentang terpendek yang ditampilkan, 01-07d, memiliki median IV sebesar 29.6%. Rentang terpanjang, 181d+, berada di 28.1%. Dalam rentang pertama saja, persentil ke-25 dan ke-75 masing-masing berada di 24.9% dan 35.8%. Bentuk yang terbentuk di sepanjang expiry disebut term structure, sedangkan padanannya di sepanjang strike disebut volatility skew. Tidak ada satu angka IV tunggal di sini. Yang ada adalah sebuah surface, dan setiap angka IV AAPL yang dipublikasikan merupakan salah satu ringkasannya. Hal inilah yang dilacak oleh halaman implied volatility AAPL kami.
Mengapa dua grafik IV 30-day menampilkan angka yang berbeda?
Gunakan satu underlying yang likuid dan data satu tahun sesi perdagangan, lalu hitung IV 30-day dengan tiga cara dari baris data yang sama. Kolom pertama mempertahankan strike dalam kisaran 1% dari spot dan expiry 25 hingga 35 hari. Ini adalah pengukuran dengan cakupan paling ketat. Kolom kedua memperlebar kisaran menjadi 5% dari spot dan 20 hingga 45 hari. Ini merupakan pengaturan default yang praktis ketika setiap sesi harus memiliki nilai. Kolom ketiga memberikan bobot berdasarkan volume kontrak pada kumpulan data yang lebih luas tersebut. Dengan demikian, rata-ratanya lebih dekat ke strike yang benar-benar diperdagangkan.
SQL tepat di balik setiap angka
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_startPada pekan pertama dalam periode yang ditampilkan, July 28, 2025, ketiga metode tersebut menghasilkan 16.6%, 16.4%, dan 16.7%. Selisih antara angka tertinggi dan terendah adalah 0.2 percentage points. Kolom spread melacak selisih tersebut di seluruh 53 pekan. Tidak satu pun dari ketiganya merupakan IV 30-day yang sebenarnya untuk fund tersebut. Masing-masing menjawab pertanyaan yang sedikit berbeda. Grafik vendor hanya menggunakan salah satunya, sementara metode perhitungannya tidak dicantumkan pada label.
Seberapa jauh riwayat implied volatility per contract tersedia?
Data di balik panel ini adalah global_markets.options_greeks: satu baris untuk setiap contract pada setiap hari perdagangan, yang memuat implied volatility bersama delta, gamma, vega, theta, dan rho, serta strike, expiration, days to expiry, simbol underlying, dan harga penutupan underlying. Data ini bersifat end-of-day, bukan snapshot live chain. Panel di bawah menghitung jumlah nama underlying berbeda yang memiliki setidaknya satu baris IV yang konvergen pada setiap kuartal.
SQL tepat di balik setiap angka
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)Cakupan data berlangsung dari 2014-Q2 hingga 2026-Q2, total 49 kuartal, dengan 5799 nama underlying yang memiliki IV harian konvergen pada kuartal penuh terakhir yang ditampilkan.
Empat filter paling menentukan saat Anda melakukan query terhadap set data seperti ini.
- Pertahankan
iv_converged = 1. Solver tidak selalu mencapai konvergensi, dan baris yang tidak konvergen menunjukkan hasil fitting yang gagal, bukan pembacaan yang rendah. - Pertahankan
volume > 0. Contract yang tidak pernah diperdagangkan memiliki IV yang dihitung dari kuotasi yang sudah stale. - Kelompokkan berdasarkan
underlying_symbol. Kolomtickermemuat kode contract OCC, sehingga pengelompokan berdasarkan kolom tersebut menghasilkan satu baris untuk setiap strike dan expiration, bukan satu baris untuk setiap perusahaan. - Pilih contract secara terarah, yaitu yang near the money dan berada dalam rentang days to expiry tertentu. Jika langkah ini dilewati, skew dan term structure akan dirata-ratakan menjadi satu angka.
Apakah ada API implied volatility gratis?
Sumber gratis tersedia, tetapi masing-masing memiliki keterbatasan tertentu.
- Platform broker menghitung IV pada option chain mereka sendiri dan menampilkannya secara live. Riwayat yang dapat diunduh biasanya pendek atau tidak tersedia. Angka tersebut juga berasal dari model broker itu sendiri, bukan standar umum.
- Indeks volatilitas yang diterbitkan bursa memiliki riwayat hingga puluhan tahun dan dapat diakses tanpa biaya. Masing-masing hanya merupakan satu angka gabungan untuk satu basket. Karena itu, indeks tersebut menjawab pertanyaan tentang pasar secara keseluruhan, bukan tentang satu saham.
- API data pasar umum biasanya hanya menyediakan harga. Greeks per kontrak hampir selalu merupakan produk terpisah. Tier gratis yang mencakup data tersebut biasanya hanya mengembalikan snapshot live tanpa arsip. Ulasan kami tentang API data pasar saham gratis membahas data yang benar-benar tersedia pada tier terbuka.
- Riwayat per kontrak dari vendor berbayar merupakan sumber arsip single-name jangka panjang. Data ini biasanya dijual sebagai file end-of-day per bulan atau per tahun. Option chain realtime dihargai jauh lebih mahal daripada paket historis. Artikel Biaya data pasar realtime menjelaskan struktur daftar harganya.
Perbedaan antara snapshot dan data end-of-day sama pentingnya dengan harga. Snapshot yang diambil pada pukul 16.00 ET menggunakan kuotasi yang berlaku tepat pada saat itu. File yang disusun dari harga settlement menggunakan input yang sama sekali berbeda. Perbedaan keduanya paling besar pada hari dengan pergerakan tercepat.
Volatilitas indeks gabungan dan volatilitas single-name juga tidak dapat dipertukarkan. Harga index option mencerminkan pergerakan sebuah basket, sehingga pergerakan yang saling mengimbangi antaranggota meredam total pergerakan. Harga single-name option mencerminkan jalur pergerakan satu perusahaan. Panel di bawah ini membandingkan saham-saham yang umum dikenal selama satu bulan dengan filter yang identik.
SQL tepat di balik setiap angka
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 DESCSelama Juni 2026, median IV near-the-money dalam jangka waktu 20 hingga 45 hari berkisar dari 38.5% pada NVDA hingga 10.4% pada TLT, untuk 8 saham. Jangka waktu, filter, dan metode perhitungannya sama. Peringkat seperti itu hanya berlaku selama metodologinya tetap sama untuk setiap saham yang dibandingkan.
Apakah sumber data memengaruhi IV rank dan IV percentile?
Sumber data menentukan jawabannya. IV rank mengukur IV hari ini terhadap nilai tertinggi dan terendah dalam periode lookback, biasanya satu tahun. IV percentile menghitung proporsi hari dalam periode tersebut ketika IV berada di bawah level hari ini. Keduanya membaca satu rangkaian data secara menyeluruh. Karena itu, perubahan pada rangkaian data dapat mengubah skor meskipun kondisi pasar sama sekali tidak berubah. Jika mid-quote IV dari broker disambungkan ke arsip berbasis settlement milik vendor, akan muncul perubahan level permanen di tengah periode lookback. Setiap rank yang dihitung berdasarkan rangkaian tersebut akan mewarisi perubahan itu. IV rank vs IV percentile menjelaskan kedua perhitungan tersebut. Persyaratan yang sama berlaku ketika Anda membandingkan pergerakan implied dengan realized: historical volatility vs implied volatility membahas perbandingan itu.
Standar yang digunakan adalah aturan provenance. Pilih satu sumber, satu model, satu metode pemilihan kontrak, dan satu konvensi jatuh tempo. Kemudian, pertahankan keempatnya tetap sama sepanjang periode lookback. Rangkaian data yang konsisten secara internal dan sedikit berbeda dari milik pihak lain lebih bernilai daripada rangkaian gabungan yang hanya cocok dengan masing-masing vendor pada bagian-bagian tertentu.
FAQ
Di mana saya bisa mendapatkan data historis implied volatility?
Riwayat panjang untuk single-name berasal dari vendor data opsi yang menjual greeks end-of-day per kontrak, biasanya dalam file bulanan atau tahunan. Bursa menerbitkan riwayat volatilitas tingkat indeks secara gratis. Platform broker menampilkan IV real-time pada option chain, tetapi biasanya hanya menyediakan sedikit riwayat yang dapat diunduh. Panel di atas menggunakan set data harian per kontrak yang mencakup setiap kontrak tercatat dengan fit yang telah konvergen.
Apakah ada API implied volatility gratis?
Tier gratis yang mencakup greeks per kontrak jarang tersedia. Kalaupun ada, biasanya hanya mengembalikan snapshot real-time, bukan arsip. Riwayat volatilitas indeks merupakan seri panjang yang benar-benar gratis. Riwayat mendalam untuk single-name biasanya merupakan produk berbayar.
Mengapa dua sumber menampilkan implied volatility yang berbeda untuk saham yang sama?
Perbedaannya dapat berasal dari model pricing, kuotasi input, pemilihan kontrak, dan interpolasi jatuh tempo yang berbeda. Panel di atas membangun tiga seri 30 hari dari kumpulan baris yang sama. Ketiganya sudah terpaut 0.2 percentage points hanya pada minggu pertama. Jadi, perbedaan antara dua vendor merupakan hal yang wajar, bukan kesalahan.
Seberapa jauh ke belakang data implied volatility tersedia?
Hal ini bergantung pada sumbernya. Di semua sumber, arsip per kontrak lebih pendek daripada arsip harga. Set data yang mendasari halaman ini dimulai pada 2014-Q2 dan memuat baris harian untuk setiap kontrak yang telah konvergen sejak saat itu.
Setiap panel di sini dilengkapi SQL yang menghasilkan data tersebut. Buka salah satunya untuk melihat secara tepat kontrak mana yang digunakan dalam perhitungan. Untuk membuat seri yang sama bagi nama lain, periode lain, atau metode lain, sampaikan permintaannya dalam bahasa sehari-hari di terminal Strasmore.