Strasmore Research
Formazione Matt ConnorDi Matt Connor · data as of August 14, 2026 · refreshed weekly

Put/call ratio: quando è alto per azioni e indici

I put/call ratio su azioni e indici hanno intervalli normali diversi. Scopri come si calcolano, perché il dato sugli indici è più alto e come confrontarli correttamente.

Un put/call ratio elevato non corrisponde a un unico valore. Ne vengono pubblicati almeno tre, calcolati sullo stesso flusso di contrattazioni sulle opzioni. Uno considera solo le opzioni su singoli titoli. Un altro considera solo i prodotti su indici. Il terzo combina entrambe le categorie. Ciascuno ha il proprio intervallo normale. Per questo una lettura di 1,20 può essere un outlier in una serie e rientrare nella norma in un’altra. Se il parametro è nuovo, che cosa misura il put/call ratio ne illustra le basi.

Perché il put/call ratio degli indici è più alto di quello delle singole azioni?

Partiamo da chi compra. Un put sull’indice è il singolo strumento meno costoso per coprire un portafoglio diversificato nel suo complesso. Un fondo che detiene quattrocento posizioni non acquista quattrocento put distinti. Compra put sull’indice, li rinnova secondo un calendario prestabilito e contabilizza il premio come costo di copertura. Questo volume protegge azioni che il fondo possiede già e si manifesta indipendentemente dall’ottimismo del gestore.

Le opzioni su singole azioni presentano una composizione diversa. Una parte consistente dei volumi riguarda l’acquisto di call sui singoli titoli, mentre la vendita di covered call aggiunge altro volume sul lato opposto. Gli acquisti di put sui singoli titoli sono effettivi, ma si affiancano a un flusso di call molto più ampio.

La formula non distingue questi flussi. Dividendo un flusso di put dominato dalle operazioni di hedge per un flusso ridotto di call, il quoziente si avvicina a 1,00 o lo supera. Dividendo un flusso moderato di put per un flusso consistente di call, il risultato si colloca intorno a 0,50. La formula è una sola, ma i normali intervalli possono essere due.

La tabella seguente conta i volumi dei contratti nelle sessanta sedute precedenti per otto titoli azionari di ampia diffusione e quattro ETF broad-market, quindi divide il volume dei put per quello delle call per ciascun sottostante.

QueryRapporto volume put/call per sottostante, ultime 60 sessioni
L'esatto SQL dietro ogni numero
SELECT
    underlying_symbol                                                    AS symbol,
    if(underlying_symbol IN ('SPY', 'QQQ', 'IWM', 'DIA'),
       'broad-market ETF',
       'single stock')                                                   AS bucket,
    round(sumIf(volume, startsWith(lower(option_type), 'p'))
          / sumIf(volume, startsWith(lower(option_type), 'c')), 2)       AS put_call_ratio,
    round(sumIf(volume, startsWith(lower(option_type), 'c')) / 1e6, 1)   AS call_volume_millions,
    round(sumIf(volume, startsWith(lower(option_type), 'p')) / 1e6, 1)   AS put_volume_millions
FROM global_markets.options_greeks
WHERE date >= (SELECT toDate(max(date))
               FROM global_markets.options_greeks
               WHERE volume > 0) - 60
  AND volume > 0
  AND underlying_symbol IN ('AAPL', 'MSFT', 'NVDA', 'AMZN', 'TSLA', 'JPM', 'KO', 'JNJ',
                            'SPY', 'QQQ', 'IWM', 'DIA')
GROUP BY symbol
HAVING sumIf(volume, startsWith(lower(option_type), 'c')) > 0
ORDER BY put_call_ratio ASC
Run this yourself

Lo spread all’interno del campione è ampio. Il valore più basso è 0.43 su MSFT, mentre quello più alto è 2.86 su IWM, che nel periodo ha scambiato 9.6 milioni di contratti call. La colonna bucket indica quali righe si riferiscono a singole azioni e quali a ETF broad-market. Leggere la colonna del ratio tenendo conto di questa distinzione.

