Strasmore Research
Aprendizado Matt ConnorPor Matt Connor · Atualizado 2026-07-23

O que é o put-call ratio e como calcular

Entenda o cálculo do put-call ratio dividindo o volume de puts por calls. Veja dados históricos de índices e equity para análise de sentimento do mercado.

O put-call ratio é o volume de puts do dia dividido pelo volume de calls: quantos contratos de viés pessimista foram negociados para cada contrato de viés otimista. Um valor acima de 1.0 indica que houve mais negociação de puts do que de calls; um valor bem abaixo de 1.0 significa que as calls dominaram. A maioria das explicações limita-se à definição e a uma regra prática comum. Esta página calcula o dado real — cada contrato de opção listado nos EUA, dia após dia — e depois o divide como os profissionais fazem: índice versus equity, vencimento por vencimento, e em comparação com uma década de histórico.

Como o put-call ratio é calculado?

Soma-se o volume de contratos de puts de todas as operações de uma sessão, soma-se o volume de calls e divide-se um pelo outro. O valor de uma put aumenta quando o ativo subjacente cai; o de uma call aumenta quando ele sobe — portanto, o ratio funciona como um termômetro aproximado do posicionamento de baixa versus o posicionamento de alta.

O cálculo é deliberadamente simples. Suponha que uma ação negocie 40.000 contratos de put e 60.000 contratos de call em uma sessão: 40.000 ÷ 60.000 = 0,67, dois puts para cada três calls. Mantendo as calls em 60.000 e elevando os puts para 90.000, o ratio torna-se 1,5. Essa é a fórmula completa; a complexidade reside na interpretação, não na divisão.

Dois detalhes estão contidos no termo "volume":

  • Volume, não open interest. O ratio padrão contabiliza os contratos negociados no dia. Uma variante utiliza o open interest — contratos em aberto — que apresenta maior lentidão de movimento. Identifique qual deles o gráfico está exibindo.
  • Toda operação possui dois lados. Uma put comprada para abrir posição, uma put vendida para fechar um hedge e uma put escrita para gerar renda registram o mesmo volume. O ratio contabiliza atividade, não intenção.

Como está o put-call ratio do mercado?

Calculado diariamente para todas as opções de ações, ETFs e índices listados nos EUA, de 1º de junho até a última sessão completa em nosso registro:

QueryPut-call ratio do mercado por dia — todas as opções listadas nos EUA, 1 de junho a 10 de julho de 2026
O SQL exato por trás de cada número
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS day,
       concat(monthName(day), ' ', toString(toDayOfMonth(day))) AS day_label,
       round(sumIf(toFloat64(volume), substring(ticker, length(ticker) - 8, 1) = 'P')
             / sumIf(toFloat64(volume), substring(ticker, length(ticker) - 8, 1) = 'C'), 3) AS put_call_ratio,
       round(sum(toFloat64(volume)) / 1e6, 1) AS contracts_mm
FROM global_markets.options_minute_aggs
WHERE window_start >= '2026-06-01 04:00:00'
  AND window_start < '2026-07-11 04:00:00'
GROUP BY day
ORDER BY day

A série iniciou o período em 0.589 em June 1, fechou em 0.686 em July 10, e nunca cruzou 1.0 no intervalo — o volume de calls superou o de puts em todas as 28 sessões. Esta é a primeira lição prática: 1.0 não é o ponto neutro que um iniciante assume. A informação está no movimento do ratio dentro de sua própria faixa. Aqui está essa faixa para o mês de junho completo:

