Struttura per scadenza IV: cosa indica la curva
Scopri come leggere la struttura per scadenza della volatilità implicita: curva crescente o invertita, con dati reali sulle opzioni e sulle scadenze.
La struttura per scadenza dell’IV è la volatilità implicita rappresentata in funzione della scadenza, con una lettura per ogni expiry, usando opzioni con strike vicini al prezzo corrente dell’azione. Due configurazioni comprendono quasi tutti i casi che si incontrano: una pendenza verso l’alto in condizioni tranquille, quando le scadenze più lontane presentano il valore più elevato, e una curva invertita quando nel front month è presente un evento datato. Entrambe le configurazioni riportate di seguito sono costruite con dati per contratto, non con un diagramma da manuale.
Cosa misura la struttura per scadenza dell’IV
La volatilità implicita è l’ampiezza annualizzata del movimento che il prezzo di un’opzione implica per il titolo sottostante. È quotata per contratto, quindi un singolo titolo presenta in qualsiasi momento centinaia di letture, una per ogni strike e scadenza disponibili sul mercato. Fissando lo strike vicino al prezzo corrente e lasciando variare la scadenza, queste letture si allineano formando una curva. Questa curva è la struttura per scadenza.
Il campionamento conta più di quanto ammettano la maggior parte delle spiegazioni. Ogni pannello qui riportato include contratti con delta assoluto compreso tra 0,35 e 0,65. È il metodo standard per indicare opzioni near the money senza vincolarsi a uno strike preciso. Poi calcola la mediana della volatilità implicita all’interno di ogni fascia di scadenza. Mediana, non media: una quotazione stale su un contratto poco scambiato può produrre un valore implausibile, e la media lo trasferirebbe al risultato.
Questa è la curva di sei titoli liquidi nelle sedute di giugno 2026.
L'esatto SQL dietro ogni numero
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)La volatilità implicita mediana misura 19.6% nella fascia 5-20 days e 21.5% nella fascia 181-365 days, 1.9 punti sopra la scadenza più vicina. La configurazione ha un nome preso in prestito dai mercati futures: contango, quando la consegna più lontana presenta il prezzo più elevato. Una curva invertita è in backwardation.
Perché la curva di solito è inclinata verso l’alto
Due meccanismi mantengono la configurazione normale.
Il primo è la densità degli eventi. Un contratto in scadenza tra nove giorni copre nove giorni di rischio di calendario. Per una large cap senza eventi programmati in quella finestra, si tratta soprattutto di normali sedute di mercato. Un contratto in scadenza tra un anno copre quattro trimestrali, diverse riunioni delle banche centrali e ogni headline non programmata nel frattempo. Un numero maggiore di incognite note per contratto aumenta il valore annualizzato che il mercato è disposto a pagare.
Il secondo è il comportamento della volatilità. La volatilità realizzata tende a raggrupparsi: alle settimane tranquille seguono settimane tranquille, e alle settimane turbolente seguono altre settimane turbolente. Quando il mercato è calmo, le opzioni con scadenza ravvicinata prezzano valori vicini alla lettura tranquilla di oggi. Le opzioni in scadenza tra un anno prezzano invece valori più vicini alla media di lungo periodo, che è più elevata. Dopo uno shock, la stessa aritmetica opera in senso inverso. Nelle sedute successive a un crollo, la scadenza più vicina presenta la volatilità implicita più alta sul mercato e la curva si inverte lungo tutta la sua estensione, mentre i mesi più lontani restano ancorati vicino al loro livello abituale.
Cosa inverte la curva: un evento datato
Un trimestrale programmato è l’esempio più chiaro di inversione. Il report viene pubblicato dopo la chiusura del mercato in una data nota. Ogni scadenza successiva a quella data include il movimento, mentre ogni scadenza precedente non lo include. La scadenza più vicina che comprende l’evento ha meno giorni ordinari su cui distribuire il movimento, quindi la sua lettura annualizzata sale maggiormente. Un’opzione a sei mesi distribuisce lo stesso evento su circa 125 sedute e lo registra appena.
NVIDIA ha pubblicato il report dopo la chiusura di mercoledì 26 febbraio 2025. Il pannello legge l’intera curva due volte: nell’ultima seduta prima della pubblicazione, il 25 febbraio, e nella prima seduta successiva, il 27 febbraio.
L'esatto SQL dietro ogni numero
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)La fascia 5-20 days era a 84.9% nella seduta precedente alla pubblicazione e a 66.4% nella seduta successiva, con una variazione di 18.5 punti. La fascia 181-365 days si è mossa di 1 punti tra le stesse due chiusure, una frazione del movimento registrato dalla fascia più vicina. Un solo sottostante, un solo evento, ma un’esperienza opposta alle due estremità della curva. Questo crollo della parte anteriore è il collasso dell’IV, e la struttura per scadenza è il punto in cui lo si può vedere in anticipo.
Osservare la formazione e il collasso della curva
Una seduta prima e una dopo un report offrono una fotografia. La formazione richiede settimane e si manifesta come un ampliamento del divario tra le due estremità della curva.
L'esatto SQL dietro ogni numero
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_dateIl divario tra le fasce era di 12.4 punti nella prima seduta della finestra e di 3.3 punti nell’ultima, nell’arco di 24 sedute. Occorre osservare la forma della linea frontale, non il suo livello: sale con l’avvicinarsi del report, raggiunge il massimo nelle sedute intorno all’evento e torna a scendere entro una seduta. La linea posteriore cambia pochissimo per tutto il periodo. Gli utili e i greeks delle opzioni spiega l’effetto dello stesso evento su vega e theta dei singoli contratti.
Con quale frequenza la curva è invertita?
L’inversione non è rara, ma la parte dell’anno trascorsa in questa configurazione varia enormemente tra i ticker.
L'esatto SQL dietro ogni numero
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 DESCNelle 251 sedute dei dodici mesi terminati il 31 luglio 2026, XOM ha mostrato la fascia frontale sopra la fascia da 91 a 180 giorni in 68.5% casi, contro 19.5% per SPY. I loro divari mediani erano rispettivamente di 1.4 punti e -2.1 punti. I titoli con eventi datati inseriti regolarmente nel calendario trascorrono una parte maggiore dell’anno in inversione. Un fondo indicizzato ampio passa invece la maggior parte del tempo in contango, con inversioni concentrate intorno alle fasi di selloff. Il ranking dell’IV misura qualcosa di diverso: la posizione del livello odierno rispetto al proprio anno precedente, non la forma della curva tra le diverse scadenze.
Cosa comporta una curva piatta o invertita per un calendar spread
Un calendar spread vende un’opzione con scadenza ravvicinata e acquista un’opzione con scadenza più lontana allo stesso strike. Un diagonal fa la stessa cosa su due strike diversi. In entrambi i casi, la posizione è long sulla volatilità implicita della scadenza posteriore e short su quella della scadenza frontale. Per questo la struttura per scadenza è il suo principale input, non un dettaglio di contesto.
Quando la curva è inclinata verso l’alto, la gamba ravvicinata viene venduta a una volatilità implicita inferiore rispetto a quella acquistata sulla gamba lontana. Quando il front month è invertito in vista di un evento, il rapporto si capovolge e la posizione viene aperta su una curva che ha un punto verso cui convergere. In seguito, la parte frontale crolla verso quella posteriore, mentre la parte posteriore si muove poco. Il divario tra le due letture torna quindi alla sua configurazione ordinaria. Il risultato effettivo della posizione dipende anche dall’ampiezza del movimento del titolo, che la curva non indica. La pagina del movimento atteso tratta questa parte del problema.
Una curva piatta è il caso più complesso. Non c’è una pendenza da sfruttare in nessuna direzione, e il risultato dipende quasi interamente dal percorso del titolo e dal trascorrere del tempo.
FAQ sulla struttura per scadenza dell’IV
Che cos’è la struttura per scadenza dell’IV nelle opzioni?
È la volatilità implicita rappresentata in base alla data di scadenza per le opzioni near the money. Tra sei titoli liquidi nel giugno 2026, la lettura mediana era pari a 19.6% nella fascia 5-20 days e a 21.5% nella fascia 181-365 days.
Cosa significa una struttura per scadenza dell’IV invertita?
Una curva invertita presenta la volatilità implicita più elevata nelle scadenze più vicine. Compare quando un evento datato cade nel front month e nelle sedute successive a un selloff marcato, quando i contratti con scadenza ravvicinata prezzano i recenti movimenti ampi mentre quelli lontani restano più vicini a una media di lungo periodo.
Perché la volatilità implicita del front month è così alta prima degli utili?
Un contratto con scadenza ravvicinata ha pochissimi giorni di trading ordinari su cui distribuire un grande movimento overnight atteso, quindi il valore annualizzato aumenta per tenerne conto. La fascia 5-20 days di NVIDIA era a 84.9% nella seduta precedente al report del 26 febbraio 2025 e a 66.4% nella seduta successiva.
La struttura per scadenza è la stessa cosa dello skew della volatilità?
No. Lo skew confronta la volatilità implicita tra strike diversi all’interno di una singola scadenza. La struttura per scadenza mantiene il moneyness più o meno fisso e confronta le diverse scadenze. Lo skew della volatilità tratta la dimensione degli strike della stessa superficie.
Tutti i valori riportati sopra provengono da una stored query sulla volatilità implicita per contratto. Il relativo SQL può essere espanso sotto ogni pannello. Traccia la stessa curva per qualsiasi ticker sul terminale Strasmore.