Volatilidade implícita vs. beta: o que cada um mostra
Volatilidade implícita é a estimativa futura do mercado de opções; beta mede a relação histórica com um índice. Veja dez ações analisadas.
A volatilidade implícita e o beta são dois números que respondem a perguntas diferentes sobre a mesma ação. A volatilidade implícita é a estimativa prospectiva do mercado de opções sobre a amplitude do movimento total de uma ação em determinado horizonte, em qualquer direção. O beta é a inclinação de uma regressão baseada em dados históricos. Ele captura apenas a parcela do movimento passado da ação explicada por um índice. Uma ação pode registrar volatilidade implícita alta e beta baixo, ou o contrário. As duas leituras podem estar corretas ao mesmo tempo.
O que o beta realmente mede
Beta é a inclinação de uma linha ajustada a duas séries de retornos: a de uma ação e a de um índice. Escrito de forma explícita, é beta = covariance(stock returns, index returns) / variance(index returns). Um beta de 1,30 indica que, no período analisado, a ação oscilou cerca de 1,3% para cada variação de 1% no índice, em média. Um beta de 0,40 indica que se moveu aproximadamente quatro décimos do movimento do índice.
Antes de qualquer divulgação, quatro escolhas entram em cada beta publicado: contra qual índice a ação é regredida, qual é a duração do período, com que frequência os retornos são amostrados e se os dividendos entram no cálculo dos retornos. Alterar qualquer uma delas muda o número. Um beta divulgado sem o período de referência é um número sem identificação, e dois provedores de dados podem apresentar valores diferentes para a mesma ação e ambos estarem corretos.
A estatística que acompanha o beta é o R-quadrado: a parcela da variância dos retornos da ação explicada pelo índice, numa escala de 0 a 1. O beta fornece a inclinação. O R-quadrado mostra se vale a pena traçar essa linha. Um beta de 1,40 com R-quadrado de 0,65 descreve uma ação que, em grande parte, acompanha o índice com maior amplitude. O mesmo beta de 1,40 com R-quadrado de 0,10 descreve uma ação que se move por conta própria, com uma leve inclinação na direção do índice. Apenas o primeiro caso descreve uma ação acompanhada de perto por um hedge de índice.
O que mede a volatilidade implícita
A volatilidade implícita é o nível de volatilidade que faz um modelo de precificação de opções chegar ao preço pelo qual uma opção é negociada naquele momento. Ela é expressa como desvio-padrão anualizado. Uma IV de 30% precifica aproximadamente um movimento de um desvio-padrão de 30% ao longo de um ano e de cerca de 8,6% nos próximos 30 dias, pois a volatilidade escala com a raiz quadrada do tempo. Nosso guia sobre o que é volatilidade implícita explica a mecânica, enquanto volatilidade implícita versus volatilidade histórica mostra como essa medida prospectiva se compara ao comportamento efetivo da ação.
A diferença relevante está no que cada medida contabiliza. A IV precifica em um único número todas as fontes de movimento: uma liquidação generalizada do índice, o resultado de um ensaio clínico, uma mudança na projeção da companhia ou uma oferta de aquisição. O beta contabiliza apenas a parcela do movimento que acompanhou o índice. Tudo o que o R-quadrado deixa de explicar é invisível para o beta, mas está integralmente precificado na IV.
Volatilidade implícita versus beta em dez ações conhecidas
O painel abaixo faz uma regressão de dez ações líquidas contra o SPY, o ETF do S&P 500, ao longo dos doze meses encerrados em 21 de agosto de 2026. A mesma regressão é executada duas vezes: uma vez com retornos diários de fechamento e outra com retornos semanais na mesma janela.
| símbolo | beta diário | beta semanal | R² | contagem de retornos |
|---|---|---|---|---|
| COIN | 2.83 | 2.5 | 0.28 | 250 |
| TSLA | 2.23 | 1.92 | 0.38 | 250 |
| NVDA | 1.88 | 1.66 | 0.43 | 250 |
| MSFT | 0.94 | 1.58 | 0.14 | 250 |
| AAPL | 0.71 | 0.83 | 0.13 | 250 |
| GLD | 0.7 | 0.76 | 0.1 | 250 |
| TLT | 0.17 | 0.12 | 0.05 | 250 |
| JNJ | -0.2 | -0.52 | 0.02 | 250 |
| KO | -0.27 | -0.04 | 0.03 | 250 |
| XOM | -0.51 | -0.93 | 0.07 | 250 |
O SQL exato por trás de cada número
WITH
px AS
(
SELECT
ticker,
date,
toFloat64(close) AS close_px
FROM global_markets.stocks_daily_aggs
WHERE ticker IN ('SPY','AAPL','MSFT','NVDA','TSLA','COIN','KO','JNJ','XOM','GLD','TLT')
AND date >= '2025-08-22'
AND date <= '2026-08-21'
),
daily_ret AS
(
SELECT
ticker,
date,
close_px / lagInFrame(close_px) OVER (PARTITION BY ticker ORDER BY date ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) - 1 AS ret
FROM px
),
weekly_px AS
(
SELECT
ticker,
toMonday(date) AS week_start,
argMax(close_px, date) AS week_close
FROM px
GROUP BY ticker, week_start
),
weekly_ret AS
(
SELECT
ticker,
week_start,
week_close / lagInFrame(week_close) OVER (PARTITION BY ticker ORDER BY week_start ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) - 1 AS ret
FROM weekly_px
),
daily_beta AS
(
SELECT
s.ticker AS symbol,
round(covarSamp(s.ret, i.ret) / varSamp(i.ret), 2) AS beta_daily,
round(pow(corr(s.ret, i.ret), 2), 2) AS r_squared,
count() AS return_count
FROM daily_ret AS s
INNER JOIN
(
SELECT date, ret FROM daily_ret WHERE ticker = 'SPY' AND isFinite(ret)
) AS i ON i.date = s.date
WHERE s.ticker != 'SPY' AND isFinite(s.ret)
GROUP BY symbol
),
weekly_beta AS
(
SELECT
s.ticker AS symbol,
round(covarSamp(s.ret, i.ret) / varSamp(i.ret), 2) AS beta_weekly
FROM weekly_ret AS s
INNER JOIN
(
SELECT week_start, ret FROM weekly_ret WHERE ticker = 'SPY' AND isFinite(ret)
) AS i ON i.week_start = s.week_start
WHERE s.ticker != 'SPY' AND isFinite(s.ret)
GROUP BY symbol
)
SELECT
d.symbol AS symbol,
d.beta_daily AS beta_daily,
w.beta_weekly AS beta_weekly,
d.r_squared AS r_squared,
d.return_count AS return_count
FROM daily_beta AS d
INNER JOIN weekly_beta AS w ON w.symbol = d.symbol
ORDER BY beta_daily DESCCada inclinação diária se baseia em 250 sessões pareadas. O maior beta diário do conjunto pertence a COIN, em 2.83, acompanhado de um R-quadrado de 0.28. O menor pertence a XOM, em -0.51, e seu R-quadrado de 0.07 é o número que importa nesse caso: nessa janela, o índice explicou apenas uma pequena parcela do movimento dessa ação, portanto a inclinação descreve muito pouco do comportamento da posição.
Agora compare as duas colunas de beta. Usar observações semanais em vez de diárias, na mesma janela de doze meses e contra o mesmo índice, é suficiente para alterar a inclinação. COIN registra 2.5 nos retornos semanais, contra 2.83 nos retornos diários. Nenhum dos dois está errado. Eles respondem a perguntas ligeiramente diferentes.
O que o mercado de opções cobra pelos mesmos ativos
O beta é calculado com base em preços passados. Este painel mostra o que os traders pagam agora: contratos próximos do preço de exercício, com vencimento entre 20 e 45 dias, cuja média foi calculada nas três semanas encerradas em Aug 21 de 2026. O SPY entra aqui como referência do índice. Ele não aparece no painel de beta por uma razão mecânica: quando regredido contra si próprio, seu beta é 1,00 e seu R-squared é 1,00.
| símbolo | IV (%) | movimento esperado em 30 dias (%) | contagem de contratos | IV até |
|---|---|---|---|---|
| COIN | 65.9 | 18.9 | 684 | Aug 21 |
| TSLA | 41 | 11.7 | 765 | Aug 21 |
| NVDA | 40.3 | 11.6 | 509 | Aug 21 |
| XOM | 28.2 | 8.1 | 533 | Aug 21 |
| MSFT | 27.6 | 7.9 | 1076 | Aug 21 |
| AAPL | 24.7 | 7.1 | 701 | Aug 21 |
| GLD | 23.3 | 6.7 | 3355 | Aug 21 |
| JNJ | 22.7 | 6.5 | 389 | Aug 21 |
| KO | 18.6 | 5.3 | 684 | Aug 21 |
| SPY | 13.5 | 3.9 | 8685 | Aug 21 |
| TLT | 11.7 | 3.3 | 1528 | Aug 21 |
O SQL exato por trás de cada número
SELECT
underlying_symbol AS symbol,
round(avg(toFloat64(implied_volatility)) * 100, 1) AS iv_pct,
round(avg(toFloat64(implied_volatility)) * 100 * sqrt(30.0 / 365.0), 1) AS expected_move_30d_pct,
count() AS contract_count,
formatDateTime(max(date), '%b %e') AS iv_through
FROM global_markets.options_greeks
WHERE underlying_symbol IN ('SPY','AAPL','MSFT','NVDA','TSLA','COIN','KO','JNJ','XOM','GLD','TLT')
AND date >= '2026-08-03'
AND date <= '2026-08-21'
AND iv_converged = 1
AND volume > 0
AND days_to_expiry BETWEEN 20 AND 45
AND underlying_close > 0
AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) < 0.05
GROUP BY symbol
HAVING contract_count >= 25
ORDER BY iv_pct DESCA maior volatilidade implícita do grupo é a de COIN, em 65.9 por cento, o que precifica uma variação de cerca de 18.9 por cento, equivalente a um desvio-padrão, em 30 dias. A menor é a de TLT, em 11.7 por cento. Este painel ordena os ativos pela variação total esperada. O painel de beta, liderado por COIN, ordena-os pela variação explicada por um índice. Dois dos onze ativos são ETFs: um investe em ouro e outro em Treasuries de prazo longo. Nenhum dos dois é uma exposição a um índice de ações, e o beta em relação a um índice de ações é o instrumento errado para ambos.
O movimento que o beta não consegue captar
A diferença fica clara com um exemplo concreto. Considere as sessões em que o SPY quase não se moveu, com retorno absoluto entre o fechamento e o fechamento inferior a 0,25%, e calcule quanto cada um dos dez ativos variou exatamente nesses dias. Se o beta explicasse tudo, um índice estável significaria uma ação estável.
| símbolo | movimento com índice estável (%) | movimento na amostra completa (%) | contagem de índices estáveis |
|---|---|---|---|
| COIN | 3.09 | 3.3 | 69 |
| TSLA | 1.75 | 2.27 | 69 |
| NVDA | 1.32 | 1.82 | 69 |
| MSFT | 1.22 | 1.35 | 69 |
| XOM | 1.16 | 1.24 | 69 |
| GLD | 1.06 | 1.3 | 69 |
| AAPL | 1.03 | 1.13 | 69 |
| KO | 0.98 | 0.88 | 69 |
| JNJ | 0.84 | 0.91 | 69 |
| TLT | 0.45 | 0.48 | 69 |
O SQL exato por trás de cada número
WITH
px AS
(
SELECT
ticker,
date,
toFloat64(close) AS close_px
FROM global_markets.stocks_daily_aggs
WHERE ticker IN ('SPY','AAPL','MSFT','NVDA','TSLA','COIN','KO','JNJ','XOM','GLD','TLT')
AND date >= '2025-08-22'
AND date <= '2026-08-21'
),
daily_ret AS
(
SELECT
ticker,
date,
close_px / lagInFrame(close_px) OVER (PARTITION BY ticker ORDER BY date ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) - 1 AS ret
FROM px
),
idx AS
(
SELECT date, ret AS index_ret
FROM daily_ret
WHERE ticker = 'SPY' AND isFinite(ret)
)
SELECT
s.ticker AS symbol,
round(avgIf(abs(s.ret) * 100, abs(i.index_ret) < 0.0025), 2) AS move_on_flat_index_pct,
round(avg(abs(s.ret) * 100), 2) AS move_full_sample_pct,
countIf(abs(i.index_ret) < 0.0025) AS flat_index_count
FROM daily_ret AS s
INNER JOIN idx AS i ON i.date = s.date
WHERE s.ticker != 'SPY' AND isFinite(s.ret)
GROUP BY symbol
HAVING countIf(abs(i.index_ret) < 0.0025) > 0
ORDER BY move_on_flat_index_pct DESCNos mesmos doze meses, houve 69 sessões em que o índice ficou praticamente estável. Nelas, COIN oscilou, em média, 3.09 por cento em termos absolutos, contra 3.3 por cento na amostra completa. O mais estável dos dez nesses dias, TLT, teve média de 0.45 por cento. Todo o movimento nessa coluna é algo que o beta não atribui a nenhum fator, mas pelo qual um vendedor de opções cobra um preço.
Beta é uma estimativa, e as estimativas mudam
Beta não é uma característica permanente de uma ação, como o número de ações emitidas. É uma estatística calculada para uma janela de tempo e muda à medida que essa janela avança. O painel abaixo recalcula o beta da NVDA em relação ao SPY no início de cada mês. Cada ponto usa os retornos diários dos doze meses anteriores.
| mês | rótulo do mês | beta móvel de 1 ano | R² |
|---|---|---|---|
| 2022-09 | Sep 2022 | 2.32 | 0.65 |
| 2022-10 | Oct 2022 | 2.26 | 0.64 |
| 2022-11 | Nov 2022 | 2.21 | 0.65 |
| 2022-12 | Dec 2022 | 2.22 | 0.71 |
| 2023-01 | Jan 2023 | 2.19 | 0.71 |
| 2023-02 | Feb 2023 | 2.19 | 0.7 |
| 2023-03 | Mar 2023 | 2.17 | 0.65 |
| 2023-04 | Apr 2023 | 2.08 | 0.63 |
| 2023-05 | May 2023 | 2.04 | 0.62 |
| 2023-06 | Jun 2023 | 2.06 | 0.51 |
| 2023-07 | Jul 2023 | 2.05 | 0.47 |
| 2023-08 | Aug 2023 | 2.08 | 0.46 |
| 2023-09 | Sep 2023 | 2.03 | 0.43 |
| 2023-10 | Oct 2023 | 2.11 | 0.43 |
| 2023-11 | Nov 2023 | 2.18 | 0.4 |
| 2023-12 | Dec 2023 | 2.05 | 0.33 |
| 2024-01 | Jan 2024 | 2 | 0.3 |
| 2024-02 | Feb 2024 | 1.95 | 0.28 |
| 2024-03 | Mar 2024 | 2.02 | 0.29 |
| 2024-04 | Apr 2024 | 2.22 | 0.29 |
O SQL exato por trás de cada número
WITH
px AS
(
SELECT
ticker,
date,
toFloat64(close) AS close_px
FROM global_markets.stocks_daily_aggs
WHERE ticker IN ('SPY','NVDA')
AND date >= '2021-08-01'
AND date <= '2026-08-21'
),
daily_ret AS
(
SELECT
ticker,
date,
close_px / lagInFrame(close_px) OVER (PARTITION BY ticker ORDER BY date ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) - 1 AS ret
FROM px
),
paired AS
(
SELECT
s.date AS d,
s.ret AS stock_ret,
i.ret AS index_ret
FROM daily_ret AS s
INNER JOIN
(
SELECT date, ret FROM daily_ret WHERE ticker = 'SPY' AND isFinite(ret)
) AS i ON i.date = s.date
WHERE s.ticker = 'NVDA' AND isFinite(s.ret)
),
anchors AS
(
SELECT DISTINCT toStartOfMonth(d) AS anchor
FROM paired
WHERE d >= '2022-09-01'
)
SELECT
formatDateTime(a.anchor, '%Y-%m') AS month,
formatDateTime(a.anchor, '%b %Y') AS month_label,
round(covarSamp(p.stock_ret, p.index_ret) / varSamp(p.index_ret), 2) AS rolling_beta_1y,
round(pow(corr(p.stock_ret, p.index_ret), 2), 2) AS r_squared
FROM anchors AS a, paired AS p
WHERE p.d < a.anchor
AND p.d >= subtractYears(a.anchor, 1)
GROUP BY a.anchor
ORDER BY a.anchorA linha contém 48 estimativas mensais. A primeira, referente ao ano encerrado em Sep 2022, registra 2.32. A mais recente, encerrada em Aug 2026, registra 1.87, com R-quadrado de 0.44. É a mesma ação, o mesmo índice e o mesmo método, mas uma janela diferente. Um hedge dimensionado com base em um beta de uma janela desatualizada usa um número que os dados já deixaram para trás.
A volatilidade implícita traz o mesmo alerta de outra forma. É um preço em tempo real que muda a cada sessão, e a IV normalmente é comparada com seu próprio histórico, em vez de ser analisada isoladamente. A IV de 30% é alta? explica essa comparação.
Qual número serve para qual função
O beta responde a perguntas sobre índices. Quanta exposição ao S&P 500 uma carteira carrega e qual tamanho de posição no índice a compensa? Isso é beta weighting, e ponderar uma carteira pelo beta apresenta os cálculos. O beta também revela uma carteira de ativos com exposição predominante a um único fator de mercado. É essa situação que o risco de concentração mede pelo outro lado.
A volatilidade implícita responde a perguntas sobre uma ação específica em um horizonte fixo. Quanto o mercado está cobrando pela oscilação dessa ação nos próximos 30 dias? Esse preço está alto ou baixo em relação ao histórico da própria ação? Um índice não entra em nenhuma dessas perguntas.
Nenhum dos dois números prevê a direção do mercado. O beta descreve uma co-movimentação que já ocorreu. A IV é um preço para a magnitude do movimento, cotado sem sinal. Uma ação com beta de 1.8 e IV de 25 por cento, e outra com beta de 0.2 e IV de 80 por cento, são casos normais. Elas carregam tipos diferentes de risco, medidos por instrumentos desenvolvidos para funções diferentes.
Perguntas frequentes
Uma ação pode ter volatilidade implícita alta e beta baixo?
Sim, e isso é comum. O beta considera apenas o movimento que acompanha o índice, enquanto a volatilidade implícita precifica todo o movimento, inclusive um evento específico da empresa que o índice desconhece. Uma ação à espera de um anúncio binário pode apresentar IV muito alta, enquanto a inclinação da regressão contra um índice amplo permanece próxima de zero.
O beta é uma medida de risco?
O beta mede um tipo de risco: a sensibilidade a um índice escolhido durante uma janela histórica definida. Ele não considera o risco específico da empresa nem qualquer fator fora dessa janela. Duas ações com betas idênticos podem ter volatilidades totais completamente diferentes.
O que o R-squared mostra que o beta não mostra?
O R-squared é a parcela da variância dos retornos de uma ação explicada pelo índice, em uma escala de 0 a 1. Um R-squared baixo significa que a reta de regressão se ajusta mal. Nesse caso, o beta calculado em conjunto é uma inclinação atravessando uma nuvem dispersa de pontos, e não uma descrição de como a ação se comporta.
A volatilidade implícita prevê em que direção a ação vai se mover?
Não. A IV indica magnitude, sem direção. Uma IV de 40 por cento precifica um movimento de um desvio-padrão de 40 por cento ao longo de um ano, para cima ou para baixo, sem preferência entre as duas direções. A ação pode se mover muito mais ou muito menos do que o movimento implícito no preço.
Que janela e frequência de retornos entram no cálculo do beta?
Não existe um padrão único. As convenções comuns vão de um ano de retornos diários a cinco anos de retornos mensais. O primeiro painel acima mostra que a amostragem diária e semanal, usando o mesmo ano, produz inclinações diferentes. Um beta só é comparável a outro beta calculado da mesma forma.
Como esses números foram medidos
- Beta e R-squared: retornos de fechamento diários e semanais de cada ativo e do SPY nos doze meses encerrados em 21 de agosto de 2026. O beta foi calculado como a covariância das duas séries de retornos dividida pela variância dos retornos do SPY. O R-squared foi calculado como o quadrado da correlação entre as séries.
- Volatilidade implícita: contratos com 20 a 45 dias até o vencimento e strike dentro de 5 por cento do fechamento do ativo subjacente, apenas com soluções convergentes e contratos negociados naquele dia. Os valores são calculados como a média das três semanas encerradas em Aug 21 de 2026.
- Sessões com índice praticamente estável: sessões em que o retorno do SPY entre fechamentos ficou abaixo de 0,25 por cento em termos absolutos, nos mesmos doze meses.
- Beta móvel: NVDA contra o SPY, recalculado no início de cada mês com base nos doze meses anteriores de retornos diários, abrangendo 48 pontos mensais.
Todos os painéis acima vêm acompanhados do SQL que os produziu. Assim, a janela e os filtros ficam a um clique de cada gráfico. Para medir o beta ou a volatilidade implícita de um ativo que você acompanha, faça o pedido em inglês corrente no terminal da Strasmore.