Prima di proseguire, una precisazione. Un ratio pubblicato per un indice utilizza opzioni sul livello dell’indice stesso, regolate per cassa alla scadenza anziché mediante consegna di azioni. Mini opzioni su indice sono la versione con nozionale inferiore di quel contratto. Le tabelle qui utilizzano le opzioni su ETF broad-market come proxy del sottostante per lo stesso flusso di hedging. È proprio su questo punto che i vendor non concordano.

Che cosa misura ciascun rapporto pubblicato?

  • Solo azioni: opzioni su azioni di singole società, cioè il flusso sui singoli titoli; nella maggior parte delle sedute prevalgono le call.
  • Solo indici: opzioni su un indice, regolate per cassa, che rappresentano la maggior parte dei volumi legati alla copertura del portafoglio.
  • Totale: tutti i contratti appartenenti ai due gruppi; il volume delle put rispetto a quello delle call.

Tutti e tre misurano il volume, cioè i contratti scambiati durante la seduta, non le posizioni ancora aperte alla chiusura. Volume e open interest distingue questi due concetti.

Il total put/call ratio è una media degli altri due?

No. Il totale è una combinazione ponderata, in cui il peso è determinato dai volumi delle call. Indichiamo con w la quota dei volumi delle call riferibile al paniere degli indici, considerando entrambi i panieri. Il totale è pari al rapporto del paniere azionario più w moltiplicato per la distanza tra i due rapporti. Quando il paniere degli indici rappresenta una quota minima dei volumi delle call, il totale si colloca quasi sul rapporto del paniere azionario. Quando invece è dominante, il totale sale verso il rapporto del paniere degli indici.

Il pannello successivo mantiene fissi entrambi i componenti ai livelli misurati sulle sessanta sedute e varia w da zero al cento per cento.

QueryIl totale è una combinazione ponderata per il volume delle call dei due bucket
L'esatto SQL dietro ogni numero
WITH components AS
(
    SELECT
        round(sumIf(volume, startsWith(lower(option_type), 'p') AND underlying_symbol NOT IN ('SPY', 'QQQ', 'IWM', 'DIA'))
              / sumIf(volume, startsWith(lower(option_type), 'c') AND underlying_symbol NOT IN ('SPY', 'QQQ', 'IWM', 'DIA')), 3) AS equity_ratio,
        round(sumIf(volume, startsWith(lower(option_type), 'p') AND underlying_symbol IN ('SPY', 'QQQ', 'IWM', 'DIA'))
              / sumIf(volume, startsWith(lower(option_type), 'c') AND underlying_symbol IN ('SPY', 'QQQ', 'IWM', 'DIA')), 3) AS index_ratio
    FROM global_markets.options_greeks
    WHERE date >= (SELECT toDate(max(date))
                   FROM global_markets.options_greeks
                   WHERE volume > 0) - 60
      AND volume > 0
      AND underlying_symbol IN ('AAPL', 'MSFT', 'NVDA', 'AMZN', 'TSLA', 'JPM', 'KO', 'JNJ',
                                'SPY', 'QQQ', 'IWM', 'DIA')
    HAVING sumIf(volume, startsWith(lower(option_type), 'c') AND underlying_symbol IN ('SPY', 'QQQ', 'IWM', 'DIA')) > 0
       AND sumIf(volume, startsWith(lower(option_type), 'c') AND underlying_symbol NOT IN ('SPY', 'QQQ', 'IWM', 'DIA')) > 0
)
SELECT
    concat(toString(step * 10), '%')                                    AS index_share_of_call_volume,
    equity_ratio,
    index_ratio,
    round(equity_ratio + (index_ratio - equity_ratio) * (step / 10), 3) AS blended_total_ratio
FROM
(
    SELECT
        equity_ratio,
        index_ratio,
        arrayJoin(range(11)) AS step
    FROM components
)
ORDER BY step
Run this yourself

