모멘텀(Momentum)은 과거 수익률이 높았던 자산이 단기적으로 계속 좋은 성과를 내고, 낮았던 자산이 계속 저조한 성과를 보이는 현상입니다. 1993년 Jegadeesh와 Titman의 획기적인 연구 이후 수십 년간 학술적 검증을 거쳐 가장 견고한 시장 이상 현상 중 하나로 인정받고 있습니다.
모멘텀의 두 가지 유형
크로스섹션 모멘텀은 같은 시점에 여러 종목 간 상대적 성과를 비교하여 상위 종목을 매수하고 하위 종목을 매도하는 전략입니다. 타임시리즈 모멘텀은 개별 자산의 과거 자체 수익률이 양수면 매수, 음수면 매도하는 절대적 기준의 전략입니다.
학술 연구에서 입증된 모멘텀 효과
| 연구 | 시장 | 기간 | 전략 | 연간 초과수익률 |
|---|---|---|---|---|
| Jegadeesh & Titman (1993) | 미국 | 1965~1989 | 6개월 크로스섹션 | +12.0% |
| Rouwenhorst (1998) | 유럽 12개국 | 1980~1995 | 6개월 크로스섹션 | +10.5% |
| Griffin et al. (2003) | 글로벌 40개국 | 1926~2000 | 6개월 크로스섹션 | +7.0% |
| Moskowitz et al. (2012) | 58개 자산군 | 1985~2009 | 12개월 타임시리즈 | +11.2% |
| 한국 관련 연구 | 한국 | 1990~2020 | 6개월 크로스섹션 | +6~9% |
파이썬을 활용한 모멘텀 전략 백테스트
import numpy as np
import pandas as pd
def momentum_backtest(
returns_df, formation_period=6, holding_period=6,
n_groups=5, commission=0.003
):
"""
크로스섹션 모멘텀 전략 백테스트
returns_df: 종목별 월간 수익률 DataFrame
"""
n_months = len(returns_df)
n_stocks = returns_df.shape[1]
winner_returns = []
loser_returns = []
spread_returns = []
for t in range(formation_period, n_months - holding_period):
# 형성기 수익률 계산
form_returns = (1 + returns_df.iloc[t-formation_period:t]).prod() - 1
# 종목을 수익률 기준으로 그룹 분할
ranked = form_returns.rank(ascending=True)
group_size = n_stocks // n_groups
# 승자군 (상위 20%)과 패자군 (하위 20%)
winners = ranked >= n_stocks - group_size
losers = ranked <= group_size
# 보유기간 수익률
hold_returns = (1 + returns_df.iloc[t:t+holding_period]).prod() - 1
winner_avg = hold_returns.loc[:, winners].mean().mean()
loser_avg = hold_returns.loc[:, losers].mean().mean()
# 거래비용 차감 (왕복)
net_spread = (winner_avg - loser_avg) - 2 * commission
winner_returns.append(winner_avg)
loser_returns.append(loser_avg)
spread_returns.append(net_spread)
print(f"=== {formation_period}M/{holding_period}M 모멘텀 전략 ===")
print(f"승자군 평균: {np.mean(winner_returns):.2%}")
print(f"패자군 평균: {np.mean(loser_returns):.2%}")
print(f"스프레드(비용전): {np.mean(spread_returns)+2*commission:.2%}")
print(f"스프레드(비용후): {np.mean(spread_returns):.2%}")
print("크로스섹션 모멘텀 분석 완료")
형성기간별 모멘텀 효과 비교
| 형성/보유 기간 | 스프레드(비용전) | 스프레드(비용후) | 승률 | 최대낙폭 |
|---|---|---|---|---|
| 3M/3M | +5.8% | +3.2% | 58% | -18% |
| 6M/6M | +8.5% | +5.8% | 62% | -22% |
| 12M/12M | +10.2% | +7.1% | 65% | -25% |
| 6M/1M (월별 리밸) | +9.0% | +4.5% | 55% | -30% |
핵심 정리
- 모멘텀은 30년 이상의 학술 연구에서 검증된 가장 견고한 시장 이상 현상 중 하나입니다
- 크로스섹션 모멘텀과 타임시리즈 모멘텀은 서로 다른 메커니즘이지만 모두 통계적으로 유의미합니다
- 한국 시장에서도 3~12개월 형성기간의 모멘텀 효과가 관찰되지만 거래비용 후 수익률은 낮아집니다
- 모멘텀은 행동재후학적 편향과 기관 자금 흐름 등 복합적 요인으로 설명됩니다
- 모멘텀 크래시 위험이 존재하므로 밸류 전략이나 방어 전략과 결합하는 것이 권장됩니다
- 6~12개월 형성기간이 가장 널리 연구되었으며, 단기(1개월)에서는 반전 효과가 나타날 수 있습니다
- 모멘텀 전략은 거래가 빈번하여 거래비용과 세금의 영향이 크므로 실제 적용 시 신중한 비용 분석이 필요합니다
면책 조항
본 글은 투자 교육 목적으로 작성되었으며, 특정 종목이나 투자 전략을 추천하는 것이 아닙니다. 모멘텀은 통계적 경향일 뿐 특정 시점의 수익률을 보장하지 않습니다. 과거 연구 결과가 미래에도 동일하게 나타난다는 보장은 없으며, 모든 투자에는 원금 손실의 위험이 따릅니다. 투자 시에는 전문가의 조언을 구하고 신중하게 결정하시기 바랍니다.