Ações com baixo P/E perto da mínima de 52 semanas
Veja o filtro exato, a distância até a mínima e com que frequência ações com baixo P/E perto do piso de 52 semanas renovam mínimas depois.
Ações com baixo P/E próximas das mínimas de 52 semanas aparecem na interseção de dois filtros muito diferentes: um múltiplo baixo sobre os lucros passados e uma cotação próxima do piso da própria faixa de um ano. O filtro abaixo informa as duas condições em números que podem ser copiados, ordena as empresas pela distância até a mínima e exibe a consulta sob cada painel. Um alerta inicial: uma lista construída dessa forma reúne ações em queda pelo menos com a mesma frequência com que encontra pechinchas, e uma seção posterior detalha a aritmética por trás dela.
O que conta como próximo de uma mínima de 52 semanas
A mínima de 52 semanas é o menor preço em que uma ação foi negociada nos 12 meses anteriores. A distância até a mínima transforma isso em uma porcentagem: último fechamento dividido pela mínima de 52 semanas, menos um. Uma ação que fecha a 55, contra uma mínima de 52 semanas de 50, está 10% acima da mínima. Essa é toda a aritmética do ranking, e o nosso guia sobre máximas e mínimas de 52 semanas detalha mais a própria faixa.
O índice P/E, que corresponde ao preço dividido pelo lucro por ação dos 12 meses anteriores, vem da tabela diária de múltiplos stocks_ratios, a mesma fonte usada no nosso filtro de ações com maior dividend yield. A faixa de preços vem de stocks_daily_aggs, com uma linha por ação e por sessão.
Quatro parâmetros definem o filtro, e cada um deles é arbitrário até ser registrado:
- distância até a mínima de 52 semanas igual ou inferior a 10%
- P/E dos 12 meses anteriores acima de zero e igual ou inferior a 15
- valor de mercado igual ou superior a US$ 10 bilhões
- volume médio diário igual ou superior a 1.000.000 de ações
Os dois últimos mantêm na lista nomes com um mercado efetivo dos dois lados. Uma empresa de US$ 40 milhões que negocia 20.000 ações por dia pode apresentar qualquer múltiplo que quiser.
O SQL exato por trás de cada número
WITH ratios AS
(
SELECT
ticker,
argMax(price_to_earnings, date) AS pe,
argMax(market_cap, date) AS mcap,
argMax(average_volume, date) AS adv
FROM global_markets.stocks_ratios
WHERE date >= today() - 14
AND ticker NOT IN ('SPCX')
GROUP BY ticker
),
band AS
(
SELECT
ticker,
min(low) AS low_52w,
argMax(close, date) AS last_close
FROM global_markets.stocks_daily_aggs
WHERE date >= today() - 372
AND ticker NOT IN ('SPCX')
GROUP BY ticker
)
SELECT
b.ticker AS ticker,
round(toFloat64(b.last_close) / toFloat64(b.low_52w) * 100 - 100, 1) AS pct_above_low,
round(r.pe, 1) AS pe_ratio
FROM band AS b
INNER JOIN ratios AS r ON r.ticker = b.ticker
WHERE r.mcap >= 10000000000
AND r.adv >= 1000000
AND r.pe > 0
AND r.pe <= 15
AND b.low_52w > 0
AND toFloat64(b.last_close) / toFloat64(b.low_52w) <= 1.10
ORDER BY pct_above_low ASC, b.ticker ASC
LIMIT 15O painel lista os 6 nomes mais próximos das próprias mínimas segundo esses parâmetros, limitado a quinze linhas. VICI está mais próximo do próprio piso, a 2.3% acima do menor preço registrado nos últimos 12 meses, com múltiplo de 10.5. No outro extremo do painel, BRK.B está 9.7% acima da mínima.
Como ordenar a lista
A ordenação é a etapa que a maioria dos filtros ignora. Ordenar pelo P/E coloca no topo o múltiplo aparentemente mais barato e esconde a posição do preço. Ordenar pela distância até a mínima coloca no topo os nomes mais próximos de uma nova mínima e esconde quanto custam. O painel ordena a distância de forma crescente e traz o múltiplo na coluna seguinte, mantendo os dois fatos na mesma linha. Em caso de empate, a ordem alfabética é usada. Esse detalhe importa quando vários nomes são arredondados para o mesmo decimal.
Para reproduzir o filtro, são necessários quatro dados: uma série de fechamentos diários cobrindo 12 meses completos, um valor de lucro por ação dos 12 meses anteriores, a quantidade de ações para calcular o valor de mercado e um volume médio. Depois disso, tudo se resume a subtração e divisão.
Quantos nomes passam depende da posição dos parâmetros
Mova um parâmetro e o tamanho da lista muda. O painel abaixo mantém fixos os pisos de valor de mercado e liquidez, amplia a faixa de distância de 5% para 30% e conta os nomes que se qualificam com dois limites de P/E.
O SQL exato por trás de cada número
WITH ratios AS
(
SELECT
ticker,
argMax(price_to_earnings, date) AS pe,
argMax(market_cap, date) AS mcap,
argMax(average_volume, date) AS adv
FROM global_markets.stocks_ratios
WHERE date >= today() - 14
AND ticker NOT IN ('SPCX')
GROUP BY ticker
),
band AS
(
SELECT
ticker,
min(low) AS low_52w,
argMax(close, date) AS last_close
FROM global_markets.stocks_daily_aggs
WHERE date >= today() - 372
AND ticker NOT IN ('SPCX')
GROUP BY ticker
),
universe AS
(
SELECT
b.ticker AS ticker,
toFloat64(b.last_close) / toFloat64(b.low_52w) * 100 - 100 AS pct_above_low,
r.pe AS pe
FROM band AS b
INNER JOIN ratios AS r ON r.ticker = b.ticker
WHERE r.mcap >= 10000000000
AND r.adv >= 1000000
AND r.pe > 0
AND b.low_52w > 0
)
SELECT
concat('within ', toString(cutoff), '%') AS distance_band,
countIf(pct_above_low <= cutoff AND pe <= 15) AS names_pe_under_15,
countIf(pct_above_low <= cutoff AND pe <= 25) AS names_pe_under_25
FROM
(
SELECT
pct_above_low,
pe,
arrayJoin([5, 10, 15, 20, 25, 30]) AS cutoff
FROM universe
)
GROUP BY cutoff
ORDER BY cutoffCom os parâmetros do primeiro painel, uma faixa de 10% e um limite de 15, 7 empresas de grande capitalização se qualificam no total. Ao reduzir a faixa para 5%, restam 1. Ao ampliá-la para 30%, a contagem chega a 43, enquanto elevar o limite para 25 nessa mesma largura resulta em 137. Nenhuma configuração aqui é objetivamente correta. São parâmetros, e a forma honesta de publicar um filtro é informar onde eles foram definidos.
A mínima de 52 semanas é um piso móvel
A própria mínima se move. Trata-se de uma medição móvel. Assim, uma mínima antiga sai da janela à medida que o calendário avança, e o piso sobe em um dia em que nada aconteceu com a ação. Acompanhar um nome mês a mês torna isso visível. O painel abaixo acompanha KO, uma ação de grande capitalização conhecida do público, em relação ao menor preço dos 12 meses anteriores.
O SQL exato por trás de cada número
SELECT
formatDateTime(m, '%Y-%m') AS month,
round(toFloat64(month_close), 2) AS close_price,
round(toFloat64(trailing_low), 2) AS trailing_12m_low,
round(toFloat64(month_close) / toFloat64(trailing_low) * 100 - 100, 1) AS pct_above_low
FROM
(
SELECT
m,
month_close,
min(month_low) OVER (ORDER BY m ASC ROWS BETWEEN 11 PRECEDING AND CURRENT ROW) AS trailing_low
FROM
(
SELECT
toStartOfMonth(date) AS m,
argMax(close, date) AS month_close,
min(low) AS month_low
FROM global_markets.stocks_daily_aggs
WHERE ticker = 'KO'
AND date >= today() - 1100
GROUP BY m
)
)
WHERE m >= toStartOfMonth(today() - 400)
ORDER BY mEm 2026-08, KO fechou a US$ 87.71, contra uma mínima dos 12 meses anteriores de US$ 65.35, uma distância de 34.2%. A diferença entre as duas linhas de preço é a medida usada por este filtro. Quando a linha da mínima sobe enquanto a linha do fechamento permanece estável, a distância calculada diminui sem que a ação tenha se movido.
Por que o filtro reúne ações em queda
O mecanismo é aritmético. O E do P/E é baseado nos 12 meses anteriores e é atualizado quatro vezes por ano, quando a empresa divulga resultados. O P é atualizado a cada segundo em que o mercado está aberto. Uma cotação que cai ao longo de um trimestre, contra um número de lucros fixo até a divulgação seguinte, apresenta um múltiplo menor semana após semana. O múltiplo parece mais barato justamente quando o preço se afastou mais do último número divulgado. Quando o resultado seguinte reduz os lucros, o múltiplo volta a subir sobre o novo preço mais baixo, e nada estava realmente barato. Esse padrão tem um nome: value trap.
As empresas cíclicas invertem a mesma medição. Uma montadora ou uma incorporadora tende a apresentar o menor P/E dos 12 meses anteriores no pico do seu ciclo de lucros, quando o lucro por ação está no ponto mais alto, e o maior P/E no vale.
Medir esse padrão exige reconstruir o filtro com base em uma data passada e depois acompanhar cada nome que passou por ele. Para isso, é necessário um múltiplo dos 12 meses anteriores para cada ticker como ele existia naquela data, e não apenas o dado mais recente. As linhas stocks_ratios por trás dos painéis acima são lidas na data mais recente por ticker, e esta página explica o mecanismo sem apresentar um número de acompanhamento que não pode mostrar na consulta. De todo modo, uma coorte iniciada em uma única data seria apenas uma observação: se começasse em outro mês, os números mudariam. A lista não faz nenhuma afirmação sobre o comportamento futuro de qualquer preço.
O que um P/E baixo não mostra
- Quais lucros. O lucro por ação dos 12 meses anteriores inclui itens não recorrentes, vendas de ativos e acordos judiciais. Um único trimestre muito forte mantém o múltiplo baixo por um ano depois que o caixa já desapareceu.
- Contexto setorial. Bancos, seguradoras, montadoras e refinarias têm múltiplos estruturalmente menores que os de empresas de software. Um único limite aplicado a todos os setores preenche a lista com os mesmos poucos segmentos.
- O balanço patrimonial. O P/E ignora a dívida. Duas empresas com o mesmo múltiplo, mas níveis de alavancagem muito diferentes, não estão no mesmo preço.
- Prejuízos. Uma empresa com lucro negativo não tem P/E significativo e nunca aparece aqui. A ausência da lista não é um veredito.
Duas listas próximas funcionam bem ao lado desta. As maiores altas e baixas das ações neste mês mostram quais nomes percorreram a maior distância no último mês, enquanto as ações de menor volatilidade mostram o comportamento oposto.
Notas e definições dos dados
- Os preços vêm de
stocks_daily_aggs, com uma linha por ação e por sessão. A mínima de 52 semanas é o menor valor da coluna de mínima diária nos 372 dias corridos anteriores. - O múltiplo, o valor de mercado e o volume médio vêm de
stocks_ratios, lidos na linha mais recente por ticker. - Um desdobramento ou uma grande distribuição extraordinária dentro da janela altera uma faixa de preços não ajustada. Vale verificar isso em qualquer nome que tenha passado por um desses eventos nos 12 meses anteriores.
- O filtro exige um múltiplo positivo dos 12 meses anteriores. Portanto, empresas com prejuízo nunca aparecem nele.
Perguntas frequentes
O que significa quando uma ação está próxima da mínima de 52 semanas?
Significa que o preço atual está próximo do menor preço em que a ação foi negociada no último ano. A distância até a mínima é o último fechamento dividido pela mínima de 52 semanas, menos um, expressa em porcentagem.
Que P/E é considerado baixo?
Não existe um limite fixo. Os filtros normalmente estabelecem o múltiplo dos 12 meses anteriores em 15, ou em 10 para um corte mais rigoroso. Além disso, os múltiplos variam bastante entre os setores, de modo que um único limite para todo o mercado preenche a lista com os mesmos poucos segmentos.
Uma ação com P/E baixo próxima da mínima de 52 semanas é uma boa compra?
Nenhum filtro responde a isso, e esta página também não. As duas condições descrevem o passado: quanto o mercado paga por cada unidade monetária de lucro já divulgado e onde o preço está dentro da própria faixa de um ano. Nenhuma delas descreve o que vem depois.
O que é uma value trap?
Value trap é uma ação que parece barata com base em um múltiplo dos 12 meses anteriores, mas continua caindo. O lucro por ação é atualizado trimestralmente, enquanto o preço é atualizado continuamente. Assim, uma cotação em queda contra um E fixo dos 12 meses anteriores produz um múltiplo cada vez menor, e a divulgação seguinte pode recalibrar esse múltiplo para cima mesmo com um preço mais baixo.
Cada painel aqui é acompanhado da consulta que o produziu. Abra um deles, altere o limite de P/E ou a faixa de distância, e a lista será reconstruída com os seus próprios parâmetros no terminal Strasmore.