52주 신저가 근처 낮은 P/E 종목 스크리닝
52주 신저가에 근접한 낮은 P/E(주가수익비율) 종목을 찾는 스크리닝 방법과 신저가와의 거리 순위 산정 방식을 설명합니다. 저평가 종목과 떨어지는 칼날을 구분하기 위한 산술적 배경과 데이터 활용법을 상세히 다룹니다.
52주 신저가 근처의 낮은 P/E(주가수익비율) 종목은 두 가지 서로 다른 스크리닝 조건이 교차하는 지점에 위치합니다. 하나는 낮은 후행(trailing) 수익 배수이고, 다른 하나는 지난 1년간의 가격 범위 중 바닥권에 머물러 있는 주가입니다. 아래 스크리닝은 이 두 가지 조건을 복사 가능한 수치로 제시하며, 신저가와의 거리 순으로 종목을 나열하고 각 패널 하단에 쿼리를 표시합니다. 시작에 앞서 한 가지 경고를 드립니다. 이러한 방식으로 구성된 목록은 저평가된 종목만큼이나 '떨어지는 칼날(falling knives)'을 포함할 가능성이 높으며, 이어지는 섹션에서 그 산술적 배경을 설명합니다.
52주 신저가 근처란 무엇인가
52주 신저가는 지난 1년간 종목이 기록한 가장 낮은 가격입니다. 신저가와의 거리는 이를 백분율로 환산한 것으로, 마지막 종가(last close)를 52주 신저가로 나눈 뒤 1을 뺀 값입니다. 52주 신저가가 50인 종목이 55에 마감했다면, 신저가 대비 10% 위에 위치한 것입니다. 이 산술적 계산이 순위 산정의 전부이며, 52주 신고가 및 신저가 가이드에서 해당 밴드에 대해 더 자세히 다룹니다.
P/E 비율은 주가를 후행 12개월 주당순이익(EPS)으로 나눈 값으로, 일일 비율 테이블 stocks_ratios에서 가져옵니다. 이는 최고 배당수익률 종목 스크리닝의 출처와 동일합니다. 가격 밴드는 종목당 세션별로 한 행씩 구성된 stocks_daily_aggs에서 가져옵니다.
스크리닝을 정의하는 네 가지 지표는 다음과 같으며, 수치가 확정되기 전까지는 임의로 설정됩니다.
- 52주 신저가와의 거리: 10% 이하
- 후행 P/E: 0 초과, 15 이하
- 시가총액: 100억 달러 이상
- 일평균 거래량: 1,000,000주 이상
마지막 두 조건은 양방향으로 실제 시장이 형성된 종목으로 목록을 제한하기 위함입니다. 시가총액 4,000만 달러 규모의 기업이 하루 2만 주 거래된다면 어떤 배수든 기록할 수 있기 때문입니다.
모든 수치 뒤에 숨겨진 정확한 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개의 종목이 최대 15개 행까지 나열됩니다. VICI은 지난 1년간 기록한 최저가 대비 2.3% 높은 수준으로 바닥에 가장 근접해 있으며, 후행 배수는 10.5입니다. 패널의 반대편 끝에는 BRK.B가 신저가 대비 9.7% 높은 위치에 있습니다.
목록 순위 산정 방법
정렬은 대부분의 스크리닝에서 간과하는 단계입니다. P/E로 정렬하면 가장 저렴해 보이는 배수가 상단에 오지만 주가가 어디에 위치하는지는 가려집니다. 신저가와의 거리로 정렬하면 신저가에 가장 가까운 종목이 상단에 오지만 실제 비용은 가려집니다. 이 패널은 거리 기준 오름차순으로 정렬하고 다음 열에 배수를 표시하여 두 가지 사실을 한 행에서 확인할 수 있도록 했습니다. 동률일 경우 알파벳순으로 정렬하며, 이는 여러 종목이 소수점 단위에서 반올림될 때 중요한 세부 사항입니다.
이를 재현하려면 네 가지 입력값이 필요합니다. 전체 후행 1년을 포함하는 일일 종가 시리즈, 후행 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를 대상으로 지난 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 m2026-08 기준으로 KO는 $87.71에 마감했으며, 후행 12개월 신저가는 $65.35로 그 거리는 34.2%입니다. 두 가격 선 사이의 간격이 이 스크리닝이 측정하는 수치입니다. 주가는 그대로인데 신저가 선이 상승하면, 종목의 움직임 없이도 측정된 거리는 줄어듭니다.
이 스크리닝이 '떨어지는 칼날'을 모으는 이유
그 메커니즘은 산술적입니다. P/E에서 E(수익)는 후행 지표이며 기업이 실적을 발표할 때마다 연간 4회 업데이트됩니다. P(주가)는 시장이 열려 있는 매 순간 업데이트됩니다. 실적 발표 전까지 고정된 수익 수치에 대해 주가가 분기 내내 하락하면, 매주 더 낮은 배수가 기록됩니다. 주가가 마지막 실적 발표 수치로부터 가장 멀리 이동했을 때 배수는 가장 저렴해 보입니다. 다음 실적 발표에서 수익이 감소하면, 새로운 낮은 주가에서 배수는 다시 확대되며, 사실상 저렴했던 적은 없었던 셈입니다. 이러한 패턴을 '가치 함정(value trap)'이라고 합니다.
경기민감주는 동일한 측정 방식을 반대로 보여줍니다. 자동차 제조사나 주택 건설업체는 후행 EPS가 최고점에 달하는 수익 주기의 정점에서 가장 낮은 후행 P/E를 보이고, 바닥권에서 가장 높은 P/E를 보이는 경향이 있습니다.
이 패턴을 측정하려면 과거 특정 시점으로 스크리닝을 재구성한 뒤 통과한 모든 종목을 추적해야 합니다. 이를 위해서는 최신 수치가 아닌 과거 시점의 각 티커별 후행 배수가 필요합니다. 위 패널의 stocks_ratios 행은 티커별 가장 최근 날짜를 기준으로 읽히며, 이 페이지는 쿼리를 제공할 수 없는 추적 수치를 첨부하지 않고 메커니즘만을 설명합니다. 특정 시작일의 코호트(집단)는 어차피 하나의 관측치일 뿐입니다. 시작하는 달을 바꾸면 수치도 변합니다. 이 목록은 향후 주가 움직임에 대해 어떠한 주장도 하지 않습니다.
낮은 P/E가 간과하는 것들
- 어떤 수익인가. 후행 EPS에는 일회성 항목, 자산 매각, 법적 합의금이 포함됩니다. 현금이 사라진 후에도 단 한 번의 좋은 실적 분기가 1년간 배수를 낮게 유지할 수 있습니다.
- 업종별 맥락. 은행, 보험사, 자동차 제조사, 정유사는 소프트웨어 기업보다 구조적으로 낮은 배수를 유지하므로, 전체 시장에 단일 상한선을 적용하면 특정 업종만 목록을 채우게 됩니다.
- 재무제표. P/E는 부채를 무시합니다. 동일한 배수를 가진 두 기업이라도 레버리지 수준이 매우 다르다면 같은 가격대에 있는 것이 아닙니다.
- 손실. 수익이 마이너스인 기업은 의미 있는 P/E가 없으므로 여기에 나타나지 않습니다. 목록에 없다는 것이 부정적인 평가를 의미하지는 않습니다.
이 목록과 함께 읽기 좋은 두 가지 인접 목록이 있습니다. 이번 달 가장 많이 움직인 종목은 지난 한 달간 가장 큰 변동폭을 보인 종목을 보여주며, 최저 변동성 종목은 그 반대의 성향을 보여줍니다.
데이터 참고 및 정의
- 가격은 종목당 세션별로 한 행씩 구성된
stocks_daily_aggs에서 가져옵니다. 52주 신저가는 지난 372일간의 일일 저가 열에서 최솟값을 구한 것입니다. - 배수, 시가총액, 평균 거래량은 티커별 가장 최근 행을 읽은
stocks_ratios에서 가져옵니다. - 기간 내 주식 분할이나 대규모 특별 배당이 발생하면 원시 가격 밴드가 변동되므로, 지난 1년간 해당 이벤트가 있었던 종목은 확인이 필요합니다.
- 이 스크리닝은 양수의 후행 배수를 요구하므로 손실을 기록 중인 기업은 나타나지 않습니다.
FAQ
주가가 52주 신저가 근처라는 것은 무엇을 의미합니까?
현재 주가가 지난 1년간 거래된 최저가에 근접해 있다는 뜻입니다. 신저가와의 거리는 마지막 종가를 52주 신저가로 나눈 뒤 1을 뺀 값을 백분율로 나타낸 것입니다.
어느 정도의 P/E가 낮은 것입니까?
고정된 기준은 없습니다. 일반적으로 후행 배수에 15를 상한선으로 설정하거나, 더 엄격한 기준을 위해 10을 적용하기도 합니다. 업종별로 배수 차이가 크기 때문에 시장 전체에 단일 상한선을 적용하면 특정 업종만 목록에 채워지는 결과가 나타납니다.
낮은 P/E와 52주 신저가 근처의 종목은 좋은 매수 기회입니까?
어떤 스크리닝도 이에 대한 답을 주지 않으며, 이 페이지 또한 마찬가지입니다. 두 가지 조건은 과거의 사실을 설명할 뿐입니다. 시장이 이미 보고된 수익 1달러당 얼마를 지불하고 있는지, 그리고 주가가 지난 1년간의 범위 내 어디에 위치하는지를 보여줄 뿐, 향후 어떤 일이 벌어질지는 설명하지 않습니다.
가치 함정이란 무엇입니까?
가치 함정은 후행 배수 기준으로 저렴해 보이지만 계속 하락하는 종목을 말합니다. 주당순이익은 분기별로 업데이트되지만 주가는 지속적으로 업데이트되므로, 고정된 후행 수익 대비 주가가 하락하면 배수는 계속 낮아집니다. 다음 실적 발표에서 더 낮은 주가에 맞춰 배수가 다시 조정될 수 있습니다.
여기에 있는 모든 패널은 해당 데이터를 생성한 쿼리와 함께 제공됩니다. 패널을 열어 P/E 상한선이나 거리 밴드를 변경하면, Strasmore 터미널에서 본인이 설정한 지표에 따라 목록이 재구성됩니다.