QueryRange de put-call de junho de 2026 — mediana, máxima e mínima do ratio diário do mercado
O SQL exato por trás de cada número
WITH daily AS (
    SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS day,
           sumIf(toFloat64(volume), substring(ticker, length(ticker) - 8, 1) = 'P')
           / sumIf(toFloat64(volume), substring(ticker, length(ticker) - 8, 1) = 'C') AS ratio
    FROM global_markets.options_minute_aggs
    WHERE window_start >= '2026-06-01 04:00:00'
      AND window_start < '2026-07-01 04:00:00'
    GROUP BY day
)
SELECT round(quantileDeterministic(0.5)(ratio, cityHash64(toString(day))), 3) AS june_median,
       round(max(ratio), 3) AS june_high,
       concat(monthName(argMax(day, ratio)), ' ', toString(toDayOfMonth(argMax(day, ratio)))) AS june_high_day,
       round(min(ratio), 3) AS june_low,
       concat(monthName(argMin(day, ratio)), ' ', toString(toDayOfMonth(argMin(day, ratio)))) AS june_low_day
FROM daily

A mediana de junho ficou em 0.793, dentro de uma banda de 0.589 (em June 1) até 0.923 (em June 25). Agora, a sessão que todos lembram do mês — o selloff de 5 de junho, documentado em o resumo de junho de 2026. As opções negociaram 103.1 milhões de contratos, a sessão mais movimentada do período, e o ratio saltou para 0.866 contra 0.679 do dia anterior. O selloff e a sessão de volume recorde com viés de puts foram a mesma sessão: o ratio registrou o aumento do posicionamento de downside conforme ele ocorria.

Duas notas práticas. O nível oscila conforme o mix de produtos negociados na semana, portanto, pequenos movimentos diários dentro da banda têm pouco significado isoladamente. Além disso, o volume total é um contexto essencial — o mesmo ratio com o dobro de contratos é um sinal muito mais forte, razão pela qual o painel apresenta a contagem de contratos junto ao ratio.

CBOE, ISEE e outros benchmarks de put-call

Se o seu broker ou um gráfico de notícias financeiras cita "o" put-call ratio, ele quase certamente está citando uma de várias séries publicadas — e elas medem populações diferentes:

  • $CPC — o put/call ratio total da CBOE: todas as opções negociadas nas bolsas da CBOE, puts sobre calls.
  • $CPCE — o ratio apenas de equity: opções de ações individuais. Opções de ETF com liquidação física, como SPY, ficam no lado de equity desta linha, embora os traders as utilizem como produtos de índice.
  • $CPCI — o ratio apenas de índice: opções de índice com liquidação em dinheiro (SPX, NDX, RUT, VIX e similares).
  • ISEE — o ISE Sentiment Index, construído de forma inversa: calls divididas por puts, multiplicadas por 100, contabilizadas apenas a partir de compras longas de clientes na abertura. Um ISEE alto indica predominância de calls; um $CPC alto indica predominância de puts. Ler um como se fosse o outro inverte a mensagem.

A linha de equity/índice da própria CBOE coloca opções de ETF como SPY no lado de equity. O painel abaixo traça o limite de forma diferente, separando ETFs de amplo mercado das ações individuais: os dois não têm nada em comum. Cada contrato de junho de 2026, dividido em três populações:

QueryOpções de índice vs. ações individuais — put-call ratio por população, junho de 2026
O SQL exato por trás de cada número
WITH substring(ticker, 3, length(ticker) - 17) AS root
SELECT multiIf(root IN ('SPX', 'SPXW', 'XSP', 'NDX', 'NDXP', 'RUT', 'RUTW', 'VIX', 'VIXW', 'DJX', 'OEX', 'XEO'), 'Index options (SPX, VIX, NDX)',
               root IN ('SPY', 'QQQ', 'IWM', 'DIA'), 'Broad-market ETFs (SPY, QQQ, IWM, DIA)',
               'Single stocks and other ETFs') AS population,
       round(sumIf(toFloat64(volume), substring(ticker, length(ticker) - 8, 1) = 'P')
             / sumIf(toFloat64(volume), substring(ticker, length(ticker) - 8, 1) = 'C'), 3) AS put_call_ratio,
       round(sum(toFloat64(volume)) / 1e6, 1) AS contracts_mm,
       round(100 * sum(toFloat64(volume)) / sum(sum(toFloat64(volume))) OVER (), 1) AS pct_of_volume
