Strasmore Research
Навчання Matt ConnorВід Matt Connor · data as of August 15, 2026 · refreshed weekly

Акції з низьким P/E біля 52-тижневих мінімумів

Точний фільтр акцій із низьким P/E біля 52-тижневих мінімумів, рейтинг за відстанню до мінімуму та дані про нові мінімуми після відбору.

Акції з низьким P/E поблизу 52-тижневих мінімумів потрапляють на перетині двох дуже різних фільтрів: низького trailing P/E і ціни, що перебуває біля нижньої межі власного річного діапазону. Наведений нижче фільтр задає обидві умови у вигляді числових параметрів, які можна відтворити, ранжує відібрані акції за відстанню до мінімуму та показує query під кожною панеллю. Важливе застереження: такий список принаймні не рідше збирає falling knives, ніж недооцінені акції. Окремий розділ нижче пояснює арифметику цього підходу.

Що вважається близькістю до 52-тижневого мінімуму

52-тижневий мінімум — це найнижча ціна, за якою акція торгувалася протягом останнього року. Відстань до мінімуму переводить цей показник у відсоток: остання ціна закриття, поділена на 52-тижневий мінімум, мінус одиниця. Якщо акція закрилася на рівні 55 за 52-тижневого мінімуму 50, вона перебуває на 10% вище мінімуму. Ця арифметика повністю визначає ранжування, а в нашому матеріалі про 52-тижневі максимуми та мінімуми діапазон розглянуто докладніше.

Коефіцієнт P/E — це ціна, поділена на прибуток на акцію за останні дванадцять місяців. Він походить із таблиці щоденних коефіцієнтів stocks_ratios, яка є тим самим джерелом, що й для нашого фільтра акцій із найвищою dividend yield. Ціновий діапазон походить із stocks_daily_aggs, де кожній акції та торговій сесії відповідає один рядок.

Фільтр визначають чотири параметри. Кожен із них є умовним, доки його не зафіксовано:

  • відстань до 52-тижневого мінімуму — не більше 10%;
  • trailing P/E — вище нуля, але не більше 15;
  • market cap — не менше $10 billion;
  • середній денний обсяг — не менше 1,000,000 акцій.

Останні два параметри залишають у списку компанії з реальним ринком з обох боків. Компанія вартістю $40 million, акції якої торгуються по 20,000 штук на день, може мати будь-який коефіцієнт.

ЗапитВеликі компанії з кінцевим P/E нижче 15, не далі ніж 10% від 52-тижневого мінімуму
Точний 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
Run this yourself

У панелі наведено 6 назв, які за цими параметрами найближчі до власних мінімумів. Максимальний розмір списку — п’ятнадцять рядків. VICI розташована найближче до власної нижньої межі: її ціна на 2.3% вища за найнижчу ціну за останній рік, а trailing multiple становить 10.5. На іншому кінці панелі BRK.B перебуває на 9.7% вище власного мінімуму.

Як ранжувати список

Сортування — це крок, який більшість фільтрів пропускає. Ранжування за P/E виводить нагору коефіцієнт, що виглядає найдешевшим, але приховує положення ціни в діапазоні. Ранжування за відстанню до мінімуму виводить нагору акції, найближчі до нового мінімуму, але приховує їхню оцінку. Панель сортує акції за зростанням відстані до мінімуму, а коефіцієнт показує в наступному стовпці. Так обидва показники залишаються в одному рядку. За однакових значень застосовується алфавітне сортування. Це важливо, коли кілька назв після округлення мають однакове значення.

Для відтворення потрібні чотири вхідні дані: ряд щоденних цін закриття за повний останній рік, показник trailing EPS, кількість акцій для розрахунку market cap і середній обсяг. Далі потрібні лише віднімання та ділення.

Скільки назв проходять фільтр, залежить від параметрів

Зміна одного параметра змінює розмір списку. У наведеній нижче панелі мінімальні значення market cap і ліквідності залишаються незмінними. Діапазон відстані змінюється від 5% до 30%, а кількість відібраних назв показано для двох граничних значень P/E.

ЗапитВеликі компанії, що відповідають критеріям, зі розширенням діапазону відстані та верхньої межі 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
Run this yourself

За параметрами першої панелі — діапазону 10% і граничного P/E 15 — загалом проходять 7 large caps. Якщо звузити діапазон до 5%, залишаються 1. Якщо розширити його до 30%, кількість зростає до 43, а підвищення граничного P/E до 25 за тієї самої ширини дає 137. Жодне з цих значень не є об’єктивно правильним. Це параметри, і чесний спосіб публікувати фільтр — чітко вказати, на яких значеннях їх зафіксовано.

52-тижневий мінімум є рухомою межею

Сам мінімум змінюється. Це ковзний показник: у міру просування календаря старий мінімум випадає з періоду, а нижня межа підвищується навіть у день, коли з акцією нічого не відбувалося. Якщо відстежувати одну назву щомісяця, це стає очевидним. У наведеній нижче панелі KO, велика компанія широкого споживчого ринку, порівнюється з найнижчою ціною за останні дванадцять місяців.

ЗапитЗакриття KO на кінець місяця порівняно з мінімумом за останні 12 місяців
Точний 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
Run this yourself