Con i componenti fissi a 0.562 e 1.396, la combinazione ponderata è pari a 0.562 quando il paniere degli indici non contribuisce ai volumi delle call e a 1.396 quando vi contribuisce interamente. Con una ripartizione paritaria, ossia 50% dei volumi delle call nel paniere degli indici, il totale stampa 0.979. Nessuno dei due componenti è cambiato nelle undici righe. È cambiata soltanto la combinazione.

Può aumentare il rapporto complessivo mentre diminuiscono entrambe le componenti?

Sì, ed è questa la trappola insita in un unico dato aggregato. Ecco un esempio ipotetico con due sedute e numeri tondi, scelti per semplificare i calcoli.

Primo giorno: il comparto azionario scambia 1.000.000 di call e 600.000 put, con un rapporto di 0,60. Il comparto degli indici scambia 200.000 call e 280.000 put, con un rapporto di 1,40. Il totale è di 880.000 put su 1.200.000 call, pari a 0,73.

Secondo giorno: entrambi i rapporti diminuiscono. Il comparto azionario registra 0,55, con 600.000 call e 330.000 put. Il comparto degli indici registra 1,30, con 800.000 call e 1.040.000 put. Il totale è di 1.370.000 put su 1.400.000 call, pari a 0,98.

Entrambe le componenti sono diminuite. Il totale è aumentato di un quarto di punto. L’unico altro elemento a essere cambiato è la quota dei volumi sulle call concentrata nel comparto con il rapporto più elevato, passata dal 17 percento al 57 percento. Un lettore che osservasse soltanto il totale registrerebbe un aumento dell’attività sulle put che nessuno dei due comparti ha effettivamente sperimentato.

Questa quota non è costante nei dati in tempo reale. Il pannello seguente mostra, seduta per seduta, entrambi i rapporti dei comparti e la quota dei volumi sulle call riconducibile al comparto degli ETF.

QueryBucket dei singoli titoli vs bucket degli ETF, sessione per sessione
L'esatto SQL dietro ogni numero
SELECT
    toString(date)                 AS session_date,
    formatDateTime(date, '%b %e')  AS session_label,
    round(sumIf(volume, startsWith(lower(option_type), 'p') AND underlying_symbol NOT IN ('SPY', 'QQQ', 'IWM', 'DIA'))
          / sumIf(volume, startsWith(lower(option_type), 'c') AND underlying_symbol NOT IN ('SPY', 'QQQ', 'IWM', 'DIA')), 2) AS equity_ratio,
    round(sumIf(volume, startsWith(lower(option_type), 'p') AND underlying_symbol IN ('SPY', 'QQQ', 'IWM', 'DIA'))
          / sumIf(volume, startsWith(lower(option_type), 'c') AND underlying_symbol IN ('SPY', 'QQQ', 'IWM', 'DIA')), 2) AS index_style_ratio,
    round(index_style_ratio - equity_ratio, 2)                                                                            AS ratio_gap,
    round(100 * sumIf(volume, startsWith(lower(option_type), 'c') AND underlying_symbol IN ('SPY', 'QQQ', 'IWM', 'DIA'))
          / sumIf(volume, startsWith(lower(option_type), 'c')), 1)                                                        AS etf_share_of_calls_pct
FROM global_markets.options_greeks
WHERE date >= (SELECT toDate(max(date))
               FROM global_markets.options_greeks
               WHERE volume > 0) - 45
  AND volume > 0
  AND underlying_symbol IN ('AAPL', 'MSFT', 'NVDA', 'AMZN', 'TSLA', 'JPM', 'KO', 'JNJ',
                            'SPY', 'QQQ', 'IWM', 'DIA')
GROUP BY date
HAVING sumIf(volume, startsWith(lower(option_type), 'c') AND underlying_symbol IN ('SPY', 'QQQ', 'IWM', 'DIA')) > 0
   AND sumIf(volume, startsWith(lower(option_type), 'c') AND underlying_symbol NOT IN ('SPY', 'QQQ', 'IWM', 'DIA')) > 0
