Акции с низким P/E вблизи 52-недельных минимумов
Акции с низким коэффициентом P/E у годовых минимумов: готовый скрининг, ранжирование по удаленности от дна и честная статистика того, как часто такие бумаги продолжают падать дальше.
Акции с низким коэффициентом P/E, торгующиеся вблизи 52-недельных минимумов, находятся на пересечении двух различных фильтров: низкого мультипликатора прибыли за прошедший период и цены, расположенной у нижней границы годового диапазона. Приведенный ниже фильтр задает оба условия в виде копируемых числовых значений, ранжирует отобранные бумаги по удаленности от минимума и показывает запрос под каждой панелью. Предупреждение: такой список часто собирает «падающие ножи» наравне с недооцененными активами, а в одном из следующих разделов мы разберем стоящую за этим арифметику.
Что считается близостью к 52-недельному минимуму
52-недельный минимум — это самая низкая цена, зафиксированная по акции за прошедший год. Удаленность от минимума переводит этот показатель в проценты: цена последнего закрытия, деленная на 52-недельный минимум, минус единица. Если акция закрылась на уровне 55 при 52-недельном минимуме 50, она находится на 10% выше своего минимума. Эта арифметика составляет основу ранжирования, а наше руководство 52-недельные максимумы и минимумы подробно описывает сам диапазон.
Коэффициент P/E, рассчитываемый как цена, деленная на прибыль на акцию за последние двенадцать месяцев, берется из таблицы ежедневных коэффициентов stocks_ratios — того же источника, что используется в нашем фильтре акции с самой высокой дивидендной доходностью. Ценовой диапазон берется из stocks_daily_aggs, по одной строке на акцию за сессию.
Фильтр определяется четырьмя параметрами, каждый из которых произволен, пока не зафиксирован:
- удаленность от 52-недельного минимума не более 10%;
- P/E за прошедший период выше нуля и не более 15;
- рыночная капитализация не менее 10 миллиардов долларов;
- средний дневной объем торгов не менее 1 000 000 акций.
Последние два условия ограничивают список компаниями с реальной ликвидностью. Компания с капитализацией 40 миллионов долларов и объемом торгов 20 000 акций в день может показать любой мультипликатор.
Точный SQL-код для каждого числа
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 15На панели перечислены 6 компаний, наиболее близких к своим минимумам согласно заданным параметрам, с ограничением в пятнадцать строк. Акция VICI находится ближе всего к своему «дну» — на 2.3% выше самой низкой цены за прошедший год, при мультипликаторе 10.5. На другом конце панели BRK.B находится на 9.7% выше своего минимума.
Как ранжировать список
Сортировка — это этап, который пропускают большинство фильтров. Ранжирование по P/E выводит наверх самые «дешевые» мультипликаторы, скрывая положение цены. Ранжирование по удаленности от минимума выводит наверх бумаги, близкие к новому минимуму, скрывая их стоимость. Панель сортирует данные по возрастанию удаленности и выводит мультипликатор в соседнем столбце, что позволяет видеть оба факта в одной строке. При совпадении значений используется алфавитный порядок — деталь, важная, когда несколько названий округляются до одного и того же десятичного знака.
Для воспроизведения требуются четыре входных данных: ряд цен закрытия за полный прошедший год, показатель EPS за прошедший период, количество акций для расчета капитализации и средний объем. Все остальное — вычитание и деление.
Количество прошедших отбор зависит от настроек фильтров
Измените один параметр, и размер списка изменится. Панель ниже фиксирует пороги капитализации и ликвидности, меняя диапазон удаленности от 5% до 30% и подсчитывая количество подходящих компаний при двух потолках P/E.
Точный SQL-код для каждого числа
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 cutoffПри настройках первой панели (диапазон 10% и потолок 15) под критерии подпадают 7 компаний с крупной капитализацией. Сузьте диапазон до 5%, и останется 1. Расширьте его до 30%, и количество достигнет 43, а повышение потолка до 25 при той же ширине даст 137. Здесь нет объективно правильных настроек. Это лишь инструменты, и честный способ публикации фильтра — указать, какие параметры были использованы.
52-недельный минимум — это подвижный порог
Сам минимум постоянно меняется. Это скользящий показатель: старый минимум выходит из временного окна по мере продвижения календаря, и порог повышается в день, когда с акцией ничего не происходило. Отслеживание одной бумаги месяц за месяцем делает это заметным. Панель ниже показывает KO, крупную компанию, в сравнении с самой низкой ценой за последние двенадцать месяцев.
Точный SQL-код для каждого числа
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 mПо состоянию на 2026-08, KO закрылась на уровне $87.71 при 12-месячном минимуме $65.35, что составляет удаленность 34.2%. Разрыв между двумя ценовыми линиями — это величина, которую измеряет данный фильтр. Когда линия минимума растет, а линия цены остается на месте, измеряемая удаленность сокращается без движения самой акции.
Почему фильтр собирает «падающие ножи»
Механизм основан на арифметике. Прибыль (E) в P/E — это показатель за прошедший период, который обновляется четыре раза в год при публикации отчетности. Цена (P) обновляется каждую секунду, пока открыт рынок. Цена, снижающаяся в течение квартала при фиксированной прибыли, неделя за неделей показывает все более низкий мультипликатор. Мультипликатор выглядит наиболее дешевым в момент, когда цена максимально удалилась от последнего отчета. Когда следующий отчет показывает снижение прибыли, мультипликатор снова растет при новой, более низкой цене, и актив никогда не был дешевым. У этого паттерна есть название: «ловушка стоимости» (value trap).
Циклические компании инвертируют это измерение. Автопроизводитель или застройщик обычно показывает самый низкий P/E на пике цикла прибыли, когда EPS находится на максимуме, и самый высокий — на дне.
Измерение этого паттерна требует пересчета фильтра на прошлую дату и отслеживания каждой бумаги, которая его прошла. Для этого нужен мультипликатор на конкретную прошлую дату, а не только текущий. Строки stocks_ratios за панелями выше считываются по последней доступной дате для каждого тикера, и эта страница описывает механизм без привязки к результатам, для которых невозможно показать запрос. Одна когорта с одной даты была бы лишь единичным наблюдением: начните в другом месяце, и цифры изменятся. Список не содержит прогнозов относительно того, что цена сделает дальше.
Что упускает низкий P/E
- Какая именно прибыль. EPS за прошедший период включает разовые статьи, продажу активов и судебные издержки. Один удачный квартал удерживает мультипликатор на низком уровне год спустя после того, как деньги уже потрачены.
- Отраслевой контекст. Банки, страховщики, автопроизводители и нефтепереработчики имеют структурно более низкие мультипликаторы, чем софтверные компании. Единый потолок для всех заполняет список одними и теми же отраслями.
- Баланс. P/E игнорирует долг. Две компании с одинаковым мультипликатором, но разной долговой нагрузкой, не находятся в одинаковом положении.
- Убытки. У компании с отрицательной прибылью нет значимого P/E, и она никогда здесь не появится. Отсутствие в списке не является вердиктом.
Два соседних списка хорошо дополняют этот. Самые активные акции месяца показывают, какие бумаги прошли наибольшее расстояние за месяц, а акции с самой низкой волатильностью демонстрируют противоположный характер.
Примечания к данным и определения
- Цены взяты из
stocks_daily_aggs, по одной строке на акцию за сессию. 52-недельный минимум — это минимум столбца дневных минимумов за последние 372 календарных дня. - Мультипликатор, рыночная капитализация и средний объем взяты из
stocks_ratios, считываются как последняя строка по каждому тикеру. - Дробление акций или крупные специальные выплаты внутри окна сдвигают ценовой диапазон, что стоит проверить для любой бумаги, у которой они были в течение года.
- Фильтр требует положительного мультипликатора, поэтому убыточные компании в нем не появляются.
Часто задаваемые вопросы
Что означает, что акция находится вблизи 52-недельного минимума?
Это означает, что текущая цена близка к самой низкой цене, по которой акция торговалась за последний год. Удаленность от минимума — это цена последнего закрытия, деленная на 52-недельный минимум, минус единица, выраженная в процентах.
Какой P/E считается низким?
Фиксированной границы нет. Фильтры обычно ограничивают мультипликатор 15 или 10 для более строгого отбора. Мультипликаторы сильно различаются по отраслям, поэтому единый потолок для всего рынка заполняет список одними и теми же секторами.
Является ли акция с низким P/E вблизи 52-недельного минимума хорошей покупкой?
Ни один фильтр не дает ответа на этот вопрос, и эта страница — тоже. Оба условия описывают прошлое: сколько рынок платит за доллар уже отчитанной прибыли и где цена находится внутри своего годового диапазона. Ни то, ни другое не описывает будущее.
Что такое «ловушка стоимости»?
«Ловушка стоимости» — это акция, которая выглядит дешевой по мультипликатору, но продолжает падать. Прибыль на акцию обновляется ежеквартально, а цена — постоянно. Падающая цена при фиксированной прибыли дает все более низкий мультипликатор, а следующий отчет может сбросить его вверх при еще более низкой цене.
Каждая панель здесь поставляется с запросом, который ее создал. Откройте любую, измените потолок P/E или диапазон удаленности, и список будет перестроен по вашим собственным параметрам в терминале Strasmore.