Ações com maior IV rank agora
Confira as ações e ETFs com maior IV rank do mercado atual. Veja o IV percentile e a posição da volatilidade implícita em relação ao intervalo de 52 semanas.
O IV rank mede a posição da volatilidade implícita de uma ação dentro de sua própria variação de 52 semanas, variando de 0 no limite inferior a 100 no limite superior. Um valor próximo ao topo indica que o mercado de opções está precificando mais movimento futuro para aquele ativo do que em qualquer outro momento no último ano; um valor próximo ao fundo indica o contrário. A tabela abaixo classifica as ações e ETFs dos EUA com o maior IV rank na última sessão de opções medida, datada de 2026-07-21, acompanhados pelo IV percentile, já que ambos os números respondem à mesma pergunta com cálculos diferentes.
Ações com maior IV rank no momento
O SQL exato por trás de cada número
WITH per_session AS (
SELECT underlying_symbol AS u,
date AS d,
quantileExact(0.5)(implied_volatility) AS iv,
sum(volume) AS vol
FROM global_markets.options_greeks
WHERE date >= (SELECT max(date) FROM global_markets.options_greeks) - 380
AND iv_converged AND implied_volatility BETWEEN 0.02 AND 5
AND abs(strike_price / underlying_close - 1) <= 0.05
AND expiration_date BETWEEN date + 20 AND date + 60
AND underlying_symbol NOT IN ('SPCX','KORU','SOXL','SOXS','TQQQ','SQQQ','NVDL','NVDS','NVD','TSLL','TSLQ','TSLZ','SPXL','SPXS','UPRO','SPXU','LABU','LABD','FAS','FAZ','TNA','TZA','YINN','YANG','UDOW','SDOW','BOIL','KOLD','UCO','SCO','USD','SSO','SDS','QLD','QID','ERX','ERY','DRN','DRV','CURE','SOXY','MUU','SNXX','UVXY','SVXY','UVIX','SVIX','BULZ','WEBL','WEBS','DPST','DRIP','GUSH','AGQ','ZSL','BITX','ETHU','MSTX','MSTU','CONL','DUST','JNUG','JDST','NUGT','AMDL','NUAI','VXX','VIXY')
GROUP BY u, d
HAVING count() >= 10
),
ranked AS (
SELECT u, d, iv, vol,
row_number() OVER w AS rn,
first_value(iv) OVER w AS iv_latest,
first_value(d) OVER w AS d_latest
FROM per_session
WINDOW w AS (PARTITION BY u ORDER BY d DESC)
),
agg AS (
SELECT u,
any(iv_latest) AS iv_cur,
any(d_latest) AS last_d,
count() AS sessions,
min(iv) AS iv_lo,
max(iv) AS iv_hi,
countIf(iv < iv_latest) AS below_now,
sumIf(vol, rn <= 20) AS vol_20d
FROM ranked
WHERE rn <= 252
GROUP BY u
)
SELECT u AS ticker,
round(100 * iv_cur, 1) AS iv_now_pct,
round(100 * (iv_cur - iv_lo) / (iv_hi - iv_lo), 1) AS iv_rank,
round(100 * below_now / sessions, 1) AS iv_percentile,
round(100 * iv_lo, 1) AS iv_52w_low_pct,
round(100 * iv_hi, 1) AS iv_52w_high_pct,
toString(last_d) AS session_date
FROM agg
WHERE sessions >= 200
AND vol_20d >= 20000
AND iv_hi > iv_lo
AND last_d = (SELECT max(date) FROM global_markets.options_greeks)
ORDER BY iv_rank DESC, vol_20d DESC, ticker
LIMIT 15Considere a primeira linha. BE fechou com volatilidade implícita no dinheiro de 175%, frente a um intervalo de 52 semanas que vai de 56.1% a 175%. Isso coloca seu IV rank em 100 e seu IV percentile em 99.6.
Um rank no topo da escala tem um significado exato: a volatilidade implícita da última sessão é a leitura mais alta de todo o período medido. Esse número não indica que a ação seja volátil em termos absolutos. É uma comparação do ativo em relação ao seu próprio histórico.
Essa distinção é fundamental. Entre o decil superior de todo o universo rastreado, a volatilidade implícita atual varia de 27.3% a 175%, com mediana de 75.3%. Uma ação estável no limite de sua própria faixa de estabilidade apresenta o mesmo score que uma ação volátil no limite de sua faixa de volatilidade. Para o nível absoluto, em vez do relativo, o board de ações com maior volatilidade implícita classifica a mesma lista com base na IV bruta.
IV rank vs IV percentile
Ambos os números comparam a volatilidade implícita atual com o mesmo histórico de 52 semanas, mas utilizam métodos de contagem diferentes.
- IV rank é o resultado de (IV atual menos a mínima de 52 semanas) dividido por (a máxima de 52 semanas menos a mínima), expresso em porcentagem. Ele considera apenas o valor atual e os dois extremos do período.
- IV percentile é a proporção das últimas 252 sessões cujo fechamento da volatilidade implícita foi inferior ao valor de hoje. Ele considera cada sessão do período.
Uma única sessão de alta volatilidade no ano estabelece um teto que o rank baseado em amplitude sempre considera, enquanto o percentile baseado em contagem trata esse evento como apenas um ponto entre 252. O painel abaixo ordena uma direção dessa divergência: IV percentile menos IV rank, do maior para o menor. Ativos com o padrão oposto, onde o rank é superior ao percentile, pertencem a uma filtragem separada e não aparecem aqui.
O SQL exato por trás de cada número
WITH per_session AS (
SELECT underlying_symbol AS u,
date AS d,
quantileExact(0.5)(implied_volatility) AS iv,
sum(volume) AS vol
FROM global_markets.options_greeks
WHERE date >= (SELECT max(date) FROM global_markets.options_greeks) - 380
AND iv_converged AND implied_volatility BETWEEN 0.02 AND 5
AND abs(strike_price / underlying_close - 1) <= 0.05
AND expiration_date BETWEEN date + 20 AND date + 60
AND underlying_symbol NOT IN ('SPCX','KORU','SOXL','SOXS','TQQQ','SQQQ','NVDL','NVDS','NVD','TSLL','TSLQ','TSLZ','SPXL','SPXS','UPRO','SPXU','LABU','LABD','FAS','FAZ','TNA','TZA','YINN','YANG','UDOW','SDOW','BOIL','KOLD','UCO','SCO','USD','SSO','SDS','QLD','QID','ERX','ERY','DRN','DRV','CURE','SOXY','MUU','SNXX','UVXY','SVXY','UVIX','SVIX','BULZ','WEBL','WEBS','DPST','DRIP','GUSH','AGQ','ZSL','BITX','ETHU','MSTX','MSTU','CONL','DUST','JNUG','JDST','NUGT','AMDL','NUAI','VXX','VIXY')
GROUP BY u, d
HAVING count() >= 10
),
ranked AS (
SELECT u, d, iv, vol,
row_number() OVER w AS rn,
first_value(iv) OVER w AS iv_latest,
first_value(d) OVER w AS d_latest
FROM per_session
WINDOW w AS (PARTITION BY u ORDER BY d DESC)
),
agg AS (
SELECT u,
any(iv_latest) AS iv_cur,
any(d_latest) AS last_d,
count() AS sessions,
min(iv) AS iv_lo,
max(iv) AS iv_hi,
countIf(iv < iv_latest) AS below_now,
sumIf(vol, rn <= 20) AS vol_20d
FROM ranked
WHERE rn <= 252
GROUP BY u
),
board AS (
SELECT u,
round(100 * iv_cur, 1) AS iv_now_pct,
round(100 * (iv_cur - iv_lo) / (iv_hi - iv_lo), 1) AS iv_rank,
round(100 * below_now / sessions, 1) AS iv_percentile,
round(100 * iv_hi, 1) AS iv_52w_high_pct
FROM agg
WHERE sessions >= 200
AND vol_20d >= 20000
AND iv_hi > iv_lo
AND last_d = (SELECT max(date) FROM global_markets.options_greeks)
)
SELECT u AS ticker,
iv_now_pct,
iv_rank,
iv_percentile,
round(iv_percentile - iv_rank, 1) AS percentile_minus_rank,
iv_52w_high_pct
FROM board
ORDER BY percentile_minus_rank DESC, iv_now_pct DESC, ticker
LIMIT 12A maior diferença nessa direção pertence a NET: um IV percentile de 93.3 contra um IV rank de 27, um spread de 66.3 pontos na mesma sessão e com os mesmos dados. A volatilidade implícita atual é de 76.3%, e a máxima de 52 semanas é 194.3%. O percentile conta sessões, e a maioria das sessões desse ativo no período foram mais calmas que a última. O rank mede a distância até os extremos, e aquela máxima de 52 semanas ainda está acima da leitura atual. Mesmos dados, duas respostas.
Nenhum dos dois números é o correto. O rank indica o quão próxima a última leitura está dos extremos. O percentile indica o quão incomum é o valor atual em relação às sessões típicas.
Como é, na prática, um IV rank elevado
O SQL exato por trás de cada número
WITH per_session AS (
SELECT underlying_symbol AS u,
date AS d,
quantileExact(0.5)(implied_volatility) AS iv,
sum(volume) AS vol
FROM global_markets.options_greeks
WHERE date >= (SELECT max(date) FROM global_markets.options_greeks) - 380
AND iv_converged AND implied_volatility BETWEEN 0.02 AND 5
AND abs(strike_price / underlying_close - 1) <= 0.05
AND expiration_date BETWEEN date + 20 AND date + 60
AND underlying_symbol NOT IN ('SPCX','KORU','SOXL','SOXS','TQQQ','SQQQ','NVDL','NVDS','NVD','TSLL','TSLQ','TSLZ','SPXL','SPXS','UPRO','SPXU','LABU','LABD','FAS','FAZ','TNA','TZA','YINN','YANG','UDOW','SDOW','BOIL','KOLD','UCO','SCO','USD','SSO','SDS','QLD','QID','ERX','ERY','DRN','DRV','CURE','SOXY','MUU','SNXX','UVXY','SVXY','UVIX','SVIX','BULZ','WEBL','WEBS','DPST','DRIP','GUSH','AGQ','ZSL','BITX','ETHU','MSTX','MSTU','CONL','DUST','JNUG','JDST','NUGT','AMDL','NUAI','VXX','VIXY')
GROUP BY u, d
HAVING count() >= 10
),
ranked AS (
SELECT u, d, iv, vol,
row_number() OVER w AS rn,
first_value(iv) OVER w AS iv_latest,
first_value(d) OVER w AS d_latest
FROM per_session
WINDOW w AS (PARTITION BY u ORDER BY d DESC)
),
agg AS (
SELECT u,
any(iv_latest) AS iv_cur,
any(d_latest) AS last_d,
count() AS sessions,
min(iv) AS iv_lo,
max(iv) AS iv_hi,
sumIf(vol, rn <= 20) AS vol_20d
FROM ranked
WHERE rn <= 252
GROUP BY u
),
leader AS (
SELECT u, iv_lo, iv_hi
FROM agg
WHERE sessions >= 200
AND vol_20d >= 20000
AND iv_hi > iv_lo
AND last_d = (SELECT max(date) FROM global_markets.options_greeks)
ORDER BY round(100 * (iv_cur - iv_lo) / (iv_hi - iv_lo), 1) DESC, vol_20d DESC, u
LIMIT 1
)
SELECT toString(toMonday(r.d)) AS week,
round(100 * quantileExact(0.5)(r.iv), 1) AS iv_pct,
round(100 * any(l.iv_hi), 1) AS iv_52w_high_pct,
round(100 * any(l.iv_lo), 1) AS iv_52w_low_pct
FROM ranked AS r
INNER JOIN leader AS l ON r.u = l.u
WHERE r.rn <= 252
GROUP BY week
HAVING uniqExact(r.d) >= 3
OR max(r.d) = (SELECT max(date) FROM global_markets.options_greeks)
ORDER BY weekEste é o caminho semanal de BE, a principal ação do board, com as máximas e mínimas de 52 semanas representadas como linhas de referência horizontais. Cada ponto plotado é a mediana das leituras diárias daquela semana; portanto, a linha fica posicionada dentro da banda de máxima e mínima diária, sem tocar as linhas de referência. A medição inicia em 82.2% e encerra a semana com o valor da última sessão em 175%, contra um teto de 175% e um piso de 56.1%. O valor do rank de uma única sessão é a leitura diária de 175% no board acima. Um IV rank no topo da escala é exatamente essa imagem: a leitura mais recente posicionada na extremidade superior de sua própria banda, independentemente de onde essa banda esteja.
O formato é tão importante quanto o valor. Um ativo que subiu gradualmente por meses e um que teve um gap para o mesmo nível em uma semana apresentam o mesmo rank. Para entender o que um valor elevado costuma causar após um evento agendado, veja IV crush medido em resultados reais.
O posicionamento do mercado em relação ao IV rank
O SQL exato por trás de cada número
WITH per_session AS (
SELECT underlying_symbol AS u,
date AS d,
quantileExact(0.5)(implied_volatility) AS iv,
sum(volume) AS vol
FROM global_markets.options_greeks
WHERE date >= (SELECT max(date) FROM global_markets.options_greeks) - 380
AND iv_converged AND implied_volatility BETWEEN 0.02 AND 5
AND abs(strike_price / underlying_close - 1) <= 0.05
AND expiration_date BETWEEN date + 20 AND date + 60
AND underlying_symbol NOT IN ('SPCX','KORU','SOXL','SOXS','TQQQ','SQQQ','NVDL','NVDS','NVD','TSLL','TSLQ','TSLZ','SPXL','SPXS','UPRO','SPXU','LABU','LABD','FAS','FAZ','TNA','TZA','YINN','YANG','UDOW','SDOW','BOIL','KOLD','UCO','SCO','USD','SSO','SDS','QLD','QID','ERX','ERY','DRN','DRV','CURE','SOXY','MUU','SNXX','UVXY','SVXY','UVIX','SVIX','BULZ','WEBL','WEBS','DPST','DRIP','GUSH','AGQ','ZSL','BITX','ETHU','MSTX','MSTU','CONL','DUST','JNUG','JDST','NUGT','AMDL','NUAI','VXX','VIXY')
GROUP BY u, d
HAVING count() >= 10
),
ranked AS (
SELECT u, d, iv, vol,
row_number() OVER w AS rn,
first_value(iv) OVER w AS iv_latest,
first_value(d) OVER w AS d_latest
FROM per_session
WINDOW w AS (PARTITION BY u ORDER BY d DESC)
),
agg AS (
SELECT u,
any(iv_latest) AS iv_cur,
any(d_latest) AS last_d,
count() AS sessions,
min(iv) AS iv_lo,
max(iv) AS iv_hi,
sumIf(vol, rn <= 20) AS vol_20d
FROM ranked
WHERE rn <= 252
GROUP BY u
),
screened AS (
SELECT least(intDiv(toUInt16(floor(100 * (iv_cur - iv_lo) / (iv_hi - iv_lo))), 10), 9) AS b,
100 * iv_cur AS iv_now_pct
FROM agg
WHERE sessions >= 200
AND vol_20d >= 20000
AND iv_hi > iv_lo
AND last_d = (SELECT max(date) FROM global_markets.options_greeks)
),
buckets AS (
SELECT b,
count() AS names,
round(quantileExact(0.5)(iv_now_pct), 1) AS median_iv_pct,
round(min(iv_now_pct), 1) AS lowest_iv_pct,
round(max(iv_now_pct), 1) AS highest_iv_pct
FROM screened
GROUP BY b
)
SELECT concat(toString(b * 10), '-', toString(b * 10 + 10)) AS iv_rank_bucket,
names,
sum(names) OVER (ORDER BY b DESC) AS names_cumulative,
median_iv_pct,
round(median_iv_pct - first_value(median_iv_pct) OVER (ORDER BY b DESC), 1) AS median_gap_to_top_pct,
lowest_iv_pct,
highest_iv_pct
FROM buckets
ORDER BY b DESC232 ativos superaram os níveis de liquidez e histórico nesta sessão. Agrupados por decis de rank, 26 deles estão na faixa 90-100 e 7 estão na faixa 0-10 na extremidade oposta. A volatilidade implícita mediana atual cai conforme o rank diminui, de 75.3% na faixa superior para 36.9% na faixa 0-10 na base, e a coluna de spread mede cada faixa em relação à mediana da faixa superior. Analise a inclinação de toda a tabela em vez de um único degrau: faixas com poucos nomes apresentam medianas ruidosas, e duas faixas adjacentes podem apresentar inversão.
A distribuição fornece o contexto necessário para uma leitura individual. Um rank elevado tem pouco valor isoladamente até que se saiba quantos outros ativos apresentam o mesmo nível simultaneamente.
IV rank para as ações mais acompanhadas
O SQL exato por trás de cada número
WITH per_session AS (
SELECT underlying_symbol AS u,
date AS d,
quantileExact(0.5)(implied_volatility) AS iv
FROM global_markets.options_greeks
WHERE date >= (SELECT max(date) FROM global_markets.options_greeks) - 380
AND underlying_symbol IN ('SPY','QQQ','AAPL','MSFT','AMZN','META','NVDA','AMD','TSLA','COIN','MSTR','PLTR')
AND iv_converged AND implied_volatility BETWEEN 0.02 AND 5
AND abs(strike_price / underlying_close - 1) <= 0.05
AND expiration_date BETWEEN date + 20 AND date + 60
GROUP BY u, d
HAVING count() >= 10
),
ranked AS (
SELECT u, d, iv,
row_number() OVER w AS rn,
first_value(iv) OVER w AS iv_latest,
first_value(d) OVER w AS d_latest
FROM per_session
WINDOW w AS (PARTITION BY u ORDER BY d DESC)
),
agg AS (
SELECT u,
any(iv_latest) AS iv_cur,
any(d_latest) AS last_d,
count() AS sessions,
min(iv) AS iv_lo,
max(iv) AS iv_hi,
countIf(iv < iv_latest) AS below_now
FROM ranked
WHERE rn <= 252
GROUP BY u
)
SELECT u AS ticker,
round(100 * iv_cur, 1) AS iv_now_pct,
round(100 * (iv_cur - iv_lo) / (iv_hi - iv_lo), 1) AS iv_rank,
round(100 * below_now / sessions, 1) AS iv_percentile,
round(100 * iv_lo, 1) AS iv_52w_low_pct,
round(100 * iv_hi, 1) AS iv_52w_high_pct,
toString(last_d) AS session_date
FROM agg
WHERE sessions >= 200
AND iv_hi > iv_lo
AND last_d = (SELECT max(date) FROM global_markets.options_greeks)
ORDER BY iv_rank DESC, tickerA mesma métrica aplicada a doze tickers amplamente negociados. AMD apresenta o maior IV rank do grupo, com 82.8, sobre uma volatilidade implícita atual de 85.1%. SPY está na outra extremidade da lista, com um rank de 20 e volatilidade implícita de 14.4%. Observe a distância que as colunas de rank e percentil podem apresentar em uma mesma linha, o mesmo cálculo de amplitude versus contagem que o painel de divergência mede.
Cada um desses ativos possui uma página de IV própria: volatilidade implícita da NVDA, volatilidade implícita da TSLA, volatilidade implícita da AAPL e volatilidade implícita da AMD, cada uma com histórico completo de sessão e term structure. Para entender o conceito por trás de cada pontuação nesta página, comece por o que é volatilidade implícita.
Como isso é medido
Cada número aqui provém de uma única fonte: o arquivo diário de greeks de opções. O arquivo contém uma linha armazenada por contrato por sessão, cobrindo opções de ações e ETFs listados nos EUA.
- Uma IV por ativo por sessão. A volatilidade implícita mediana dos contratos near-the-money desse ativo, ou seja, strikes dentro de 5% do preço de fechamento da ação, com vencimento entre 20 e 60 dias corridos. É utilizada a mediana em vez da média, para que um contrato com preço incorreto não altere a leitura.
- Uma sessão só conta se pelo menos 10 contratos passarem pelos filtros. Sessões com baixa liquidez são descartadas em vez de publicadas.
- Apenas soluções convergidas. A volatilidade implícita é calculada a partir do preço da opção, e o arquivo indica se a solução convergiu. Linhas não convergidas são excluídas, assim como leituras abaixo de 2% ou acima de 500%. Uma solução não convergida é uma falha numérica, não um preço de mercado.
- A janela compreende as últimas 252 sessões disponíveis para aquele ativo dentro de um histórico de 380 dias corridos. Um ativo precisa de pelo menos 200 sessões medidas para aparecer em qualquer lugar desta página.
- O IV rank é (atual menos o mínimo da janela) dividido por (máximo da janela menos o mínimo da janela), multiplicado por 100. O IV percentile é a contagem de sessões da janela com volatilidade implícita estritamente abaixo da sessão atual, dividida pelo número de sessões.
- Piso de liquidez. Um ativo deve ter negociado pelo menos 20.000 contratos de opções ao longo de suas últimas 20 sessões medidas para entrar no universo de filtragem. O painel de nomes conhecidos aplica o piso de sessão, o piso de histórico e o mesmo filtro da última sessão, mas não o piso de volume, já que seus doze tickers são nomeados explicitamente em vez de filtrados.
- Fundos alavancados, inversos e de futuros de volatilidade são excluídos da filtragem por uma lista explícita. Um fundo estruturado para se mover três vezes o seu índice carrega três vezes a volatilidade implícita por construção e sobrecarregaria os ativos individuais reais. Produtos que detêm futuros do VIX em vez de ações estão na mesma lista, pois sua volatilidade implícita descreve uma curva de futuros e não uma empresa.
- O painel de trajetória semanal plota medianas, não sessões individuais. Cada ponto é a mediana das leituras diárias daquela semana para o ativo no topo do ranking, portanto, a linha plotada permanece dentro da banda de máxima e mínima diária por construção. Semanas com menos de três sessões medidas são descartadas, com uma exceção: a semana que contém a última sessão sempre é plotada, mesmo que tenha apenas um dia de duração.
- O que o arquivo não contém. Contratos com vencimento no mesmo dia (0DTE) e opções de índices com liquidação em dinheiro (cash-settled) estão fora deste conjunto de dados; portanto, um pico de volatilidade 0DTE nunca chega a estes números. SPY e QQQ aparecem como ETFs comuns. Também não existe campo de open interest em nenhum lugar deste armazém, portanto, todos os limites de liquidez acima referem-se ao volume de contratos negociados, não ao open interest.
- O carimbo de data é a sessão real. O arquivo de greeks é atualizado algumas sessões após o tape de ações; portanto, cada quadro exibe a data da sessão utilizada, e cada linha em cada quadro provém daquela sessão específica. O painel de trajetória semanal é a exceção deliberada: ele desenha um ano de histórico para o ativo no topo do ranking. Estas não são cotações em tempo real.
FAQ
O que é o IV rank?
O IV rank mede a posição da volatilidade implícita atual de uma ação dentro de seu próprio intervalo de 52 semanas, variando de 0 (mínima) a 100 (máxima). A fórmula consiste na IV atual menos a mínima de 52 semanas, dividida pela diferença entre a máxima de 52 semanas e a mínima. Ele compara um ativo contra seu próprio histórico, nunca contra outras ações; por isso, dois ativos com volatilidades muito distintas podem apresentar o mesmo rank.
Qual é um bom IV rank para vender opções?
Não existe um rank que garanta o sucesso na venda de opções, e esta página não fornece recomendações. Um rank alto indica que os prêmios das opções estão próximos do topo do que o ativo cobrou no último ano; um rank baixo indica que estão próximos do piso. Vendedores geralmente preferem leituras altas e compradores, leituras baixas. Ambos os lados correm o risco de o movimento do ativo ser diferente do movimento precificado.
IV rank vs IV percentile, qual é a diferença?
O IV rank utiliza apenas a volatilidade implícita de hoje e os dois extremos do intervalo de 52 semanas. O IV percentile contabiliza quantas das últimas 252 sessões fecharam abaixo da leitura atual. Uma única sessão extrema expande o intervalo e reduz o rank, mas altera pouco o percentile. Assim, os dois indicadores podem divergir em dezenas de pontos para o mesmo ativo, como mostra o painel acima.
Onde posso consultar o IV rank gratuitamente?
Esta página é um verificador de IV rank gratuito: ela é atualizada periodicamente com base no tape completo de opções dos EUA e exibe o SQL exato por trás de cada célula. Ativos individuais possuem páginas dedicadas, e a página de volatility skew explica como a volatilidade implícita varia entre os strikes em um mesmo vencimento.
Cada painel aqui armazena sua própria query. Abra uma para auditar a medição de ponta a ponta, ou execute o mesmo screen de IV rank para qualquer janela ou universo no terminal Strasmore.