ORDER BY date
Run this yourself

Su Jun 29, la prima seduta considerata, il comparto delle singole azioni ha registrato 0.5 rispetto a 1.55 per il comparto degli ETF, con uno scarto di 1.05 e una quota del 45.2 percento dei volumi sulle call nel comparto degli ETF. Su Aug 12, le colonne riportano rispettivamente 0.55, 1.34 e uno scarto di 0.79, mentre la quota degli ETF è pari a 49.5 percento. La colonna dello scarto è positiva a entrambe le estremità delle 32 sedute mostrate, mentre la colonna della quota varia nel frattempo.

Perché due fonti riportano put/call ratio diversi per lo stesso giorno?

La differenza dipende dai criteri di aggregazione. Il caso ambiguo è quello delle opzioni su ETF. Un ETF è un titolo quotato, quindi può rientrare nel bucket azionario. Replica però un indice, quindi può rientrare nel bucket degli indici. Gli editori risolvono la questione in modi diversi: alcuni includono le opzioni su ETF nel put/call ratio azionario, altri riportano gli exchange traded products in una serie separata, altri ancora li aggregano ai prodotti indicizzati. In tutti i casi, l’etichetta sul grafico è la stessa.

L’impatto di questa scelta è misurabile. Il pannello seguente calcola due volte il ratio di un bucket sulle stesse sessioni: una volta escludendo le opzioni su ETF e una volta includendole.

QueryLo stesso rapporto azionario, calcolato con e senza opzioni su ETF
L'esatto SQL dietro ogni numero
SELECT
    toString(date)                 AS session_date,
    formatDateTime(date, '%b %e')  AS session_label,
    round(sumIf(volume, startsWith(lower(option_type), 'p') AND underlying_symbol NOT IN ('SPY', 'QQQ', 'IWM', 'DIA'))
          / sumIf(volume, startsWith(lower(option_type), 'c') AND underlying_symbol NOT IN ('SPY', 'QQQ', 'IWM', 'DIA')), 2) AS equity_ratio_etfs_excluded,
    round(sumIf(volume, startsWith(lower(option_type), 'p'))
          / sumIf(volume, startsWith(lower(option_type), 'c')), 2)                                                           AS equity_ratio_etfs_included
FROM global_markets.options_greeks
WHERE date >= (SELECT toDate(max(date))
               FROM global_markets.options_greeks
               WHERE volume > 0) - 30
  AND volume > 0
  AND underlying_symbol IN ('AAPL', 'MSFT', 'NVDA', 'AMZN', 'TSLA', 'JPM', 'KO', 'JNJ',
                            'SPY', 'QQQ', 'IWM', 'DIA')
GROUP BY date
HAVING sumIf(volume, startsWith(lower(option_type), 'c') AND underlying_symbol NOT IN ('SPY', 'QQQ', 'IWM', 'DIA')) > 0
ORDER BY date
Run this yourself

In Aug 12, l’ultima sessione del pannello, il dato riferito esclusivamente ai singoli titoli era 0.55, mentre la versione che includeva le opzioni su ETF era 0.94. Stesso giorno, stesso tape, stesse parole sull’asse. Una soglia ricavata dalla serie di un editore non si applica automaticamente a quella di un altro.

Che cosa si considera quindi un put/call ratio elevato?

La regola applicabile è restrittiva. Un ratio va confrontato solo con la propria storia, usando la stessa fonte e la stessa metodologia di costruzione. Un percentile risponde a questa domanda: dove si colloca il dato di oggi rispetto all’ultimo anno di quella serie esatta? Una soglia fissa a 1,00 non lo fa, perché 1,00 è un valore estremo in una serie azionaria, ma un dato normale in una serie su un indice.