FROM global_markets.options_minute_aggs
WHERE window_start >= '2026-06-01 04:00:00'
  AND window_start < '2026-07-01 04:00:00'
GROUP BY population
ORDER BY put_call_ratio DESC

As duas populações ligadas a índices apresentaram predominância de puts — ETFs de amplo mercado em 1.175 e opções de índice com liquidação em dinheiro em 1.096, ambos acima de 1.0 — enquanto ações individuais e todo o resto registraram 0.588, pouco mais de um put para cada dois calls. O mecanismo é estrutural: produtos de índice são os veículos padrão para hedge de portfólio, e o hedge é feito com puts; ações individuais atraem a compra especulativa de calls. O volume negociado também importa — ações individuais e outros ETFs carregaram 59.9% dos contratos de junho, portanto, um ratio "total" é majoritariamente um ratio de equity com aparência de índice.

A proporção depende do ativo analisado

Analise um nível mais a fundo. A mesma métrica, junho de 2026, aplicada aos cinco ativos mais negociados:

QueryPut-call ratio por underlying — cinco dos ativos mais ativos, junho de 2026
O SQL exato por trás de cada número
SELECT multiIf(ticker LIKE 'O:SPY2%', 'SPY',
               ticker LIKE 'O:QQQ2%', 'QQQ',
               ticker LIKE 'O:NVDA2%', 'NVDA',
               ticker LIKE 'O:TSLA2%', 'TSLA',
               'AAPL') AS underlying,
       round(sumIf(toFloat64(volume), substring(ticker, length(ticker) - 8, 1) = 'P')
             / sumIf(toFloat64(volume), substring(ticker, length(ticker) - 8, 1) = 'C'), 2) AS put_call_ratio,
       round(sum(toFloat64(volume)) / 1e6, 1) AS contracts_mm
FROM global_markets.options_minute_aggs
WHERE window_start >= '2026-06-01 04:00:00'
  AND window_start < '2026-07-01 04:00:00'
  AND (ticker LIKE 'O:SPY2%' OR ticker LIKE 'O:QQQ2%' OR ticker LIKE 'O:NVDA2%'
       OR ticker LIKE 'O:TSLA2%' OR ticker LIKE 'O:AAPL2%')
GROUP BY underlying
ORDER BY put_call_ratio DESC

SPY apresentou a maior concentração de puts entre os cinco, com 1.16; NVDA ficou em apenas 0.56. Comparar a proporção de um ticker com a de outro é pouco produtivo — a comparação útil é o ticker contra seu próprio histórico.

O put-call ratio muda conforme o vencimento?

O volume diário não é um bloco homogêneo: alguns contratos vencem em horas, outros em anos. Ao classificar o volume de junho pelo tempo de vencimento — veja o que significa DTE — é possível separar as proteções (hedges) dos bilhetes de loteria:

QueryPut-call ratio por dias para o vencimento — todas as opções listadas nos EUA, junho de 2026
O SQL exato por trás de cada número
WITH toDate(toTimeZone(window_start, 'America/New_York')) AS trade_day,
     toDate(concat('20', substring(ticker, length(ticker) - 14, 2), '-',
                   substring(ticker, length(ticker) - 12, 2), '-',
                   substring(ticker, length(ticker) - 10, 2))) AS expiry,
     dateDiff('day', trade_day, expiry) AS dte
SELECT multiIf(dte <= 0, '0DTE (expires today)', dte <= 7, '1-7 days', dte <= 30, '8-30 days',
               dte <= 90, '31-90 days', '91+ days') AS expiry_bucket,
       round(sumIf(toFloat64(volume), substring(ticker, length(ticker) - 8, 1) = 'P')
             / sumIf(toFloat64(volume), substring(ticker, length(ticker) - 8, 1) = 'C'), 3) AS put_call_ratio,
       round(sum(toFloat64(volume)) / 1e6, 1) AS contracts_mm,
       round(100 * sum(toFloat64(volume)) / sum(sum(toFloat64(volume))) OVER (), 1) AS pct_of_volume