Станом на 2026-08 KO закрилася на рівні $87.71 проти мінімуму за останні дванадцять місяців $65.35. Відстань становила 34.2%. Різниця між двома ціновими лініями — це показник, який вимірює цей фільтр. Якщо лінія мінімуму підвищується, а лінія ціни закриття залишається пласкою, вимірювана відстань скорочується без зміни ціни акції.

Чому фільтр збирає falling knives

Механізм є арифметичним. Літера E у P/E означає trailing earnings, і цей показник оновлюється чотири рази на рік після звітності компанії. Літера P оновлюється щосекунди, поки ринок відкритий. Якщо ціна знижується протягом кварталу, а показник прибутку залишається незмінним до наступного звіту, multiple щотижня знижується сам по собі. Коефіцієнт виглядає найдешевшим саме тоді, коли ціна найбільше віддалилася від останнього оприлюдненого показника. Коли наступний звіт показує зниження прибутку, multiple знову розширюється навіть за нижчої ціни. Насправді акція ніколи не була дешевою. Такий сценарій називається value trap.

Циклічні компанії демонструють протилежну картину. Виробник автомобілів або забудовник зазвичай має найнижчий trailing P/E на піку циклу прибутків, коли trailing EPS досягає максимуму, і найвищий — на дні циклу.

Щоб виміряти цю закономірність, потрібно відтворити фільтр станом на минулу дату, а потім відстежити кожну назву, яка його пройшла. Для цього потрібен trailing multiple для кожного ticker саме на ту минулу дату, а не лише останнє значення. Рядки stocks_ratios, що лежать в основі наведених панелей, зчитуються за останньою доступною датою для кожного ticker. Тому ця сторінка описує механізм, але не наводить показник подальшої динаміки, оскільки не може показати query для його розрахунку. Одна когорта з однієї стартової дати все одно була б лише одним спостереженням: якщо почати в іншому місяці, числа зміняться. Список не містить жодного висновку про подальшу динаміку ціни.

Що не враховує низький P/E

  • Який саме прибуток. Trailing EPS включає одноразові статті, продаж активів і юридичні виплати. Один надзвичайно прибутковий квартал знижує multiple на рік, навіть коли отримані кошти вже витрачені.
  • Галузевий контекст. Банки, страховики, автовиробники та нафтопереробні компанії мають структурно нижчі multiple, ніж software-компанії. Єдине граничне значення для всіх галузей заповнює список тими самими кількома секторами.
  • Баланс. P/E не враховує борг. Дві компанії з однаковим multiple, але дуже різним рівнем leverage, не перебувають на однаковому рівні оцінки.
  • Збитки. Для компанії з від’ємним прибутком P/E не має змістовного значення, тому вона ніколи не з’являється в цьому списку. Відсутність у списку не є висновком щодо компанії.

Два сусідні списки добре доповнюють цей. Найбільші рухи акцій цього місяця показує, які назви пройшли найбільшу відстань за останній місяць, а акції з найнижчою волатильністю демонструє протилежний профіль.

Примітки та визначення даних
  • Ціни походять із stocks_daily_aggs, де кожній акції та торговій сесії відповідає один рядок. 52-тижневий мінімум — це мінімальне значення колонки щоденного мінімуму за останні 372 календарні дні.
  • Multiple, market cap і середній обсяг походять із stocks_ratios, де для кожного ticker береться найновіший рядок.
  • Split або велика спеціальна distribution протягом періоду змінює необкоригований ціновий діапазон. Це варто перевіряти для будь-якої назви, щодо якої така подія відбулася протягом останнього року.
  • Фільтр вимагає позитивного trailing multiple, тому збиткові компанії в ньому не з’являються.

FAQ

Що означає, коли акція перебуває поблизу 52-тижневого мінімуму?

Це означає, що поточна ціна близька до найнижчої ціни, за якою акція торгувалася протягом останнього року. Відстань до мінімуму — це остання ціна закриття, поділена на 52-тижневий мінімум, мінус одиниця, виражена у відсотках.

Який P/E вважається низьким?

Фіксованої межі немає. У фільтрах trailing multiple часто обмежують значенням 15, а для суворішого відбору — 10. Крім того, multiple достатньо відрізняються за галузями, тому єдине граничне значення для всього ринку заповнює список тими самими кількома секторами.

Чи є акція з низьким P/E поблизу 52-тижневого мінімуму вигідною покупкою?

Жоден фільтр не дає відповіді на це запитання, і ця сторінка також не дає її. Дві умови описують минуле: скільки ринок платить за долар уже оприлюдненого прибутку та де ціна перебуває у власному річному діапазоні. Жодна з них не описує подальшу динаміку.

Що таке value trap?

Value trap — це акція, яка виглядає дешевою за trailing multiple, але продовжує падати. Прибуток на акцію оновлюється щокварталу, а ціна — безперервно. Тому падіння ціни на тлі незмінного trailing E поступово знижує multiple, а наступний звіт може підвищити цей multiple навіть за нижчої ціни.


Кожна панель містить query, за допомогою якого її побудовано. Відкрийте панель, змініть граничний P/E або діапазон відстані, і список буде перебудовано за вашими параметрами в терміналі Strasmore.

#screens#52-week lows#valuation#value investing#p/e ratio