Due accorgimenti mantengono corretto il confronto. Prima di citare un livello, leggete la nota metodologica, soprattutto per il trattamento degli ETF. Leggete poi le componenti insieme al totale, perché il totale può muoversi soltanto per effetto della composizione. Se un put/call ratio elevato è bullish approfondisce l’interpretazione, mentre come si calcola il put/call ratio illustra i calcoli passo dopo passo.

Note sui dati e definizioni dei bucket

Il bucket degli ETF comprende SPY, QQQ, IWM e DIA. Il bucket dei singoli titoli comprende AAPL, MSFT, NVDA, AMZN, TSLA, JPM, KO e JNJ. Entrambi sono campioni della rispettiva categoria, non l’intero mercato. I livelli riportati mostrano quindi la differenza tra le categorie senza riprodurre il dato principale pubblicato da alcuna fonte.

Ogni pannello somma il volume dei contratti della seduta, separando call e put, quindi calcola il rapporto. Non viene applicata una ponderazione per controvalore o premio.

Ogni finestra è ancorata alla seduta più recente con volume registrato, non al giorno di calendario. I lati put e call vengono abbinati in base alla prima lettera del tipo di contratto, così un feed che utilizza P e C invece di put e call assegna comunque correttamente i contratti ai bucket.

Un contratto viene conteggiato ogni volta che per la seduta ne è stato registrato il volume, inclusi gli strike deep out-of-the-money. Gli strike più lontani rappresentano una quota rilevante del volume delle put utilizzate per l’hedging; escluderli sottostimerebbe il bucket degli ETF.

Le opzioni su un indice, con regolamento per cassa ed esercizio europeo, sono un prodotto diverso dalle opzioni sugli ETF. I pannelli per sottostante usano le opzioni sugli ETF come proxy dei flussi di hedging sugli indici, che è la questione di classificazione descritta sopra.

Una o due delle sedute più recenti possono mancare all’inizio della serie mentre vengono acquisiti i dati della giornata.

FAQ

Wie ist ein normaler Put/Call-Ratio-Wert bei Aktienoptionen?

Optionen auf Einzelaktien weisen üblicherweise Werte unter 1,00 auf. In den meisten Sitzungen ist das Call-Volumen größer. Bei den zwölf Titeln im oben dargestellten Panel für die vergangenen sechzig Sitzungen lag der niedrigste Wert bei 0.43. Was für eine einzelne Serie als normal gilt, ergibt sich aus ihrer eigenen Historie und nicht aus einem einheitlichen Schwellenwert.

Warum liegt das Put/Call-Ratio bei Indexoptionen üblicherweise über 1?

Index-Puts sind der Standard-Hedge für Portfolios. Diese Käufe erfolgen planmäßig durch Manager, die die Aktien bereits halten. Das Hedging-Volumen fällt auf die Put-Seite desselben Bruchs, den auch ein direktionaler Trade verwenden würde. Dadurch liegt die Serie über ihre gesamte Historie hinweg auf einem höheren Niveau.

Welches Put/Call-Ratio zeigen Sentiment-Charts üblicherweise?

Die meisten veröffentlichten Charts zeigen entweder die Gesamtserie oder die reine Aktienserie. Die Achsenbeschriftung gibt jedoch selten an, um welche es sich handelt. Prüfen Sie vor dem Vergleich eines Charts mit einem an anderer Stelle genannten Schwellenwert die Methodik. Die Serien bewegen sich auf unterschiedlichen Niveaus.

Kann ich Put/Call-Ratios von zwei verschiedenen Anbietern vergleichen?

Die Niveaus sind nicht übertragbar. Die Anbieter unterscheiden sich bei der Behandlung von ETFs und bei der Frage, welche Börsenvolumina gezählt werden. Aussagekräftig bleiben die Richtung und das Perzentil innerhalb der jeweiligen Serie eines Anbieters.


Zu jedem Panel gehört die SQL-Abfrage, mit der es erstellt wurde. Daher lassen sich alle diese Aufteilungen mit einem anderen Universum oder Zeitfenster neu berechnen. Stellen Sie dieselbe Frage auf Englisch im Strasmore-Terminal.