Ações em máximas e mínimas de 52 semanas
Confira quais tickers fecharam na máxima ou na mínima de 52 semanas. Utilize este indicador de breadth para analisar o momentum do mercado via tape da bolsa.
A máxima de 52 semanas é o maior preço de fechamento de uma ação no último ano, enquanto a mínima de 52 semanas é o menor. Na última sessão encerrada, Jul 21, 2026, 26 ações nesta tela fecharam na máxima de 52 semanas ou a até 1% de distância dela, e 7 fecharam na mínima de 52 semanas ou a até 1% de distância dela. O screen abrange grandes empresas operacionais dos EUA com alta liquidez e é reconstruído a partir do tape da bolsa.
Ações em máximas de 52 semanas
Os maiores ganhadores do ano entre as ações em alta aparecem abaixo, com até doze ativos. Todos fecharam a sessão no valor máximo ou a até 1% do maior fechamento das últimas 52 semanas.
O SQL exato por trás de cada número
WITH universe AS (
SELECT ticker
FROM global_markets.delayed_stocks_minute_aggs
WHERE window_start >= now() - INTERVAL 20 DAY
AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) >= 570
AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) < 960
AND ticker IN (SELECT arrayJoin(tickers) FROM global_markets.stocks_income_statements
WHERE period_end >= today() - 400)
AND ticker 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')
AND ticker NOT IN (SELECT ticker FROM global_markets.stocks_splits
WHERE execution_date BETWEEN today() - 460 AND today())
GROUP BY ticker
HAVING sum(toFloat64(close) * toFloat64(volume)) >= 2000000000
),
last_session AS (
SELECT max(toDate(et)) AS d
FROM (
SELECT toTimeZone(window_start, 'America/New_York') AS et
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY' AND window_start >= now() - INTERVAL 12 DAY
AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) >= 955
AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) < 960
)
),
daily AS (
SELECT ticker, toDate(et) AS dt, argMax(c, et) AS c, count() AS nbars
FROM (
SELECT ticker, toTimeZone(window_start, 'America/New_York') AS et, toFloat64(close) AS c
FROM global_markets.delayed_stocks_minute_aggs
WHERE window_start >= now() - INTERVAL 375 DAY
AND ticker IN (SELECT ticker FROM universe)
AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) >= 930
AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) < 960
)
GROUP BY ticker, dt
HAVING nbars >= 20 AND dt > (SELECT d FROM last_session) - 365
),
ranged AS (
SELECT ticker,
argMax(c, dt) AS last_close,
max(c) AS hi,
min(c) AS lo,
argMaxIf(c, dt, dt <= toDate('2025-12-31')) AS base_close,
count() AS n_sessions,
min(dt) AS first_dt,
max(dt) AS last_dt
FROM daily
GROUP BY ticker
HAVING n_sessions >= 200
AND countIf(dt <= toDate('2025-12-31')) > 0
AND last_dt = (SELECT d FROM last_session)
AND first_dt <= (SELECT d FROM last_session) - 350
)
SELECT ticker,
round(last_close, 2) AS close,
round((last_close / base_close - 1) * 100, 1) AS ytd_return_pct
FROM ranged
WHERE last_close >= hi * 0.99
ORDER BY ytd_return_pct DESC, ticker ASC
LIMIT 12DAVE lidera com alta de 99.6% no ano, fechando a $439.18. Nesta lista, o fechamento representa a máxima de 52 semanas com margem de 1%, por definição, portanto a coluna de preço também indica o nível testado. DINO vem em seguida com 99%, seguida por MPC com 96.6%. No final da tabela, ROKU registra 33% no ano.
O foco é o spread. Uma máxima de 52 semanas descreve apenas a posição do preço dentro de seu próprio intervalo de um ano. Uma ação que caiu forte no verão passado e se recuperou carrega o mesmo rótulo de uma que nunca parou de subir.
Ações em mínima de 52 semanas
O mesmo filtro, de forma inversa. Estes nomes fecharam no valor ou a até 1% da sua mínima de fechamento nas últimas 52 semanas, ordenados do pior desempenho acumulado no ano até doze ativos.
O SQL exato por trás de cada número
WITH universe AS (
SELECT ticker
FROM global_markets.delayed_stocks_minute_aggs
WHERE window_start >= now() - INTERVAL 20 DAY
AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) >= 570
AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) < 960
AND ticker IN (SELECT arrayJoin(tickers) FROM global_markets.stocks_income_statements
WHERE period_end >= today() - 400)
AND ticker 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')
AND ticker NOT IN (SELECT ticker FROM global_markets.stocks_splits
WHERE execution_date BETWEEN today() - 460 AND today())
GROUP BY ticker
HAVING sum(toFloat64(close) * toFloat64(volume)) >= 2000000000
),
last_session AS (
SELECT max(toDate(et)) AS d
FROM (
SELECT toTimeZone(window_start, 'America/New_York') AS et
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY' AND window_start >= now() - INTERVAL 12 DAY
AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) >= 955
AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) < 960
)
),
daily AS (
SELECT ticker, toDate(et) AS dt, argMax(c, et) AS c, count() AS nbars
FROM (
SELECT ticker, toTimeZone(window_start, 'America/New_York') AS et, toFloat64(close) AS c
FROM global_markets.delayed_stocks_minute_aggs
WHERE window_start >= now() - INTERVAL 375 DAY
AND ticker IN (SELECT ticker FROM universe)
AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) >= 930
AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) < 960
)
GROUP BY ticker, dt
HAVING nbars >= 20 AND dt > (SELECT d FROM last_session) - 365
),
ranged AS (
SELECT ticker,
argMax(c, dt) AS last_close,
max(c) AS hi,
min(c) AS lo,
argMaxIf(c, dt, dt <= toDate('2025-12-31')) AS base_close,
count() AS n_sessions,
min(dt) AS first_dt,
max(dt) AS last_dt
FROM daily
GROUP BY ticker
HAVING n_sessions >= 200
AND countIf(dt <= toDate('2025-12-31')) > 0
AND last_dt = (SELECT d FROM last_session)
AND first_dt <= (SELECT d FROM last_session) - 350
)
SELECT ticker,
round(last_close, 2) AS close,
round((last_close / base_close - 1) * 100, 1) AS ytd_return_pct
FROM ranged
WHERE last_close <= lo * 1.01
ORDER BY ytd_return_pct ASC, ticker ASC
LIMIT 12PNR apresenta o pior desempenho acumulado no ano da lista, com -41%, fechando a $61.48, dentro de 1% de sua própria mínima de fechamento de 52 semanas. CPRT vem em seguida, com -30.6%.
Uma mínima de 52 semanas é uma posição em uma faixa de preço, não um veredito sobre um negócio. Empresas lucrativas entram nesta lista após longos períodos de lateralização, assim como empresas em dificuldades reais. O preço de fechamento sozinho não as diferencia. Para a versão de mercado amplo da mesma questão, veja como os mercados se recuperam de crashes.
O que a contagem de máximas e mínimas diz sobre a amplitude do mercado
A amplitude mede quantos ativos participam de um movimento, em vez de focar na distância percorrida pelo índice. A contagem de novas máximas em relação a novas mínimas é um dos indicadores de amplitude mais antigos que existem e, nesta página, é o número que merece atenção.
O SQL exato por trás de cada número
WITH universe AS (
SELECT ticker
FROM global_markets.delayed_stocks_minute_aggs
WHERE window_start >= now() - INTERVAL 20 DAY
AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) >= 570
AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) < 960
AND ticker IN (SELECT arrayJoin(tickers) FROM global_markets.stocks_income_statements
WHERE period_end >= today() - 400)
AND ticker 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')
AND ticker NOT IN (SELECT ticker FROM global_markets.stocks_splits
WHERE execution_date BETWEEN today() - 460 AND today())
GROUP BY ticker
HAVING sum(toFloat64(close) * toFloat64(volume)) >= 2000000000
),
last_session AS (
SELECT max(toDate(et)) AS d
FROM (
SELECT toTimeZone(window_start, 'America/New_York') AS et
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY' AND window_start >= now() - INTERVAL 12 DAY
AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) >= 955
AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) < 960
)
),
daily AS (
SELECT ticker, toDate(et) AS dt, argMax(c, et) AS c, count() AS nbars
FROM (
SELECT ticker, toTimeZone(window_start, 'America/New_York') AS et, toFloat64(close) AS c
FROM global_markets.delayed_stocks_minute_aggs
WHERE window_start >= now() - INTERVAL 425 DAY
AND ticker IN (SELECT ticker FROM universe)
AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) >= 930
AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) < 960
)
GROUP BY ticker, dt
HAVING nbars >= 20 AND dt <= (SELECT d FROM last_session)
),
rolled AS (
SELECT ticker, dt, c,
max(c) OVER w AS hi,
min(c) OVER w AS lo,
count() OVER w AS n_sessions,
min(dt) OVER (PARTITION BY ticker) AS first_dt
FROM daily
WINDOW w AS (PARTITION BY ticker ORDER BY dt RANGE BETWEEN 364 PRECEDING AND CURRENT ROW)
)
SELECT formatDateTime(dt, '%b %e, %Y') AS date,
countIf(c >= hi * 0.99) AS at_52w_high,
countIf(c <= lo * 1.01) AS at_52w_low,
countIf(c >= hi * 0.99) - countIf(c <= lo * 1.01) AS net_highs
FROM rolled
WHERE n_sessions >= 200
AND first_dt <= dt - 350
AND dt > (SELECT d FROM last_session) - 43
GROUP BY dt
ORDER BY dtEm Jul 21, 2026, a tela registrou 26 ativos em ou próximos de uma máxima de 52 semanas contra 7 em ou próximos de uma mínima, um saldo de 19. Seis semanas antes, em Jun 9, 2026, a mesma tela registrou 35 máximas e 3 mínimas.
Ao longo das 29 sessões mapeadas, ambas as contagens oscilam bruscamente de um dia para o outro; portanto, o nível de uma única sessão importa menos do que a tendência ao longo das semanas. Um índice que se mantém estável enquanto a contagem de máximas diminui indica um mercado mais estreito do que o índice sugere isoladamente. Um cenário onde a contagem de mínimas aumenta é o contexto por trás de comprar quando os outros estão com medo, o que testamos em relação ao sentimento das notícias.
A distância do restante do mercado em relação às suas máximas
Máximas e mínimas são os dois extremos de uma distribuição; a maioria das ações situa-se no meio. Este painel ordena todo o universo de ativos pela distância abaixo da máxima de 52 semanas e reporta o retorno mediano acumulado no ano (year-to-date) em cada faixa.
O SQL exato por trás de cada número
WITH universe AS (
SELECT ticker
FROM global_markets.delayed_stocks_minute_aggs
WHERE window_start >= now() - INTERVAL 20 DAY
AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) >= 570
AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) < 960
AND ticker IN (SELECT arrayJoin(tickers) FROM global_markets.stocks_income_statements
WHERE period_end >= today() - 400)
AND ticker 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')
AND ticker NOT IN (SELECT ticker FROM global_markets.stocks_splits
WHERE execution_date BETWEEN today() - 460 AND today())
GROUP BY ticker
HAVING sum(toFloat64(close) * toFloat64(volume)) >= 2000000000
),
last_session AS (
SELECT max(toDate(et)) AS d
FROM (
SELECT toTimeZone(window_start, 'America/New_York') AS et
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY' AND window_start >= now() - INTERVAL 12 DAY
AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) >= 955
AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) < 960
)
),
daily AS (
SELECT ticker, toDate(et) AS dt, argMax(c, et) AS c, count() AS nbars
FROM (
SELECT ticker, toTimeZone(window_start, 'America/New_York') AS et, toFloat64(close) AS c
FROM global_markets.delayed_stocks_minute_aggs
WHERE window_start >= now() - INTERVAL 375 DAY
AND ticker IN (SELECT ticker FROM universe)
AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) >= 930
AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) < 960
)
GROUP BY ticker, dt
HAVING nbars >= 20 AND dt > (SELECT d FROM last_session) - 365
),
ranged AS (
SELECT ticker,
argMax(c, dt) AS last_close,
max(c) AS hi,
min(c) AS lo,
argMaxIf(c, dt, dt <= toDate('2025-12-31')) AS base_close,
count() AS n_sessions,
min(dt) AS first_dt,
max(dt) AS last_dt
FROM daily
GROUP BY ticker
HAVING n_sessions >= 200
AND countIf(dt <= toDate('2025-12-31')) > 0
AND last_dt = (SELECT d FROM last_session)
AND first_dt <= (SELECT d FROM last_session) - 350
)
SELECT multiIf(p < 1, 'At the high (under 1%)',
p < 5, '1% to 5% below',
p < 10, '5% to 10% below',
p < 20, '10% to 20% below',
p < 35, '20% to 35% below',
'More than 35% below') AS bucket,
count() AS stocks,
round(100.0 * count() / sum(count()) OVER (), 1) AS share_pct,
round(quantileExact(0.5)(ytd), 1) AS median_ytd_pct
FROM (
SELECT (1 - last_close / hi) * 100 AS p,
(last_close / base_close - 1) * 100 AS ytd,
multiIf(p < 1, 0, p < 5, 1, p < 10, 2, p < 20, 3, p < 35, 4, 5) AS ord
FROM ranged
)
GROUP BY bucket, ord
ORDER BY ord5.3% da tela, correspondente a 26 nomes, fechou dentro de 1% da máxima de 52 semanas. No outro extremo, 17% fechou mais de 35% abaixo da máxima. O retorno mediano acumulado no ano na faixa superior é 32.8%; na faixa inferior é -28.9%, e o gráfico traça o formato entre elas.
Esse gradiente aproxima-se mais de uma aritmética do que de uma descoberta: uma ação próxima de sua máxima de 52 semanas passou, por construção, grande parte do ano subindo. O painel justifica sua utilidade ao mostrar o quão incomuns são os extremos e quanto do mercado está longe de seu melhor preço. Manter uma dessas ações em grande peso representa a exposição medida em o risco real de uma única ação.
Onde o mercado se posiciona em sua variação de 52 semanas
O desempenho de uma ação em patamares elevados é interpretado de forma diferente quando o mercado está próximo de sua máxima, comparado a um cenário de distância da máxima. Os cinco ETFs de amplo mercado abaixo são medidos da mesma forma que as ações acima.
O SQL exato por trás de cada número
WITH last_session AS (
SELECT max(toDate(et)) AS d
FROM (
SELECT toTimeZone(window_start, 'America/New_York') AS et
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY' AND window_start >= now() - INTERVAL 12 DAY
AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) >= 955
AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) < 960
)
),
daily AS (
SELECT ticker, toDate(et) AS dt, argMax(c, et) AS c, count() AS nbars
FROM (
SELECT ticker, toTimeZone(window_start, 'America/New_York') AS et, toFloat64(close) AS c
FROM global_markets.delayed_stocks_minute_aggs
WHERE window_start >= now() - INTERVAL 375 DAY
AND ticker IN ('SPY', 'QQQ', 'DIA', 'IWM', 'RSP')
AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) >= 930
AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) < 960
)
GROUP BY ticker, dt
HAVING nbars >= 20
AND dt > (SELECT d FROM last_session) - 365
AND dt <= (SELECT d FROM last_session)
),
ranged AS (
SELECT ticker,
argMax(c, dt) AS last_close,
max(c) AS hi,
min(c) AS lo,
argMaxIf(c, dt, dt <= toDate('2025-12-31')) AS base_close,
count() AS n_sessions,
min(dt) AS first_dt,
max(dt) AS last_dt
FROM daily
GROUP BY ticker
HAVING n_sessions >= 200
AND countIf(dt <= toDate('2025-12-31')) > 0
AND last_dt = (SELECT d FROM last_session)
AND first_dt <= (SELECT d FROM last_session) - 350
)
SELECT multiIf(ticker = 'SPY', 'S&P 500 (SPY)',
ticker = 'QQQ', 'Nasdaq 100 (QQQ)',
ticker = 'DIA', 'Dow 30 (DIA)',
ticker = 'RSP', 'S&P 500 equal weight (RSP)',
'Russell 2000 (IWM)') AS label,
round((1 - last_close / hi) * 100, 2) AS pct_below_high,
round((last_close / lo - 1) * 100, 1) AS pct_above_low,
round((last_close / base_close - 1) * 100, 1) AS ytd_return_pct
FROM ranged
ORDER BY pct_below_high ASCS&P 500 equal weight (RSP) fechou 1.08% abaixo de sua máxima de 52 semanas, o mais próximo entre os cinco, e 17.2% acima de sua mínima de 52 semanas. Nasdaq 100 (QQQ) está o mais distante de sua máxima, em 4.98%. No acumulado do ano, os dois apresentam 11.1% e 15.4%.
O spread entre uma versão de equal weight e uma de cap-weighted do mesmo índice é, por si só, um indicador de amplitude (breadth). Quando a linha de equal weight está mais próxima de sua máxima, a média das empresas supera as maiores componentes. Quando a linha de cap-weighted está mais próxima, um pequeno grupo de empresas gigantes sustenta o índice. Nenhum desses cenários serve como previsão, e sair do mercado durante o período errado acarreta o custo detalhado em perder os melhores dias do mercado.
Como isso é medido
Todos os números desta página vêm de barras de um minuto do tape das bolsas dos EUA, agregados em preços de fechamento diários. As regras completas:
- O universo. Apenas empresas operacionais listadas nos EUA, identificadas por um demonstrativo de resultados arquivado na SEC para um período encerrado nos últimos 400 dias; por isso, ETFs e fundos ficam fora de ambas as listas. ETFs alavancados e inversos também são excluídos nominalmente, como medida de segurança adicional.
- Piso de liquidez. Uma ação deve ter negociado pelo menos US$ 2 bilhões nos últimos 20 dias corridos. Descontando fins de semana e feriados, esse intervalo compreende cerca de uma dúzia de sessões, o que resulta em uma média de quase US$ 150 milhões por sessão. Isso mantém as listas restritas a ativos que o leitor realmente consiga negociar e evita que um volume baixo gere extremos artificiais.
- Splits não são ajustados, são excluídos. Qualquer ticker com um split executado nos últimos 460 dias é removido da tela. O intervalo ultrapassa um ano completo propositalmente, para cobrir os preços mais antigos que o gráfico de amplitude abaixo alcança. Esta é a forma mais comum de uma página como esta publicar dados falsos: um reverse split de um-para-vinte multiplica o preço cotado por vinte sem que haja negociação real por trás, e uma tela não ajustada reportaria uma nova máxima de 52 semanas espetacular. Um split direto faz o oposto e simula uma mínima de 52 semanas.
- Preços de fechamento, não extremos intraday. A máxima e a mínima são medidas nos fechamentos. Uma ação pode negociar acima de sua máxima de 52 semanas durante o dia, fechar abaixo dela e nunca aparecer aqui. Telas baseadas em dados intraday reportam contagens maiores.
- A sessão deve estar completa. O fechamento do dia é a última barra de um minuto entre 15:30 e 16:00 no horário de Nova York. Uma sessão ainda em carregamento não possui barras nesse intervalo de meia hora, portanto não entra no cálculo; a sessão em curso também não entra. Sessões de feriados com fechamento antecipado são excluídas pelo mesmo motivo. A data estampada acima é a última sessão que passou no teste, portanto pode estar um ou dois dias atrás do calendário.
- Um ano completo de histórico. Uma ação precisa de pelo menos 200 sessões dentro da janela de 52 semanas e uma primeira sessão há pelo menos 350 dias. Uma empresa que listou há três meses não pode apresentar uma máxima de 52 semanas aqui.
- A banda de 1%. "Na máxima de 52 semanas" significa que o fechamento está na máxima ou dentro de 1% do maior fechamento das últimas 52 semanas; a lista de mínimas segue a mesma lógica. Os retornos year-to-date são medidos a partir do fechamento final de 2025.
FAQ
Comprar na máxima de 52 semanas é uma boa ideia?
Não existe uma resposta geral, e nada aqui constitui recomendação. O que esta página mostra é um retrospecto: ações a menos de 1% da máxima de 52 semanas apresentam um retorno mediano no acumulado do ano de 32.8%, contra -28.9% para ações com desconto superior a 35% em relação à sua máxima. Isso descreve o desempenho passado dessas ações, não o desempenho futuro. O indicador marca uma posição em uma faixa de preço, não um valuation.
O que significa quando uma ação atinge a mínima de 52 semanas?
Significa que a ação fechou com valor inferior a qualquer outro ponto das últimas 52 semanas. Em Jul 21, 2026, isso se aplicou a 7 nomes nesta tela. Uma mínima pode acompanhar o deterioramento de um negócio ou uma queda prolongada em uma empresa lucrativa, e o preço sozinho não indica qual é o caso.
Quantas ações estão na máxima de 52 semanas agora?
No fechamento de Jul 21, 2026, 26 ações nesta tela fecharam na máxima ou a menos de 1% dela, contra 7 na mínima ou a menos de 1% dela. A tela contém grandes empresas operacionais dos EUA com alta liquidez, com um faturamento mínimo de US$ 2 bilhões nos últimos 20 dias corridos; portanto, esses números são menores do que os de uma tela com todas as listagens.
Como é calculada a máxima de 52 semanas?
Considere todos os preços de fechamento das últimas 52 semanas e identifique o maior. Se o último fechamento for igual a esse valor, a ação atingiu uma máxima de fechamento de 52 semanas. Esta página também contabiliza qualquer ação a menos de 1% desse nível e exclui qualquer ticker com split nos últimos 460 dias, já que um split altera o preço cotado sem mudar o valor real do ativo.
Cada painel acima armazena o SQL subjacente. Abra a query abaixo de qualquer tabela para auditar a tela ou execute-a no terminal Strasmore. Para as maiores variações da semana, em vez dos extremos do ano, veja as maiores altas e baixas da semana.