1월 효과란 무엇인가? 소형주 계절성 현상 분석
1월 효과는 연초 소형주가 강세를 보이는 시장 이상 현상입니다. 절세 목적의 매도와 연말 자금 유입이 주요 원인으로 꼽히며, 연구 결과가 발표된 이후에는 시장의 효율성이 높아지면서 해당 수익률 격차가 점차 줄어드는 경향을 보입니다.
1월 효과란 무엇인가?
1월 효과는 연초 첫 몇 주 동안 주식 수익률이 비정상적으로 높게 나타나며, 특히 규모가 작고 가장 많이 하락한 종목들이 상승세를 주도한다는 주장입니다. 이 현상은 1904년부터의 데이터를 바탕으로 1976년에 처음 보고되었으며, 당시 보고된 수익률 격차로 인해 주식 시장에서 가장 유명한 계절성 패턴이 되었습니다. 그 이후에 벌어진 일은 대부분의 계절성 관련 자료에서 생략되는 부분입니다. 즉, 연구 결과가 발표되자 이를 거래에 활용하려는 투자자들이 몰려들었고, 그 이후 측정된 모든 수치는 이전보다 작게 나타났습니다.
두 가지 달력상의 메커니즘이 이 현상의 이면에 자리 잡고 있으며, 둘 다 1월 자체가 아닌 12월 31일이라는 경계선과 관련이 있습니다.
첫 번째는 절세 목적의 매도(tax-loss selling)입니다. 미국 세법은 투자자가 실현한 손실을 같은 과세 연도의 실현 이익에서 공제할 수 있도록 허용하며, 해당 연도의 장부는 12월 마지막 거래일에 마감됩니다. 이에 따라 12월 마지막 몇 주 동안 투자자들은 이미 손실이 발생한 종목을 중심으로 매도에 집중하게 되는데, 이러한 종목들은 주로 규모가 작고 소외된 경우가 많습니다. 1월 첫 거래일이 되면 이러한 매도세가 멈추고, 동일한 종목들에 다시 매수세가 유입됩니다.
두 번째는 현금 흐름의 주기입니다. 연말 보너스와 새해 퇴직연금 납입금이 같은 시기에 유입됩니다.
두 메커니즘 모두 시장의 대형주를 가리키지 않습니다. 둘 다 이 페이지에서 계속 언급하는 소형주를 향하고 있습니다. 이러한 현상은 실제 참여 데이터에서 명확히 드러납니다. 아래 패널은 S&P 500 지수를 추종하는 가장 거래량이 많은 ETF인 SPY를 대상으로, 2011년부터 현재까지 12월 21일부터 1월 10일까지의 일일 거래량 평균을 나타냅니다.
모든 수치 뒤에 숨겨진 정확한 SQL
SELECT
concat(
if(toMonth(date) = 12, 'Dec ', 'Jan '),
if(toDayOfMonth(date) < 10, concat('0', toString(toDayOfMonth(date))), toString(toDayOfMonth(date)))
) AS label,
round(avg(toFloat64(volume)) / 1e6, 1) AS avg_volume_millions,
round(avg(toFloat64(volume)) / (
SELECT avg(toFloat64(volume))
FROM global_markets.stocks_daily_aggs
WHERE ticker = 'SPY'
AND date >= '2011-01-01'
AND date < '2026-08-01'
), 2) AS relative_activity
FROM global_markets.stocks_daily_aggs
WHERE ticker = 'SPY'
AND date >= '2011-01-01'
AND date < '2026-08-01'
AND ((toMonth(date) = 12 AND toDayOfMonth(date) >= 21)
OR (toMonth(date) = 1 AND toDayOfMonth(date) <= 10))
GROUP BY toMonth(date), toDayOfMonth(date)
ORDER BY if(toMonth(date) = 12, 0, 1), toDayOfMonth(date)Dec 21은 평균 126.2백만 주를 기록했으며, 이는 같은 기간 SPY의 평균 거래량 대비 1.24배 수준입니다. Jan 10은 평균 90백만 주를 기록하여 평소 대비 0.89배를 나타냈습니다. 패널의 19개 날짜는 연휴 기간과 새해 첫 거래일들을 보여줍니다.
거래량은 참여도를 의미할 뿐 수익률을 의미하지는 않습니다. 이 페이지는 자체적인 1월 수익률 수치를 발표하지 않으며, 이는 의도적인 것입니다. 유명한 계절성 패턴에 대해 표본 내(in-sample) 계산을 새로 수행하는 것은 그 계절성 패턴을 유명하게 만든 오류를 반복하는 가장 빠른 방법이기 때문입니다.
소형주와 동일 가중 방식이 결론을 좌우하는 이유
지수 값은 평균이며, 가중치 산정 방식에 따라 어떤 종목의 수익률이 반영될지가 결정됩니다. 시가총액 가중 지수는 모든 기업을 시장 가치에 따라 가중치를 부여하므로, 대형주가 지수 값을 결정하고 소형주는 거의 반영되지 않습니다. 반면 동일 가중 지수는 2억 달러 규모의 기업과 2조 달러 규모의 기업에 동일한 투표권을 부여합니다.
1월 효과를 세상에 알린 마이클 로제프(Michael Rozeff)와 윌리엄 키니(William Kinney)의 1976년 연구는 1904년부터 1974년까지 NYSE 상장 주식의 동일 가중 지수를 측정했습니다. 이후 계속해서 인용되는 수치는 1월의 평균 수익률이 다른 달 평균의 약 5배에 달했다는 것입니다. 동일한 종목군을 시가총액 가중 방식으로 구성하면 소형주들의 가중치는 1% 미만이 되며, 동일한 기초 자산 가격을 가지고도 두 구성 방식은 매우 다른 1월 수익률을 보고할 수 있습니다. 즉, 지수 구성 방식이 주장의 대부분을 차지합니다. 월간 수익률이 해석되기 전에 무엇이 수치를 움직이는지에 대해서는 월간 수익률 측정 방식을 참조하십시오.
기업 규모는 또한 계절성 프리미엄을 확보하는 데 드는 비용을 결정합니다. 당일 거래량에 가격을 곱한 달러 거래량(dollar volume)은 해당 종목이 얼마나 많은 자금을 수용할 수 있는지를 보여주는 가장 명확한 척도입니다. 아래 패널은 2026년 6월 기준 최소 15일 이상 거래된 모든 종목을 평균 달러 거래량별로 분류한 것입니다.
모든 수치 뒤에 숨겨진 정확한 SQL
WITH per_symbol AS
(
SELECT
ticker,
avg(toFloat64(close) * toFloat64(volume)) AS adv_dollars
FROM global_markets.stocks_daily_aggs
WHERE date >= '2026-06-01'
AND date < '2026-07-01'
GROUP BY ticker
HAVING count() >= 15
)
SELECT
multiIf(
adv_dollars < 100000, '1. under $100k',
adv_dollars < 1000000, '2. $100k to $1M',
adv_dollars < 10000000, '3. $1M to $10M',
adv_dollars < 100000000, '4. $10M to $100M',
'5. over $100M') AS liquidity_bucket,
count() AS securities_count,
round(100 * count() / (
SELECT count()
FROM
(
SELECT ticker
FROM global_markets.stocks_daily_aggs
WHERE date >= '2026-06-01'
AND date < '2026-07-01'
GROUP BY ticker
HAVING count() >= 15
)
), 1) AS share_of_tape_pct
FROM per_symbol
GROUP BY liquidity_bucket
ORDER BY liquidity_bucket1808개의 증권은 일평균 달러 거래량이 10만 달러 미만이었으며, 이는 전체 표본의 15.1퍼센트입니다. 반면 1429개의 증권은 1억 달러를 넘었습니다. 발표된 계절성 프리미엄은 종가를 기준으로 측정됩니다. 거래량이 적은 종목에서 프리미엄을 확보하려면 매수 호가와 매도 호가 사이의 스프레드(spread)를 두 번 넘어야 하며, 자신의 주문이 가격에 미치는 영향까지 고려해야 합니다. 월간 수익률 시리즈에는 이러한 비용이 전혀 나타나지 않습니다.
1월 효과는 여전히 유효한가?
솔직한 답변을 드리자면, 1976년 이후 측정된 1월 효과는 그 이전보다 훨씬 작으며, 문서화된 이상 현상은 대개 이러한 경로를 따릅니다. 수명 주기는 네 단계로 진행됩니다. 역사적 데이터에서 패턴이 발견됩니다. 패턴이 발표됩니다. 이를 거래하는 독자들은 더 일찍 움직여, 모두가 알게 된 1월 효과를 앞질러 12월에 매수합니다. 이후 연구들이 측정하는 것은 남은 찌꺼기일 뿐입니다. 1980년대 이후의 연구들은 대체로 발표 이후 수십 년 동안 1월 프리미엄이 축소되었으며, 계절성 효과의 일부가 12월로 이동했음을 발견했습니다.
절세 매도 메커니즘도 그와 함께 약화되었습니다. 현재 소형주 상당수가 퇴직연금 계좌와 인덱스 펀드에 포함되어 있습니다. 세금 이연 계좌는 절세 목적의 매도 동기가 전혀 없으며, 인덱스 펀드는 달력상의 세무 포지션이 아닌 정해진 규칙에 따라 매매합니다.
이러한 현상은 1월에만 국한되지 않습니다. 5월에 팔고 떠나라(Sell in May and go away) 역시 같은 메커니즘으로 작동합니다. 즉, 역사적으로 두드러진 분기점이 있고, 그 후에 이야기가 덧붙여진 것입니다. 저변동성 이상 현상(The low volatility anomaly)은 흥미로운 대조를 이룹니다. 이는 계절성 주장에서는 거의 찾아볼 수 없는, 발표 이후의 긴 기록을 보유하고 있기 때문입니다.
12개월은 너무 많은 테스트를 의미한다
대부분의 계절성 논쟁을 종결짓는 산술적 근거는 다음과 같습니다. 한 증권사의 교육 페이지는 지난 20년 동안 7월이 상승 마감한 경우가 약 80퍼센트라고 보고합니다. 20번의 관측 중 16번이 상승했다는 뜻입니다.
잠시 각 달을 공정한 동전 던지기라고 가정해 보겠습니다. 20번의 던지기에서 16번 이상 앞면이 나올 확률은 약 0.6퍼센트로, 매우 드문 경우입니다. 이제 이 테스트를 12개월 전체에 적용해 보면, 최소 한 달 이상 이 기준을 통과할 확률은 약 7퍼센트로 올라갑니다. 계절성 관련 페이지는 대개 월별 평균 수익률, 중앙값, 적중률, 최고 및 최악의 해 등 여러 통계를 보고하므로 테스트 횟수는 수십 번으로 늘어납니다. 그 시점에서 7월과 같은 수치는 그리드 어딘가에서 발견될 것으로 예상되는 결과일 뿐입니다. 또한 주식 시장의 월별 수익률은 공정한 동전 던지기가 아닙니다. 장기 표본에서 상승 편향을 보이기 때문에, 계절성 이야기가 나오기도 전에 모든 달의 적중률이 이미 높아져 있습니다.
1월 효과 역시 같은 방식으로 발견되었습니다. 12개월을 모두 조사한 뒤 승자를 지목한 것입니다. 검색은 수많은 테스트 중 최댓값을 보고합니다. 이는 사전에 선택된 단일 테스트의 유의성과는 다른 개념입니다. 이 모든 것의 바탕이 되는 표본은 작습니다. 일일 거래 데이터상 각 1월은 대략 20번의 거래일만을 포함합니다.
모든 수치 뒤에 숨겨진 정확한 SQL
SELECT
toString(toYear(date)) AS year,
count() AS january_sessions
FROM global_markets.stocks_daily_aggs
WHERE ticker = 'SPY'
AND toMonth(date) = 1
GROUP BY year
ORDER BY year이곳의 기록은 2004년부터 2026년까지 총 23번의 1월을 다루며, 가장 최근의 1월은 20번의 거래일로 구성되었습니다. '1월은 X를 한다'는 식의 모든 현대적 진술에 대한 전체 표본은 20여 개의 관측치뿐입니다. 그 정도 크기의 표본은 매우 다양한 실제 값과 일치할 수 있으며, 계절성 주장에 부여되는 신뢰도는 대개 표본의 한계를 훨씬 뛰어넘는 경향이 있습니다.
사후 선택 편향과 생존자 편향, 두 형제
다중 테스트 외에도 두 가지 추가적인 오류 모드가 존재하며, 둘 다 백테스트에서 계절성 효과를 과장되게 만듭니다.
백테스트에서의 사후 선택 편향(Look-ahead bias)은 테스트 당시에는 알 수 없었던 정보를 사용하는 것입니다. 오늘 작성되어 1985년에 적용된 1월 규칙은 이미 어떤 달이 승리했는지 알고 있습니다.
주식 데이터의 생존자 편향(Survivorship bias)은 이 특정 이상 현상에 대해 더 조용한 문제입니다. 오늘 거래되는 종목들로 소형주 유니버스를 구성하면 상장 폐지되거나 인수된 모든 기업은 이미 제외됩니다. 이러한 기업들은 절세 매도 이야기의 대상인 '많이 하락한 소형주'에 해당할 가능성이 높으므로, 테스트는 연구 대상 그룹의 생존자들만을 대상으로 수행됩니다. 유니버스는 고정된 목록이 아닙니다.
모든 수치 뒤에 숨겨진 정확한 SQL
SELECT
toString(toYear(date)) AS year,
uniqExact(ticker) AS listings_on_tape
FROM global_markets.stocks_daily_aggs
WHERE date >= '2006-01-01'
AND date < '2026-01-01'
GROUP BY year
ORDER BY year2006년에는 9450개의 서로 다른 종목이 최소 한 번 이상 거래되었습니다. 2025년에는 20년의 데이터에 걸쳐 그 수가 13423개였습니다. 상장과 상장 폐지가 반복되면서 유니버스 구성원은 계속 변하며, 오늘날의 데이터에서 추출한 유니버스에는 이미 사라진 종목들이 포함되지 않습니다. 티커 심볼이 재사용되는 것 또한 그 자체로 함정입니다. 티커 심볼이 데이터셋을 망가뜨리는 이유를 참조하십시오.
모든 계절성 주장에 던져야 할 네 가지 질문
- 표본 기간은 언제이며, 해당 기간 밖에서도 패턴이 나타나는가? 1904년부터 1974년까지의 데이터가 있어야만 나타나는 분기점은 지난 20년 동안 측정된 것과는 다른 주장입니다.
- 어떤 지수를 사용했으며 가중치는 어떻게 산정되었는가? 동일한 종목군이라도 시가총액 가중 방식과 동일 가중 방식은 소형주 계절성에 대해 매우 다른 결과를 보일 수 있습니다.
- 규칙이 데이터를 검색하기 전에 고정되었는가, 아니면 데이터를 살펴본 후 발견되었는가? 두 경로 모두 동일한 적중률을 만들어낼 수 있지만, 그 증거력은 매우 다릅니다.
- 비용을 고려했는가? 거래량이 적은 종목에서의 스프레드와 시장 영향력, 그리고 다른 모든 투자자들도 같은 페이지를 읽었다는 사실을 고려해야 합니다.
이 네 가지 질문에 모두 답하는 계절성 주장이라면 자세히 읽어볼 가치가 있습니다. 대부분의 주장은 그중 아무것도 답하지 못합니다.
패널 구성 방식
- SPY는 연말연시 패널에서 광범위한 시장을 대변합니다. SPY의 거래량은 특정 기업에 대한 뉴스가 아니라 지수 전체에 대한 참여도로 해석되기 때문입니다.
- 해당 패널은 2011년부터 현재까지 12월 21일부터 1월 10일까지의 거래일을 다룹니다. 12월 25일과 1월 1일은 시장이 휴장하므로 포함되지 않습니다.
- 유니버스 패널은 특정 연도에 최소 한 번 이상 거래된 고유 심볼을 집계합니다. 이는 기업이 아닌 심볼을 기준으로 합니다.
FAQ
주식 시장에서 1월 효과란 무엇인가?
주식 가격, 특히 소형주가 일반적인 달보다 1월 첫 몇 주 동안 더 많이 상승한다는 주장입니다. 이를 뒷받침하는 1976년 연구는 1904년부터 1974년까지의 NYSE 동일 가중 지수를 측정했으며, 1월 평균 수익률이 다른 달 평균의 약 5배에 달한다고 보고했습니다.
1월 효과는 여전히 유효한가?
1976년 발표 이후 측정된 수치는 원래보다 훨씬 작으며, 투자자들이 더 일찍 움직임에 따라 계절성 효과의 일부가 12월로 이동했습니다. 현재의 모든 주장은 자체적인 표본 기간과 지수 구성 방식을 사전에 명시해야 합니다. 이 페이지는 교육용이며 거래를 위한 규칙을 제시하지 않습니다.
왜 1월 효과는 소형주에서 가장 강하게 나타났는가?
두 메커니즘 모두 소형주를 가리킵니다. 절세 목적의 매도는 이미 연간 손실이 발생한 종목에 집중되는데, 이는 소형주에 치우쳐 있습니다. 또한 일정 규모의 매수세는 대형주보다 거래량이 적은 소형주의 가격을 훨씬 더 크게 움직입니다. 동일 가중 지수는 이러한 소형주에 완전한 투표권을 부여하는 반면, 시가총액 가중 지수는 거의 반영하지 않습니다.
1월 효과는 '5월에 팔고 떠나라'와 같은 것인가?
둘 다 같은 장르의 다른 시기일 뿐입니다. 역사적 데이터에서 발견된 달력상의 분기점이며, 그 후에 이야기가 덧붙여진 것입니다. 두 현상 모두 의미를 가지려면 테스트 이후가 아닌 사전에 선택된 표본 기간을 바탕으로 한 동일한 증거가 필요합니다.
이곳의 모든 패널은 이를 생성한 SQL을 포함하고 있으므로, 위의 모든 기간은 다른 티커나 더 긴 기간으로 재설정할 수 있습니다. 직접 선택한 표본으로 계절성 주장을 테스트하려면, Strasmore 터미널에서 평이한 영어로 질문하십시오.