FROM global_markets.options_minute_aggs
WHERE window_start >= '2026-06-01 04:00:00'
  AND window_start < '2026-07-01 04:00:00'
GROUP BY expiry_bucket
ORDER BY min(dte)

O ratio cai conforme o prazo aumenta no calendário. Contratos que vencem no mesmo dia — opções 0DTE — registraram 0.957, o grupo com maior concentração de puts entre os cinco, e sozinhos representaram 34.3% do volume total de junho. Com um a sete dias de vencimento, o ratio cai para 0.756; entre 8 e 30 dias é 0.717; entre 31 e 90 dias é 0.634; e no grupo de 91 dias ou mais, na extremidade dos LEAPS, o indicador atinge o fundo em 0.564 — o setor com maior concentração de calls do mercado.

Essa tabela refuta a interpretação comum. Um ratio de mercado é uma mistura de diversos vencimentos cuja composição muda semana a semana: uma sexta-feira de vencimento intensa desloca o peso para o curto prazo e altera o número principal, sem que haja mudança real no nível de ansiedade dos investidores. É necessário comparar dados equivalentes.

Qual o nível de extremismo de uma leitura, historicamente?

Seis semanas não são suficientes para determinar se uma leitura é rara. Para isso, são necessários anos — por isso, apresentamos a família de opções mais negociada e de maior duração do mercado, o SPY, com a mediana, a mínima e a máxima de seu put-call ratio diário para cada ano completo em nosso histórico de opções:

QueryUma década de put-call ratios do SPY — mediana, mínima e máxima da leitura diária por ano
O SQL exato por trás de cada número
WITH daily AS (
    SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS day,
           sumIf(toFloat64(volume), substring(ticker, length(ticker) - 8, 1) = 'P')
           / sumIf(toFloat64(volume), substring(ticker, length(ticker) - 8, 1) = 'C') AS ratio
    FROM global_markets.options_minute_aggs
    WHERE ticker LIKE 'O:SPY%'
    GROUP BY day
    HAVING sumIf(toFloat64(volume), substring(ticker, length(ticker) - 8, 1) = 'C') > 0
)
SELECT toYear(day) AS year,
       count() AS sessions,
       round(quantileDeterministic(0.5)(ratio, cityHash64(toString(day))), 3) AS median_ratio,
       round(min(ratio), 3) AS low,
       round(max(ratio), 3) AS high
FROM daily
WHERE toYear(day) >= 2015
GROUP BY year
ORDER BY year

Três conclusões podem ser tiradas. Primeiro, a mediana do ratio diário do SPY terminou acima de 1.0 em todos os anos da tabela — a inclinação para puts no hedge de índices não é uma tendência para 2026, é o estado padrão do produto. Segundo, o nível caiu ao longo da década: a mediana era 1.754 em 2015 e 1.168 em 2025, acompanhando o crescimento da negociação de calls de curto prazo. Terceiro, os intervalos anuais são amplos — o ano de 2026 até agora abrange de 0.848 a 1.751 ao longo de 130 sessões. Esta é a resposta real para "a leitura de hoje é extrema?": compare-a com a distribuição do próprio produto, nunca com o valor 1.0.

Como acompanhar o put-call ratio de uma ação

