52주 신고가 및 신저가 종목 리스트
52주 신고가(52-week high)와 신저가(52-week low) 종목을 확인하십시오. 시장의 광범위한 흐름을 파악할 수 있습니다.
52주 신고가(52-week high)는 지난 1년 동안 주식이 마감한 가장 높은 가격을 의미하며, 52주 신저가(52-week low)는 가장 낮은 가격을 의미한다. 지난 거래일인 Jul 21, 2026, 이 화면에 표시된 주식 중 26개 종목이 52주 신고가 또는 그 가격의 1% 이내에서 마감했으며, 7개 종목은 52주 신저가 또는 그 가격의 1% 이내에서 마감했다. 이 화면은 거래량이 많은 미국의 대형 운영 기업들을 대상으로 하며, 거래소 테이프(exchange tape)를 기반으로 데이터를 재구성한다.
52주 신고가 종목
연초 대비 가장 높은 수익률을 기록한 종목들이 아래에 나열되어 있으며, 최대 열두 개 종목이 포함됩니다. 각 종목은 최근 52주 동안의 최고 종가와 비교하여 1% 이내의 가격으로 거래를 마쳤습니다.
모든 수치 뒤에 숨겨진 정확한 SQL
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은 올해 99.6%의 수익률을 기록하며 $439.18에 마감하여 목록 최상단에 위치합니다. 이 목록의 종가는 구성 원칙상 52주 최고가와 1% 이내의 차이를 보이므로, 가격 열은 테스트 중인 가격 수준을 겸합니다. DINO이 99%에, MPC이 96.6%에 뒤를 잇습니다. 표의 가장 끝에는 ROKU이 올해 33%을 기록했습니다.
이러한 격차가 핵심입니다. 52주 신고가는 해당 가격이 지난 1년간의 가격 범위 내에서 어디에 위치하는지를 나타낼 뿐입니다. 지난 여름 급락한 후 회복한 종목도 계속해서 상승 중인 종목과 동일한 라벨을 갖게 됩니다.
52주 신저가 종목
동일한 스크린을 역순으로 적용한 결과입니다. 다음은 최근 52주 최저 종가와 동일하거나 1% 이내의 가격으로 마감한 종목들로, 연초 대비(year-to-date) 수익률이 가장 낮은 순서대로 12개 종목을 나열했습니다.
모든 수치 뒤에 숨겨진 정확한 SQL
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은 연초 대비 수익률이 -41%으로 목록 중 가장 저조하며, 52주 최저 종가 대비 1% 이내인 $61.48에 마감했습니다. CPRT이 -30.6%으로 그 뒤를 이었습니다.
52주 신저가는 가격 범위 내의 위치를 나타낼 뿐, 기업의 경영 상태에 대한 판결이 아닙니다. 수익을 내는 기업도 장기간 주가가 정체되면 이 목록에 포함될 수 있으며, 경영난을 겪는 기업도 마찬가지입니다. 종가 데이터만으로는 두 부류를 구분할 수 없습니다. 시장 전체의 회복에 관한 내용은 시장이 폭락에서 회복하는 방법을 참조하십시오.
상승 및 하락 종목 수가 나타내는 시장 폭(Breadth)
시장 폭(Breadth)은 지수의 상승 폭이 아니라 얼마나 많은 종목이 움직임에 참여하는지를 측정합니다. 신고가와 신저가 종목 수의 비교는 가장 오래된 시장 폭 지표 중 하나이며, 본 페이지에서는 이 수치를 주목해야 합니다.
모든 수치 뒤에 숨겨진 정확한 SQL
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 dtJul 21, 2026 기준, 52주 신고가 또는 그 근처에 있는 종목은 26개였으며, 신저가 또는 그 근처에 있는 종목은 7개로 순수치는 19를 기록했습니다. 6주 전인 Jun 9, 2026에는 동일한 기준에서 신고가 35개, 신저가 3개를 기록했습니다.
차트에 표시된 29 거래일 동안 두 수치 모두 매일 급격하게 변동했습니다. 따라서 특정 거래일의 수치보다는 수 주간의 추세가 더 중요합니다. 지수가 정체되어 있는 동안 신고가 종목 수가 줄어든다면, 이는 지수 자체의 움직임보다 시장의 폭이 좁아졌음을 의미합니다. 신저가 종목 수가 급증하는 상황은 공포에 매수하기의 배경이 되며, 당사는 이를 뉴스 심리와 비교 검증했습니다.
시장의 나머지 종목들이 고점으로부터 얼마나 떨어져 있는가
고점과 저점은 분포의 양 끝단이며, 대부분의 주식은 그 중간에 위치한다. 이 패널은 전체 화면을 52주 고점과의 거리순으로 정렬하여, 각 구간별 연초 대비(year-to-date) 수익률 중앙값을 보고한다.
모든 수치 뒤에 숨겨진 정확한 SQL
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 ord전체 화면의 5.3%, 즉 26개 종목이 52주 고점의 1% 이내에서 마감했다. 반대로 17%개 종목은 고점보다 35% 이상 낮은 가격에서 마감했다. 상위 구간의 연초 대비 수익률 중앙값은 32.8%이며, 하위 구간은 -28.9%이다. 차트는 이 두 지점 사이의 형태를 보여준다.
이러한 경사도는 발견된 사실이라기보다 산술적 결과에 가깝다. 52주 고점에 근접한 주식은 구조적으로 연중 상당 기간 상승세를 유지해 왔기 때문이다. 이 패널은 양극단의 이례적인 정도와 시장의 얼마나 많은 종목이 자체 최고가로부터 멀리 떨어져 있는지를 측정하여 가치를 증명한다. 해당 종목들을 대량 보유하는 것은 개별 주식의 실질적 위험으로 측정되는 노출도를 의미한다.
52주 범위 내 시장의 현재 위치
개별 주식이 고점에 있을 때, 시장이 고점 근처에 있는지 혹은 고점에서 멀리 떨어져 있는지에 따라 그 의미는 달라진다. 아래의 다섯 가지 주요 시장 ETF(Exchange Traded Fund)는 상단의 개별 주식과 동일한 방식으로 측정되었다.
모든 수치 뒤에 숨겨진 정확한 SQL
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)은 52주 고점 대비 1.08% 하락하여 다섯 지수 중 고점에 가장 근접해 있으며, 52주 저점보다는 17.2% 높다. Nasdaq 100 (QQQ)은 고점에서 4.98%만큼 떨어져 있어 가장 멀리 떨어져 있다. 연초 대비 수익률은 각각 11.1%과 15.4%이다.
동일 가중 방식과 시가총액 가중 방식 지수 사이의 격차는 그 자체로 시장 폭(breadth)을 나타내는 지표이다. 동일 가중 지수가 고점에 더 가까우면 평균적인 구성 종목들이 대형주보다 더 높은 수익률을 기록하고 있음을 의미한다. 시가총액 가중 지수가 고점에 더 가깝다면 소수의 거대 기업들이 지수 상승을 주도하고 있다는 뜻이다. 두 방식 모두 미래를 예측하지는 않으며, 부적절한 시기에 시장에서 이탈할 경우 시장의 상승일 놓치는 비용이 발생한다.
측정 방법
이 페이지의 모든 수치는 미국 거래소의 분 단위 데이터(minute bars)를 일일 종가로 집계하여 산출합니다. 상세 규칙은 다음과 같습니다.
- 대상 범위. 최근 400일 이내에 SEC(미국 증권거래위원회)에 제출된 손익계산서를 보유한 미국 상장 운영 기업만을 대상으로 합니다. 따라서 ETF(상장지수펀드)와 펀드는 두 목록 모두에서 제외됩니다. 레버리지 및 인버스 ETF 또한 이중 확인을 위해 명시적으로 제외됩니다.
- 유동성 하한선. 주식은 지난 20일 동안 최소 20억 달러의 거래액을 기록해야 합니다. 주말과 공휴일을 제외하면 해당 기간은 약 12거래일이며, 거래일당 약 1억 5천만 달러 수준입니다. 이는 독자가 실제로 거래할 수 있는 종목으로 목록을 제한하고, 거래량이 적은 종목에 의한 왜곡된 수치 발생을 방지하기 위함입니다.
- 주식 분할은 조정하지 않고 제외함. 지난 460일 이내에 주식 분할을 실시한 티커(ticker)는 화면에서 제외됩니다. 이 기간을 1년 이상으로 설정한 이유는 아래의 폭(breadth) 차트가 추적하는 가장 오래된 가격대까지 포함하기 위해서입니다. 이러한 페이지에서 오류가 발생하는 가장 흔한 원인은 주식 분할입니다. 예를 들어, 1-for-20 역분할(reverse split)이 발생하면 실제 거래 없이도 공시 가격이 20배로 급등하여, 조정되지 않은 화면에는 경이로운 52주 신고가가 기록될 수 있습니다. 주식 분할(forward split)은 이와 반대로 52주 신저가를 허위로 생성합니다.
- 장중 최고/최저치가 아닌 종가 기준. 고가와 저가는 종가를 기준으로 측정합니다. 주가가 장중에 52주 신고가를 경신하더라도, 종가가 그보다 낮게 형성되면 이 목록에 나타나지 않습니다. 장중 가격을 기준으로 구축된 스크린은 더 많은 종목을 보고합니다.
- 세션 완료 필수. 일일 종가는 뉴욕 시간 기준 15:30에서 16:00 사이의 마지막 분 단위 데이터입니다. 아직 진행 중인 세션은 해당 30분 동안의 데이터가 없으므로 계산에 포함될 수 없으며, 진행 중인 세션은 결코 포함되지 않습니다. 조기 종료되는 공휴일 세션도 동일한 이유로 제외됩니다. 상단의 날짜는 테스트를 통과한 마지막 세션의 날짜이므로, 실제 달력보다 1~2일 늦을 수 있습니다.
- 1년의 데이터 이력. 주식은 52주 범위 내에 최소 200개의 세션이 있어야 하며, 첫 번째 세션이 최소 350일 전부터 존재해야 합니다. 상장한 지 3개월 된 기업은 여기서 52주 신고가를 기록할 수 없습니다.
- 1% 범위. "52주 신고가"는 종가가 지난 52주 동안의 최고 종가와 동일하거나 그로부터 1% 이내에 위치함을 의미하며, 저가 목록도 이를 동일하게 반영합니다. YTD(연초 대비 수익률)는 2025년의 최종 종가를 기준으로 측정합니다.
FAQ
52-week high(52주 신고가)에서 매수하는 것이 좋은 전략인가요?
일반적인 정답은 없으며, 본 페이지의 내용은 투자 조언이 아닙니다. 이 페이지는 과거 데이터를 보여줍니다. 52-week high의 1% 이내에 있는 주식의 연간 수익률(year-to-date return) 중앙값은 32.8%인 반면, 고점 대비 35% 이상 하락한 주식의 수익률은 -28.9%입니다. 이는 해당 주식들의 지난 한 해를 나타내는 지표일 뿐, 향후 수익을 보장하지 않습니다. 이 지표는 밸류에이션(valuation)이 아닌 가격 범위 내의 위치를 나타냅니다.
주식이 52-week low(52주 신저가)를 기록한다는 것은 무엇을 의미하나요?
해당 주식의 종가가 지난 52주 동안의 그 어떤 가격보다 낮게 마감되었음을 의미합니다. 7일 기준, 이 화면의 종목 중 Jul 21, 2026개가 이 조건에 해당했습니다. 저가는 기업 실적 악화로 인해 발생할 수도 있고, 수익성이 있는 기업이 장기간 하락세를 보이며 발생할 수도 있습니다. 가격 자체만으로는 그 원인을 알 수 없습니다.
현재 52-week high에 도달한 주식은 몇 개인가요?
Jul 21, 2026 종가 기준, 이 화면의 종목 중 26개는 52-week high의 1% 이내에서 마감했으며, 7개는 52-week low의 1% 이내에서 마감했습니다. 이 화면은 지난 20일 동안 거래액이 20억 달러 이상인 대형 우량 미국 운영 기업들을 대상으로 하므로, 전체 상장 종목을 대상으로 하는 화면보다 수치가 적게 나타납니다.
52-week high는 어떻게 계산되나요?
지난 52주 동안의 모든 종가를 확인하여 가장 높은 가격을 찾습니다. 최근 종가가 이 가격과 같다면, 해당 주식은 52-week closing high를 기록한 것입니다. 이 페이지는 해당 가격의 1% 이내에 있는 주식도 포함하며, 지난 460일 이내에 주식 분할(split)이 발생한 티커(ticker)는 제외합니다. 주식 분할은 보유 자산의 가치를 변화시키지 않으면서 공시 가격만 변경하기 때문입니다.
위의 모든 패널에는 SQL 쿼리가 저장되어 있습니다. 각 표 아래의 쿼리를 열어 화면을 검토하거나, Strasmore 터미널에서 실행할 수 있습니다. 연간 극단치 대신 이번 주의 최대 변동 종목을 확인하려면 이번 주 최대 상승 및 하락 종목을 참조하십시오.