come leggere una catena di opzioni colonna per colonna
Una catena di opzioni elenca ogni strike e scadenza per un titolo. Scopri cosa misurano le colonne bid, ask, volume, volatilità implicita e delta.
Una catena di opzioni è la tabella che un broker mostra per un singolo titolo sottostante o fondo: ogni scadenza quotata, ogni prezzo strike e una riga di numeri in tempo reale per la call e la put a ogni strike. Leggerla significa sapere cosa misura ogni colonna e come le due coordinate, scadenza e strike, individuano un singolo contratto all'interno della griglia. Questa pagina analizza una catena reale colonna per colonna, usando come esempio pratico il tracker S&P 500 SPY al 15 luglio 2026.
Cos'è una catena di opzioni?
Ogni opzione quotata è definita da quattro elementi: il simbolo del sottostante, la data di scadenza, il prezzo strike e se è una call o una put. La catena è questa definizione trasformata in una disposizione a griglia. Un selettore in alto permette di scegliere la scadenza. Gli strike scorrono al centro dello schermo, le call occupano le colonne su un lato e le put sull'altro. Scegli una scadenza e stai leggendo una fetta piatta della griglia: una riga per ogni strike, un set di colonne di quotazioni per lato.
Le colonne descrivono quel singolo contratto, non il titolo sottostante. Un singolo sottostante può avere dozzine di scadenze e centinaia di strike, quindi la catena completa per un nome molto scambiato arriva a migliaia di righe. I broker ne nascondono la maggior parte per impostazione predefinita e aprono vicino al money, la zona in cui lo strike è più vicino al prezzo corrente dell'azione.
Leggere una scadenza, strike per strike
Ecco una fetta reale: call e put su SPY con scadenza 21 agosto 2026, prezzate alla chiusura del 15 luglio, sugli strike che racchiudono il prezzo dell'azione.
L'esatto SQL dietro ogni numero
SELECT toString(toUInt32(strike_price)) AS strike,
round(any(underlying_close), 2) AS underlying_price,
round(maxIf(option_close, option_type = 'C'), 2) AS call_last,
round(maxIf(option_close, option_type = 'P'), 2) AS put_last,
round(maxIf(delta, option_type = 'C'), 2) AS call_delta,
round(minIf(delta, option_type = 'P'), 2) AS put_delta
FROM global_markets.options_greeks
WHERE underlying_symbol = 'SPY'
AND date = toDate('2026-07-15')
AND expiration_date = toDate('2026-08-21')
AND strike_price BETWEEN 735 AND 770
AND toUInt32(strike_price) % 5 = 0
AND iv_converged
GROUP BY strike_price
HAVING countIf(option_type = 'C') > 0 AND countIf(option_type = 'P') > 0
ORDER BY strike_priceDue pattern emergono subito. I prezzi delle call calano all'aumentare dello strike, da $28.82 allo strike $735 a $6.1 a $770: il diritto di acquistare a un prezzo più basso vale di più. I prezzi delle put si muovono in direzione opposta sulle stesse otto righe, da $6.07 fino a $19.16. Le due scale si incrociano vicino al prezzo dell'azione di $754.68, e lo strike in cui call e put vengono scambiate più vicine tra loro segna il money.
Le colonne delta descrivono quella geometria in un'unità diversa. Il delta è la variazione del prezzo di un'opzione per una variazione di $1 del sottostante, e funge anche da indicatore approssimativo della probabilità che un contratto chiuda in the money. Allo strike $735 la call legge 0.73 e la put legge -0.26. Allo strike $770 la call è scesa a 0.34. Una call e una put sulla stessa riga hanno sempre delta di magnitudo distanti circa uno, una proprietà di due contratti che coprono metà opposte della stessa distribuzione. Il resto di queste colonne di sensitività è trattato in la spiegazione delle greche delle opzioni.
La domanda, l'offerta e perché non sono un prezzo unico
La catena quota due prezzi per ogni contratto. Il bid è il prezzo più alto che un acquirente è disposto a pagare in quel momento. L'ask è il prezzo più basso che un venditore accetta. Il divario tra i due è lo spread. Un ordine a mercato di acquisto viene eseguito all'ask, mentre un ordine a mercato di vendita viene eseguito al bid; lo spread è quindi un costo reale pagato all'ingresso e di nuovo all'uscita. Il prezzo "last" visualizzato da una catena può risalire a minuti prima e può collocarsi ovunque rispetto alla quotazione corrente.
Gli spread non sono uniformi lungo una catena. Di seguito, la mediana del bid e dell'ask quotati per la stessa scadenza su sette strike call, misurata durante la sessione regolare del 15 luglio 2026.
L'esatto SQL dietro ogni numero
SELECT concat('$', toString(toUInt32(toFloat64(toUInt32OrZero(substring(ticker, length(ticker) - 7, 8))) / 1000)), ' call') AS strike,
round(quantileDeterministic(0.5)(toFloat64(bid_price), toUInt64(sip_timestamp)), 2) AS median_bid,
round(quantileDeterministic(0.5)(toFloat64(ask_price), toUInt64(sip_timestamp)), 2) AS median_ask,
round(100 * quantileDeterministic(0.5)(toFloat64(ask_price - bid_price), toUInt64(sip_timestamp)), 1) AS median_spread_cents,
toUInt64(count()) AS quotes_recorded
FROM global_markets.cache_options_quotes
WHERE ticker IN ('O:SPY260821C00740000', 'O:SPY260821C00750000', 'O:SPY260821C00760000',
'O:SPY260821C00770000', 'O:SPY260821C00780000', 'O:SPY260821C00800000',
'O:SPY260821C00820000')
AND sip_timestamp >= '2026-07-15 13:30:00'
AND sip_timestamp < '2026-07-15 20:00:00'
AND bid_price > 0
AND ask_price > bid_price
GROUP BY ticker
ORDER BY toUInt32OrZero(substring(ticker, length(ticker) - 7, 8))Lo strike deep in-the-money in cima al pannello ha quotato uno spread mediano di 12 centesimi contro un bid di $24.18. Lo strike far out-of-the-money in fondo ha quotato 1 centesimo contro un bid di $0.12. In termini assoluti, il contratto economico ha lo spread più stretto. In percentuale del proprio prezzo, è invece molto più ampio, ed è quella percentuale a rappresentare il costo effettivo di un round trip. La meccanica della quotazione a due lati è spiegata in lo spread bid-ask. Lo stesso pannello mostra l'altro asse lungo cui si muovono gli spread: gli strike attivi vicini al money hanno registrato oltre centomila aggiornamenti di quotazione nella sessione, quelli distanti solo poche migliaia.
Volume e open interest
Due colonne contano l'attività, e i lettori le confondono continuamente. Volume conta i contratti scambiati durante la sessione corrente e si azzera a zero ogni notte. Open interest conta i contratti ancora aperti alla fine della sessione precedente, quindi si aggiorna una volta al giorno e descrive il posizionamento accumulato, non il flusso odierno. Uno strike può mostrare un volume elevato con quasi nessun open interest, cosa che accade quando i trader aprono e chiudono posizioni all'interno della stessa giornata.
L'esatto SQL dietro ogni numero
SELECT toString(toUInt32(strike_price)) AS strike,
toUInt64(sumIf(volume, option_type = 'C')) AS call_volume,
toUInt64(sumIf(volume, option_type = 'P')) AS put_volume
FROM global_markets.options_greeks
WHERE underlying_symbol = 'SPY'
AND date = toDate('2026-07-15')
AND expiration_date = toDate('2026-08-21')
AND strike_price BETWEEN 735 AND 770
AND toUInt32(strike_price) % 5 = 0
AND iv_converged
GROUP BY strike_price
HAVING countIf(option_type = 'C') > 0 AND countIf(option_type = 'P') > 0
ORDER BY strike_priceCluster di volume. In questi otto strike, il lato call è andato da 81 contratti allo strike più basso fino a 4547 a quello più alto, mentre il lato put pendeva nella direzione opposta. I numeri tondi e gli strike vicini al prezzo dell'azione assorbono la maggior parte del flusso, mentre uno strike distante due o tre gradini può trasportarne una frazione minima. Dove una riga della catena mostra uno spread ampio, il volume sottile nella stessa riga di solito gli siede accanto. Volume contro open interest misura l'intero nastro su questo punto.
Volatilità implicita, strike per strike
La colonna della volatilità implicita converte il prezzo di un contratto in una percentuale annualizzata: il valore di volatilità che farebbe restituire a un modello di pricing il prezzo quotato. È una riformulazione del prezzo, non una previsione. Contratti sullo stesso sottostante e con la stessa scadenza hanno abitualmente volatilità implicite diverse a strike diversi, e tracciare la colonna rispetto allo strike disegna la forma nota come smile, o skew.
L'esatto SQL dietro ogni numero
SELECT toString(toUInt32(strike_price)) AS strike,
round(100 * avg(implied_volatility), 1) AS implied_vol_pct,
round(100 * (strike_price / any(underlying_close) - 1), 1) AS strike_vs_spot_pct
FROM global_markets.options_greeks
WHERE underlying_symbol = 'SPY'
AND date = toDate('2026-07-15')
AND expiration_date = toDate('2026-08-21')
AND strike_price BETWEEN 640 AND 840
AND toUInt32(strike_price) % 20 = 0
AND iv_converged
AND implied_volatility BETWEEN 0.02 AND 3
GROUP BY strike_price
ORDER BY strike_priceLa curva non è piatta. Lo strike più basso del pannello si trova -15.2% dal prezzo dell'azione ed è prezzato a 23.6%, lo strike medio della gamma è molto più basso, e lo strike più alto risale a 12.8%. Nelle opzioni su indici l'ala ribassista è tipicamente prezzata sopra l'ala rialzista, un'asimmetria persistente e non una stranezza quotidiana. Ne conseguono due cose per chi legge la colonna. Un singolo numero di "IV" citato per un titolo è una media su una superficie che non è piatta, e confrontare la volatilità implicita tra due strike ha senso solo una volta che la loro distanza dal prezzo dell'azione è sul tavolo. Volatilità implicita definisce la misura e volatility skew ne mappa la forma.
Come una catena intraday è diversa
Le catene per i contratti che scadono nella stessa sessione, i contratti 0DTE, assomigliano a qualsiasi altra catena ma si comportano diversamente sotto un aspetto: tutto si muove più velocemente. Il valore temporale si esaurisce in ore anziché in mesi, il delta oscilla bruscamente quando il prezzo dell'azione supera uno strike, e la griglia degli strike è solitamente più fitta vicino al prezzo corrente. La composizione del tape di una singola giornata mostra quanta parte dell'attività ora risiede lì.
L'esatto SQL dietro ogni numero
WITH dateDiff('day', toDate('2026-07-15'), toDate(concat('20', substring(ticker, length(ticker) - 14, 2), '-', substring(ticker, length(ticker) - 12, 2), '-', substring(ticker, length(ticker) - 10, 2)))) AS dte
SELECT multiIf(dte = 0, 'same day (0DTE)', dte <= 7, '1-7 days', dte <= 30, '8-30 days',
dte <= 90, '31-90 days', 'over 90 days') AS expires_in,
round(sum(volume) / 1e6, 2) AS contracts_m,
round(100 * toFloat64(sum(volume)) / (SELECT toFloat64(sum(volume))
FROM global_markets.options_minute_aggs
WHERE window_start >= '2026-07-15 00:00:00' AND window_start < '2026-07-16 00:00:00'
AND substring(ticker, 3, length(ticker) - 17) = 'SPY'), 1) AS pct_of_spy_volume,
toUInt64(uniqExact(ticker)) AS distinct_contracts
FROM global_markets.options_minute_aggs
WHERE window_start >= '2026-07-15 00:00:00'
AND window_start < '2026-07-16 00:00:00'
AND substring(ticker, 3, length(ticker) - 17) = 'SPY'
AND dte >= 0
GROUP BY expires_in
ORDER BY min(dte)I contratti che scadevano quel pomeriggio hanno rappresentato il 66.9% del volume delle opzioni su SPY il 15 luglio 2026, 8.48 milioni di contratti distribuiti su soli 170 strike distinti. Tutto ciò che scadeva oltre novanta giorni ha rappresentato il 0.8% del volume, elencando 1502 contratti distinti. Questa forma è utile da tenere a mente quando si apre una qualsiasi catena: la parte più ampia della griglia contiene il minor volume di scambi, mentre la stretta fetta intraday ne contiene la maggior parte. Opzioni zero day copre quella fetta nei suoi termini specifici.
Leggere una riga dall'inizio alla fine
Prendi lo strike $755 dal primo pannello, con SPY a $754.68. La call è stata scambiata l'ultima volta a $14.03 e la put a $11.52, la coppia più vicina sulla fetta, che identifica questa come la riga at-the-money. Il delta della call di 0.54 indica che un movimento di $1 in SPY muove quella call di circa 0.54 dollari, e la put sulla stessa riga ha un delta di -0.46 per lo stesso movimento di $1 in direzione opposta.
Un contratto copre 100 azioni, quindi una catena che quota $14.03 quota per azione, e il contratto costa circa 100 volte tanto prima delle commissioni. Il moltiplicatore è l'errore di lettura più comune di una catena. Tutto il resto sulla riga descrive lo stesso contratto da un'altra angolazione: lo spread è ciò che costa transare, il volume è quanta compagnia hai, la volatilità implicita è l'assunzione di volatilità incorporata nel prezzo. Opzioni call e Opzioni put coprono le meccaniche di pagamento su cui ogni riga si basa.
FAQ
Cosa significano le colonne di una catena di opzioni?
Strike e scadenza identificano il contratto. Bid e ask sono le quotazioni bidirezionali in tempo reale, last è il prezzo dell'ultimo scambio, volume conta gli scambi di oggi e open interest conta le posizioni ancora aperte dalle sessioni precedenti. La volatilità implicita esprime il prezzo come percentuale annualizzata, e le colonne delle greche misurano la sensibilità al prezzo dell'azione, al tempo e alla volatilità.
Qual è la differenza tra volume e open interest?
Volume conta i contratti scambiati durante la sessione corrente e parte da zero ogni mattina. Open interest conta i contratti ancora aperti dopo la chiusura della sessione precedente, quindi ha un giorno di ritardo e cambia solo quando le posizioni vengono aperte o chiuse, non quando vengono trasferite tra trader.
Perché due strike sulla stessa scadenza mostrano volatilità implicite diverse?
Opzioni a strike diversi coprono parti diverse della gamma dei possibili prezzi futuri, e il mercato valuta queste parti in modo diverso. Nell'esempio SPY sopra, lo strike più basso sul pannello quotava vicino a 23.6% mentre la parte centrale della gamma era ben al di sotto, la curva che i trader chiamano sorriso o skew.
Cosa significa un delta di 0,50 su una catena di opzioni?
Un delta di 0,50 significa che il prezzo del contratto si muove di circa 50 centesimi per ogni movimento di 1 dollaro del prezzo dell'azione sottostante, ed è comunemente interpretato come una stima approssimativa della probabilità che il contratto chiuda in the money. Il delta si aggira intorno a 0,50 per le call allo strike più vicino al prezzo corrente dell'azione e scende verso zero per strike lontani.
Il prezzo su una catena di opzioni si riferisce a un'azione o a un contratto?
Il prezzo quotato è per azione. Un'opzione standard su azioni USA copre 100 azioni, quindi un contratto quotato a $2,00 costa circa $200 più commissioni. Le catene non mostrano quasi mai quel moltiplicatore.
Ogni cifra sopra proviene da una query archiviata e con versione sul tape delle opzioni. Espandi qualsiasi pannello per leggere il SQL, oppure estrai la stessa catena tu stesso sul terminale Strasmore.