Os painéis acima são modelos, não relatórios fixos. Para calcular a proporção de uma ação que você possui:

  1. Escolha a população. Use as opções de um único ticker, não "o mercado" — a mistura de dados torna os números ilegíveis.
  2. Some o volume de puts e o volume de calls do dia de todos os strikes e vencimentos desse ticker e divida o resultado. No símbolo da opção, a nona letra de trás para frente é P ou C — esse único caractere define toda a classificação.
  3. Construa o histórico antes de analisar o nível. Um valor de 0.9 em um único dia não significa nada até que você conheça a mediana e a amplitude desse ticker — assim como o painel do SPY faz ano a ano.
  4. Analise o volume em conjunto. Um pico com volume comum é apenas ruído; o mesmo pico no maior volume de negociação em seis semanas é a sessão de 5 de junho acima.
  5. Defina o escopo de vencimento. Todos os vencimentos ou apenas os de curto prazo? Ambas as abordagens são válidas; misturá-las ao longo dos dias não é.

Como os traders interpretam — e os limites reais

Tratadas como interpretações, não leis: um aumento na proporção é lido como crescimento na demanda de hedging, e um pico extremo é lido por contrarianos como capitulação — a multidão finalmente comprou seu seguro. A sessão de 5 de junho mostra o mecanismo de forma clara: a proporção subiu durante o selloff, não antes dele. Nesse período, ela funcionou como um termômetro coincidente, não como uma previsão. Teste qualquer regra prática contra a série real — e lembre-se que o volume de 0DTE continua alterando o que é considerado "normal".

FAQ

Qual é um put-call ratio normal?

Depende inteiramente do grupo analisado. Em todas as opções listadas nos EUA em junho de 2026, a mediana diária de todo o mercado foi de 0.793, variando de 0.589 a 0.923 — nunca acima de 1.0. Opções de ETFs de amplo mercado registraram 1.175 no mesmo mês, enquanto ações individuais e outros ETFs registraram 0.588. O nível "normal" para o SPY não é o normal para uma ação individual.

Um put-call ratio alto é bullish ou bearish?

Ambas as interpretações existem, e nenhuma é uma regra absoluta. Em uma leitura direta, um alto volume de puts indica posicionamento de baixa; investidores contrários interpretam picos extremos como um sinal de que o grupo vendedor já está totalmente posicionado. Nos dados de junho de 2026, o pico ocorreu no próprio dia do selloff — foi uma coincidência, não uma previsão.

O put-call ratio é o mesmo que o VIX ou a volatilidade implícita?

Não, e este é o erro mais comum. O put-call ratio é construído com base no volume — quantos contratos foram negociados. O VIX e a volatilidade implícita vêm dos preços das opções: o quão caros esses contratos estão, expressos como uma volatilidade anualizada. O skew de volatilidade implícita compara o preço de puts de baixa com calls de alta. Um alto volume de puts pode ser negociado com preços calmos, e um volume baixo com preços de pânico — os dois indicadores podem divergir, e ambos podem estar corretos.

O que são $CPC, $CPCE e $CPCI?

São os put-call ratios publicados pela CBOE: $CPC para o volume total, $CPCE para opções de ações (SPY e outros ETFs contam como equity aqui) e $CPCI para opções de índices com liquidação em dinheiro. Essa divisão é importante. Nossa própria versão de três vias, que separa ETFs de amplo mercado tanto de opções de índices quanto de ações individuais, em vez de seguir a divisão de duas vias da CBOE, registrou em junho de 2026 1.175 para ETFs de amplo mercado e 1.096 para opções de índices, ambos acima de 1.0, contra 0.588 para ações individuais e outros ETFs. O ISEE da ISE é um índice separado e invertido: calls sobre puts, considerando apenas compras de clientes na abertura.

O put-call ratio utiliza volume ou open interest?

O ratio padrão utiliza o volume negociado no dia. Existe uma variante de open interest que se move de forma muito mais lenta, e os dois podem apontar para direções diferentes no mesmo dia — volume vs open interest explica a distinção.


Cada valor aqui é uma consulta armazenada sobre todo o tape de opções — expanda o SQL de qualquer painel ou calcule o ratio para sua própria watchlist no terminal Strasmore.