Dove trovare dati storici sulla volatilità implicita
Dove trovare dati storici sulla volatilità implicita: perché due serie IV a 30 giorni divergono, cosa offrono le fonti free e paid e come eseguire la query.
I dati storici sulla volatilità implicita sono derivati, non registrati. Questo spiega perché siano più difficili da reperire rispetto a una serie storica dei prezzi. La IV è il valore che si ottiene inserendo a ritroso il market price di un’opzione in un modello di pricing, fino a quando il valore prodotto dal modello coincide con il prezzo visualizzato. Nessuna borsa la pubblica nei prints di mercato. Per questo ogni serie storica della IV incorpora scelte relative al modello, alla quotazione, alla selezione dei contratti e all’interpolazione. Sono proprio queste scelte a determinare la differenza tra due serie che dichiarano di misurare la stessa cosa.
Se vuoi partire dalla definizione, che cos’è la volatilità implicita e come si calcola la volatilità implicita spiegano il funzionamento. Di seguito vediamo dove si trovano i dati storici e come distinguere due versioni della stessa serie.
Perché i dati storici sulla volatilità implicita sono più difficili da reperire rispetto ai dati sui prezzi?
La chiusura giornaliera è un dato osservato: viene registrata e ogni vendor riporta lo stesso numero. Un livello di IV, invece, viene calcolato e i quattro input utilizzati nel calcolo variano da una fonte all’altra.
- Il modello: una soluzione europea Black-Scholes, un albero binomiale americano con dividendi discreti oppure una variante del vendor, con ipotesi proprie su tassi e borrow.
- Il prezzo utilizzato: bid, ask, mid, ultima operazione o prezzo di settlement dell’exchange.
- I contratti inclusi: uno strike at-the-money, una fascia di moneyness oppure un filtro basato su volume o open interest.
- Il modo in cui il dato viene ricondotto a una scadenza fissa: interpolazione tra le due scadenze ai lati dei 30 giorni oppure media di tutti i contratti compresi in una finestra di giorni alla scadenza.
Basta cambiare un input perché il livello si sposti. Se cambiano tutti e quattro, due fonti accurate possono arrivare a una distanza di diversi punti di volatilità nella stessa seduta, senza che nessuna delle due sia errata.
La dispersione emerge già all’interno di un singolo titolo. Il pannello sotto prende AAPL nell’arco di giugno 2026, considera solo i contratti con strike entro il 5% dal prezzo spot e li suddivide in base al tempo residuo alla scadenza.
L'esatto SQL dietro ogni 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)Stesso sottostante, stesso mese, solo strike near-the-money. La fascia con la scadenza più breve tra quelle visualizzate, 01-07d, aveva una IV mediana pari a 29.6%. La più lunga, 181d+, si attestava a 28.1%. All’interno della prima fascia, il 25° e il 75° percentile erano pari rispettivamente a 24.9% e 35.8%. La struttura per scadenza è la term structure, mentre la sua controparte per strike è il volatility skew. Qui non esiste una singola IV. Esiste una superficie, e ogni dato pubblicato sulla IV di AAPL ne rappresenta una sintesi: è ciò che monitora la nostra pagina sulla volatilità implicita di AAPL.
Perché due grafici dell’IV a 30 giorni mostrano valori diversi?
Prendiamo un sottostante liquido, un anno di sedute e costruiamo l’IV a 30 giorni in tre modi usando le stesse righe. La prima colonna considera gli strike entro l’1% dallo spot e le scadenze tra 25 e 35 giorni: è la lettura più ristretta disponibile. La seconda amplia il perimetro al 5% dallo spot e a scadenze tra 20 e 45 giorni: è l’impostazione pratica predefinita quando è necessario valorizzare ogni seduta. La terza pesa questo insieme più ampio in base al volume dei contratti e sposta la media verso gli strike su cui sono stati effettivamente eseguiti scambi.
L'esatto SQL dietro ogni 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_startNella prima settimana considerata, July 28, 2025, i tre metodi hanno restituito 16.6%, 16.4% e 16.7%. La distanza tra il valore più alto e quello più basso era di 0.2 punti percentuali, mentre la colonna dello spread segue questo divario nell’arco di tutte le 53 settimane. Nessuno dei tre rappresenta la vera IV a 30 giorni del fondo. Ognuno risponde a una domanda leggermente diversa. Un grafico di un vendor ne utilizza uno, ma senza indicare il metodo adottato.
Quanto è lunga la storia della volatilità implicita per contratto?
Il set alla base di questi pannelli è global_markets.options_greeks: una riga per contratto e giorno di negoziazione, con la volatilità implicita affiancata a delta, gamma, vega, theta e rho, oltre a strike, scadenza, giorni alla scadenza, ticker del sottostante e chiusura del sottostante. I dati sono di fine giornata, non una fotografia live della chain. Il pannello sotto conta quanti nomi distinti di sottostanti hanno almeno una riga IV convergente in ciascun trimestre.
L'esatto SQL dietro ogni 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)La copertura va da 2014-Q2 a 2026-Q2, per un totale di 49 trimestri, con 5799 nomi di sottostanti che presentano IV giornaliera convergente nell’ultimo trimestre completo mostrato.
Quattro filtri fanno gran parte del lavoro quando si interroga un set di questo tipo.
- Mantieni
iv_converged = 1. Il solver non converge sempre, e una riga non convergente indica un fit fallito, non una lettura bassa. - Mantieni
volume > 0. Un contratto che non è mai stato scambiato ha un’IV calcolata a partire da una quotazione obsoleta. - Raggruppa per
underlying_symbol. La colonnatickercontiene il codice del contratto OCC; raggruppando su questo campo ottieni una riga per ogni strike e scadenza, invece di una riga per ogni società. - Seleziona i contratti in modo intenzionale, vicino alla parità e all’interno di una finestra definita di giorni alla scadenza. Saltare questo passaggio incorpora skew e struttura a termine in un’unica cifra.
Esiste un’API gratuita per la volatilità implicita?
Esistono fonti gratuite, ma ciascuna presenta una limitazione specifica.
- Le piattaforme dei broker calcolano l’IV sulle proprie chain e la mostrano in tempo reale. Lo storico scaricabile è breve o assente, e il dato riflette il modello del broker, non uno standard.
- Gli indici di volatilità pubblicati dalle borse risalgono a decenni fa e sono gratuiti. Ciascuno è un unico dato aggregato per un paniere. Risponde quindi a una domanda sul mercato nel suo complesso, non su un singolo titolo.
- Le API generaliste di market data si fermano per lo più ai prezzi. I greeks per contratto sono quasi ovunque un prodotto separato, e i piani gratuiti che li includono tendono a restituire un’istantanea in tempo reale senza archivio. La nostra panoramica sulle API gratuite per i dati del mercato azionario illustra cosa forniscono realmente i piani gratuiti.
- È nei dati storici per contratto, venduti dai vendor a un prezzo, che si trovano gli archivi estesi sui singoli titoli. Sono disponibili come file end-of-day, per mese o per anno, mentre le chain realtime hanno prezzi molto più elevati rispetto allo storico. L’articolo Quanto costano i market data in tempo reale illustra la struttura di questi listini.
La distinzione tra snapshot ed end-of-day è importante quanto il prezzo. Uno snapshot rilevato alle 16:00 ET utilizza le quotazioni disponibili in quell’istante. Un file costruito sui prezzi di settlement utilizza invece un input completamente diverso. Le due misure divergono soprattutto nelle giornate più rapide.
La volatilità aggregata di un indice e quella di un singolo titolo non sono inoltre intercambiabili. Un’opzione su indice prezza il movimento di un paniere, nel quale i movimenti opposti tra i componenti attenuano il risultato complessivo. Un’opzione su un singolo titolo prezza invece il percorso specifico di una società. Il pannello seguente mette a confronto titoli molto noti su un mese, applicando filtri identici.
L'esatto SQL dietro ogni 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 DESCNel giugno 2026, l’IV mediana at-the-money nel periodo da 20 a 45 giorni variava da 38.5% a NVDA fino a 10.4% a TLT, su 8 titoli. Stesso periodo, stessi filtri, stesso calcolo. Una graduatoria di questo tipo resta valida solo finché il metodo rimane invariato per tutti i titoli inclusi.
La fonte conta per IV rank e IV percentile?
Determina la risposta. L’IV rank misura l’IV di oggi rispetto ai valori massimo e minimo osservati nel periodo di analisi, di solito un anno. L’IV percentile indica invece quale quota dei giorni di quel periodo presentava un valore inferiore a quello odierno. Entrambi utilizzano un’unica serie dall’inizio alla fine. Se la serie cambia, cambia anche il punteggio, senza che il mercato si sia mosso. Se si collega l’IV mid-quote di un broker a un archivio di un vendor basato sui prezzi di settlement, si crea un salto permanente nel mezzo del periodo di analisi. Ogni rank calcolato includendo quel punto incorpora lo stesso salto. IV rank e IV percentile illustra entrambi i calcoli. Lo stesso requisito vale quando si confronta il movimento implicito con quello realizzato: volatilità storica e volatilità implicita analizza questo confronto.
Lo standard operativo è una regola di tracciabilità della fonte. Scegli una fonte, un modello, una procedura di selezione dei contratti e una convenzione sulla scadenza. Mantieni poi tutti e quattro gli elementi invariati per l’intero periodo di analisi. Una serie coerente al proprio interno, anche se leggermente diversa da quella di tutti gli altri, vale più di una serie assemblata che coincide a tratti con ciascun vendor.
FAQ
Dove posso trovare dati storici sulla volatilità implicita?
Le serie storiche estese sui singoli titoli provengono da fornitori di dati sulle opzioni che vendono i greeks end-of-day per singolo contratto, di norma in file mensili o annuali. Le borse pubblicano serie storiche gratuite della volatilità a livello di indice. Le piattaforme dei broker mostrano l’IV in tempo reale sulle chain, ma offrono poca storia scaricabile. I pannelli sopra utilizzano un set giornaliero per contratto, che comprende ogni contratto quotato con un fit convergente.
Esiste un’API gratuita per la volatilità implicita?
I piani gratuiti che includono i greeks per singolo contratto sono rari. Quelli disponibili di solito restituiscono un’istantanea in tempo reale, non un archivio. La storia della volatilità degli indici è la principale serie lunga realmente gratuita. Una storia approfondita sui singoli titoli è normalmente un prodotto a pagamento.
Perché due fonti mostrano una volatilità implicita diversa per lo stesso titolo?
I modelli di pricing possono essere diversi, così come le quotazioni utilizzate come input, la selezione dei contratti e l’interpolazione delle scadenze. Il pannello sopra costruisce tre serie a 30 giorni a partire dallo stesso insieme di righe. Già nella prima settimana le serie sono distanti 0.2 punti percentuali. Una differenza tra due vendor è quindi attesa e non indica necessariamente un errore.
Quanto indietro arrivano i dati sulla volatilità implicita?
Dipende dalla fonte. Gli archivi per singolo contratto sono ovunque più brevi degli archivi dei prezzi. Il set alla base di questa pagina parte da 2014-Q2 e contiene da allora righe giornaliere per ogni contratto con fit convergente.
Ogni pannello qui include l’SQL che lo ha prodotto. Espandine uno per vedere esattamente quali contratti sono entrati nel calcolo. Per costruire la stessa serie su un altro titolo, un’altra finestra temporale o un’altra metodologia, richiedilo in plain English sul terminale Strasmore.