글로벌 경기침체 시그널 완벽 분석: 불황 대비 자산배분 전략
경기침체는 예측하기 어렵지만, 명확한 선행 지표들이 존재합니다. 주요 경기침체 신호를 분석하고, 불황기에 자산을 지키고 오히려 수익을 낼 수 있는 전략을 알아보겠습니다.
1. 경기침체 정의와 역사
1.1 경기침체(Recession)란?
기술적 정의
```
미국 기준 (NBER):
- 경제활동의 광범위한 감소
- 수개월 이상 지속
- GDP, 고용, 소득, 생산, 소매판매 등 하락
일반적 기준:
- 2분기 연속 GDP 마이너스 성장
- 실업률 급증
- 기업 이익 감소
```
한국 기준
```
경기침체: 잠재성장률(2-3%) 대비 현저히 낮은 성장
- GDP 성장률 1% 미만
- 실업률 4% 이상
- 제조업 가동률 70% 미만
경기불황: GDP 마이너스 성장 (매우 드뭄)
```
1.2 과거 주요 경기침체
```python
import pandas as pd
recessions = pd.DataFrame({
'시기': [
'1973-1975', '1980-1982', '1990-1991', '2000-2001',
'2007-2009', '2020', '2022-?'
],
'명칭': [
'1차 오일쇼크', '볼커 쇼크', '1차 걸프전', '닷컴 버블',
'글로벌 금융위기', '코로나 팬데믹', '인플레 대응 긴축'
],
'GDP_하락': [
'-0.5%', '-2.7%', '-1.4%', '-0.3%',
'-4.3%', '-3.4%', '?'
],
'지속기간': [
'16개월', '16개월', '8개월', '8개월',
'18개월', '2개월', '진행중?'
],
'실업률_최고': [
'9.0%', '10.8%', '7.8%', '6.3%',
'10.0%', '14.8%', '3.7%'
],
'S&P500_하락': [
'-48%', '-27%', '-20%', '-49%',
'-57%', '-34%', '-25%'
]
})
print(recessions)
```
교훈
```
- 평균 지속기간: 10-17개월
- GDP 평균 하락: -2% ~ -4%
- 주식 평균 하락: -30% ~ -50%
- 회복 소요 시간: 1-3년
- 침체 원인 다양: 금리, 전쟁, 버블, 팬데믹 등
```
2. 경기침체 조기 경보 지표
2.1 수익률 곡선 역전 (Yield Curve Inversion)
가장 신뢰도 높은 지표
```python
import numpy as np
import matplotlib.pyplot as plt
수익률 곡선 예시
def plot_yield_curve(rates_normal, rates_inverted):
"""
정상 vs 역전 수익률 곡선
"""
maturities = ['3M', '2Y', '5Y', '10Y', '30Y']
plt.figure(figsize=(10, 6))
plt.plot(maturities, rates_normal, marker='o', label='정상 곡선', linewidth=2)
plt.plot(maturities, rates_inverted, marker='s', label='역전 곡선', linewidth=2)
plt.xlabel('만기')
plt.ylabel('수익률 (%)')
plt.title('수익률 곡선: 정상 vs 역전')
plt.legend()
plt.grid(True)
plt.show()
정상 곡선: 만기 길수록 수익률 높음
rates_normal = [4.5, 4.2, 4.0, 3.9, 4.1]
역전 곡선: 단기 금리가 장기 금리보다 높음 (위험 신호!)
rates_inverted = [5.2, 5.0, 4.3, 4.0, 4.2]
plot_yield_curve(rates_normal, rates_inverted)
```
10년물 - 2년물 스프레드 (핵심 지표)
```
정상: 10년물 > 2년물 (양수 스프레드)
예: 10년 4.5%, 2년 4.0% → +0.5%p
역전: 10년물 < 2년물 (음수 스프레드) ⚠️
예: 10년 4.0%, 2년 4.8% → -0.8%p
역사적 신뢰도:
- 과거 50년간 역전 발생 → 6-18개월 후 침체 (100%)
- 2022년 7월 역전 → 2023년 침체 우려
- 단, 2024년 현재까지 침체 미발생 (이례적)
해석:
역전 = 시장이 미래 경기 둔화 예상
→ 중앙은행 금리 인하 예상
→ 장기 금리 하락
```
실전 활용
```
역전 발생 시 전략:
- 즉시 주식 전량 매도 ❌ (시차 6-18개월)
- 점진적 방어 자산 비중 확대 ✅
- 역전 후 6개월 시점부터 경계 강화
- 역전 해소(정상화) 시점이 오히려 위험
2022-2023년 사례:
2022년 7월: 역전 시작
2023년: 계속 역전 유지
→ 침체 아직 안 옴 (2024년 현재)
→ 하지만 경계는 계속 필요
```
2.2 경기선행지수 (LEI - Leading Economic Index)
구성 요소
```
미국 LEI (Conference Board):
- 주가 (S&P 500)
- 제조업 신규 주문
- 건축 허가
- 주간 실업수당 청구
- ISM 신규 주문
- 소비자 기대지수
- 수익률 곡선 스프레드
- 장단기 금리차
- 평균 주당 노동시간
- 신용 여건
총 10개 지표를 종합하여 선행지수 산출
```
해석 방법
```python
def analyze_LEI(current_LEI, LEI_3months_ago, LEI_6months_ago):
"""
경기선행지수 분석
"""
change_3m = ((current_LEI - LEI_3months_ago) / LEI_3months_ago) * 100
change_6m = ((current_LEI - LEI_6months_ago) / LEI_6months_ago) * 100
print(f"3개월 변화율: {change_3m:.2f}%")
print(f"6개월 변화율: {change_6m:.2f}%")
if change_6m < -3:
signal = "🔴 강력한 침체 신호"
strategy = "방어적 포지션 확대"
elif change_6m < -1:
signal = "🟡 침체 경고"
strategy = "리스크 자산 축소 시작"
elif change_6m < 0:
signal = "🟡 경기 둔화"
strategy = "주의 관찰"
elif change_6m < 2:
signal = "🟢 완만한 성장"
strategy = "정상 포트폴리오 유지"
else:
signal = "🟢 강한 성장"
strategy = "리스크 자산 확대"
return signal, strategy
2023년 예시
signal, strategy = analyze_LEI(103.5, 105.2, 107.8)
print(f"
신호: {signal}")
print(f"전략: {strategy}")
```
한국 경기선행지수 (통계청)
```
구성:
- 재고순환지표
- 건설수주액
- 수출입물가비율
- 종합주가지수
- 장단기금리차
해석:
100 기준 (기준년도 대비)
- 100 이상: 경기 확장
- 100 미만: 경기 수축
- 3개월 연속 하락: 경기 정점 신호
- 3개월 연속 상승: 경기 저점 신호
2024년 현재: 98.5 (경기 둔화)
```
2.3 실업률과 Sahm Rule
Sahm Rule (샴 법칙)
```
정의:
3개월 평균 실업률이
12개월 최저점 대비 0.5%p 이상 상승
→ 경기침체 시작
예시:
2023년 4월: 실업률 3.4% (12개월 최저)
2023년 10월: 3개월 평균 3.9%
→ 0.5%p 상승
→ Sahm Rule 발동 ⚠️
신뢰도:
- 과거 50년간 오류 없음
- 발동 시점 = 이미 침체 진입
- 선행 지표보다는 확인 지표
실전 활용:
Sahm Rule 발동 = 침체 확정
→ 즉시 방어 포트폴리오 전환
```
2.4 제조업 PMI (구매관리자지수)
```python
def analyze_PMI(current_PMI, trend_months):
"""
PMI 지수 분석
50 기준: 50 이상 확장, 50 미만 수축
"""
if current_PMI >= 55:
status = "🟢 강한 확장"
signal = "경기 호황"
elif current_PMI >= 50:
status = "🟢 약한 확장"
signal = "경기 성장 지속"
elif current_PMI >= 45:
status = "🟡 약한 수축"
signal = "경기 둔화 - 주의"
else:
status = "🔴 강한 수축"
signal = "경기침체 임박"
# 추세 확인
if trend_months >= 3 and current_PMI < 50:
signal += " - 3개월 연속 수축 (침체 강력 시사)"
return status, signal
2024년 예시
current = 48.5
trend = 4 # 4개월 연속 하락
status, signal = analyze_PMI(current, trend)
print(f"PMI 상태: {status}")
print(f"신호: {signal}")
```
글로벌 PMI 모니터링
```
주요 국가 PMI:
- 미국 ISM 제조업
- 중국 Caixin PMI
- 유로존 PMI
- 한국 제조업 PMI
투자 활용:
✅ 미국 + 중국 + 유로존 모두 50 미만
→ 글로벌 침체 신호
→ 위험자산 비중 축소
✅ 한국만 50 미만, 글로벌은 50 이상
→ 한국 수출주 약세
→ 내수주, 해외 투자 고려
```
3. 추가 모니터링 지표
3.1 소비자 신뢰지수
```
미시간대 소비자신뢰지수:
- 70 이하: 소비 위축, 침체 우려
- 70-85: 보통
- 85 이상: 소비 활발, 경기 양호
현재 기대 vs 미래 기대:
- 현재 > 미래: 경기 둔화 예상
- 현재 < 미래: 경기 개선 예상
한국 소비자심리지수 (CSI):
- 100 기준
- 100 이상: 낙관
- 100 미만: 비관
2024년: 95 (비관적)
```
3.2 신용 스프레드 (Credit Spread)
```python
회사채 스프레드 분석
def analyze_credit_spread(BBB_yield, treasury_10y_yield):
"""
BBB 등급 회사채와 국채 수익률 차이
"""
spread = BBB_yield - treasury_10y_yield
if spread >= 3.0:
return "🔴 매우 높음 - 신용 경색, 침체 임박"
elif spread >= 2.0:
return "🟡 높음 - 경기 둔화"
elif spread >= 1.5:
return "🟢 보통 - 정상"
else:
return "🟢 낮음 - 경기 양호, 신용 건전"
2024년 예시
BBB = 6.2
treasury = 4.3
result = analyze_credit_spread(BBB, treasury)
print(f"신용 스프레드: {BBB - treasury:.1f}%p")
print(f"해석: {result}")
```
하이일드 스프레드
```
정크본드와 국채 수익률 차이
정상: 3-5%p
경계: 5-7%p
위험: 7%p 이상
2008년 금융위기: 20%p (역대 최고)
→ 신용시장 붕괴
투자 활용:
스프레드 확대 = 기업 부도 위험 증가
→ 주식 매도 신호
→ 안전자산 확보
```
3.3 부동산 지표
```
주택 판매 (미국):
- 기존주택 판매: 연 500만채 이하 → 침체 신호
- 신규주택 판매: 연 60만채 이하 → 침체 신호
주택 가격:
- Case-Shiller 지수 전년비 -5% 이상 → 침체 우려
한국:
- 아파트 거래량: 월 3천건 미만 (서울) → 경기 둔화
- 미분양: 7만호 이상 → 건설경기 위축
부동산 침체 선행:
주택 시장 약세 → 6-12개월 후 전체 경기 침체
```
4. 종합 침체 스코어카드
4.1 경기침체 확률 계산
```python
def calculate_recession_probability(indicators):
"""
각 지표에 가중치를 부여하여 침체 확률 계산
"""
score = 0
max_score = 100
# 수익률 곡선 역전 (25점)
if indicators['yield_curve_10y2y'] < -0.5:
score += 25
elif indicators['yield_curve_10y2y'] < 0:
score += 15
# LEI 6개월 변화 (20점)
if indicators['LEI_6m_change'] < -3:
score += 20
elif indicators['LEI_6m_change'] < -1:
score += 12
# 실업률 변화 (Sahm Rule) (20점)
if indicators['unemployment_change'] >= 0.5:
score += 20
elif indicators['unemployment_change'] >= 0.3:
score += 10
# PMI (15점)
if indicators['PMI'] < 45:
score += 15
elif indicators['PMI'] < 50:
score += 10
elif indicators['PMI'] < 52:
score += 5
# 소비자신뢰지수 (10점)
if indicators['consumer_confidence'] < 70:
score += 10
elif indicators['consumer_confidence'] < 80:
score += 5
# 신용 스프레드 (10점)
if indicators['credit_spread'] >= 3.0:
score += 10
elif indicators['credit_spread'] >= 2.0:
score += 5
probability = (score / max_score) * 100
if probability >= 70:
assessment = "🔴 침체 거의 확실 (70% 이상)"
elif probability >= 50:
assessment = "🟠 침체 가능성 높음 (50-70%)"
elif probability >= 30:
assessment = "🟡 침체 주의 (30-50%)"
else:
assessment = "🟢 침체 가능성 낮음 (30% 미만)"
return score, probability, assessment
2024년 초 예시
indicators_2024 = {
'yield_curve_10y2y': -0.6, # 역전
'LEI_6m_change': -2.5, # 하락
'unemployment_change': 0.2, # 소폭 증가
'PMI': 48.5, # 수축
'consumer_confidence': 78, # 약세
'credit_spread': 1.9 # 정상-약간 높음
}
score, prob, assessment = calculate_recession_probability(indicators_2024)
print(f"
침체 스코어: {score}/100")
print(f"침체 확률: {prob:.1f}%")
print(f"평가: {assessment}")
```
5. 경기침체 대비 자산배분 전략
5.1 침체 확률별 포트폴리오
침체 확률 30% 미만 (정상)
```
현금/단기채: 10%
중장기 국채: 15%
투자등급 회사채: 10%
국내 주식: 35%
해외 주식: 20%
대체투자: 10%
특징: 공격적 성장 포트폴리오
기대수익: 연 8-12%
변동성: 높음
```
침체 확률 30-50% (주의)
```
현금/단기채: 15%
중장기 국채: 25%
투자등급 회사채: 15%
국내 주식: 25%
해외 주식: 10%
대체투자: 10%
변화:
- 주식 45% 축소
- 국채 10% 증가
- 현금 5% 증가
기대수익: 연 5-8%
변동성: 중간
```
침체 확률 50-70% (경계)
```
현금/단기채: 25%
중장기 국채: 35%
투자등급 회사채: 15%
국내 주식: 15%
해외 주식: 5%
금/원자재: 5%
변화:
- 주식 20%로 대폭 축소
- 국채 35%로 증가
- 현금 25% 확보
기대수익: 연 3-5%
변동성: 낮음
목표: 자본 보존
```
침체 확률 70% 이상 (확실)
```
현금/단기채: 40%
중장기 국채: 40%
투자등급 회사채: 5%
국내 주식: 5%
금: 10%
변화:
- 주식 거의 제로 (5%)
- 현금 40% (대기 자금)
- 국채 40% (안전자산)
- 금 10% (인플레 대비)
기대수익: 연 2-4%
변동성: 매우 낮음
목표: 자본 보존 + 저점 매수 준비
```
5.2 자산별 침체기 성과
```python
import pandas as pd
2008년 금융위기 자산별 수익률
recession_2008 = pd.DataFrame({
'자산': ['S&P 500', 'Nasdaq', '금', '미국 10년 국채', '회사채 BBB', '원자재', '현금', '리츠'],
'2008년_수익률': ['-37%', '-40%', '+5.8%', '+20.1%', '-8.3%', '-35%', '+1.5%', '-37%'],
'2009년_회복': ['+26%', '+44%', '+24%', '-11%', '+23%', '+18%', '0%', '+28%']
})
print(recession_2008)
```
교훈
```
침체기 승자:
- 미국 국채 (+20%) ⭐⭐⭐
- 금 (+5.8%)
- 현금 (+1.5%)
침체기 패자:
- 주식 (-37% ~ -40%)
- 원자재 (-35%)
- 리츠 (-37%)
회복기 승자:
- Nasdaq (+44%)
- 리츠 (+28%)
- S&P 500 (+26%)
시사점:
침체기 = 국채, 현금, 금
회복기 = 주식 (특히 기술주)
→ 타이밍 전환이 핵심!
```
5.3 섹터 로테이션
침체 초기
```
매도:
❌ 경기 민감주 (반도체, 자동차, 화학)
❌ 금융주 (은행, 증권)
❌ 소비재 (백화점, 여행)
매수:
✅ 필수소비재 (식품, 생활용품)
✅ 헬스케어 (제약, 의료기기)
✅ 유틸리티 (전력, 가스)
✅ 방어주 (통신)
```
침체 진행
```
보유:
✅ 필수소비재, 헬스케어
✅ 현금, 국채
회피:
❌ 모든 경기 민감 자산
```
침체 후반 (회복 초기)
```
매수 준비:
✅ 기술주 (침체 중 -50% 하락)
✅ 금융주 (금리 인하로 회복)
✅ 산업재 (경기 회복 수혜)
단계적 매도:
⚠️ 방어주 (상승 여력 제한)
⚠️ 국채 (금리 상승으로 가격 하락)
```
6. 실전 시나리오별 대응
시나리오 1: 연착륙 (Soft Landing)
```
상황:
- 인플레이션 잡힘
- 금리 인하 시작
- 경기 둔화 but 침체 회피
확률: 40% (2024년 현재 목표)
포트폴리오:
현금: 15%
국채: 20%
회사채: 15%
주식: 40% (방어주 → 성장주로 전환)
대체투자: 10%
전략:
✅ 경기 민감주 비중 확대
✅ 장기채 매수 (금리 하락 수혜)
✅ 리스크 자산 점진적 확대
```
시나리오 2: 경착륙 (Hard Landing)
```
상황:
- 금리 인상 부작용
- 실업률 급등
- 2008년형 침체
확률: 20%
포트폴리오:
현금: 40%
국채: 40%
금: 10%
주식: 5% (필수소비재만)
회사채: 5%
전략:
🔴 주식 대부분 매도
✅ 현금 확보 (저점 매수 대기)
✅ 장기 국채 매수
✅ 금 일부 보유
```
시나리오 3: 장기 저성장
```
상황:
- 침체는 아니지만 성장 정체
- 일본형 잃어버린 10년
확률: 30%
포트폴리오:
현금: 20%
국채: 25%
배당주: 30%
해외주식: 15%
금/원자재: 10%
전략:
✅ 배당주 중심 (현금흐름 확보)
✅ 해외 분산 (한국 저성장 회피)
✅ 인플레 대비 금 보유
```
시나리오 4: 스태그플레이션
```
상황:
- 저성장 + 고인플레
- 1970년대형
확률: 10%
포트폴리오:
현금: 10%
물가연동채(TIPS): 30%
금: 20%
원자재: 15%
배당주: 15%
부동산(리츠): 10%
전략:
✅ 인플레 보호 자산 집중
✅ 금, 원자재 비중 확대
✅ 물가연동채 필수
❌ 일반 국채 회피 (실질수익 마이너스)
```
7. 글로벌 vs 국내 침체
7.1 동조화 vs 디커플링
```python
한국 경기 vs 글로벌 경기
def analyze_decoupling(korea_PMI, global_PMI, korea_exports_change):
"""
한국 경기가 글로벌과 분리되는지 분석
"""
PMI_gap = korea_PMI - global_PMI
if abs(PMI_gap) < 3 and korea_exports_change < 0:
return "동조화 - 글로벌 침체 시 한국도 침체"
elif PMI_gap > 5:
return "디커플링 - 한국 경기 양호 (중국 내수, 반도체 호황 등)"
elif PMI_gap < -5:
return "역디커플링 - 한국만 침체 (수출 부진)"
else:
return "부분 동조화"
예시
korea = 48.0
global_avg = 51.5
exports = -8.5 # %
result = analyze_decoupling(korea, global_avg, exports)
print(f"한국 PMI: {korea}, 글로벌 PMI: {global_avg}")
print(f"수출 증감: {exports}%")
print(f"결론: {result}")
```
한국 투자자 전략
```
글로벌 침체 징후 시:
- 한국 수출주 먼저 매도
- 반도체 (삼성전자, SK하이닉스)
- 자동차 (현대차, 기아)
- 화학 (LG화학)
- 한국 내수주로 전환
- 필수소비재 (식품, 생활용품)
- 유틸리티 (한국전력 제외)
- 통신 (SK텔레콤, KT)
- 해외 자산 비중 확대
- 미국 국채
- 미국 방어주 ETF
- 금 (달러 자산)
- 원화 약세 대비
- 달러 자산 확대
- 환헤지 비용 고려
```
8. 실전 체크리스트
월간 모니터링 리스트
```
매월 첫째 주 확인:
[ ] 미국 10Y-2Y 수익률 곡선 (FRED 사이트)
[ ] LEI 최신 데이터 (Conference Board)
[ ] 미국 실업률 (첫째 금요일 발표)
[ ] 미국 ISM 제조업 PMI
[ ] 한국 제조업 PMI
[ ] 소비자신뢰지수
[ ] BBB 회사채 스프레드
침체 신호 3개 이상:
→ 포트폴리오 재조정 검토
침체 신호 5개 이상:
→ 즉시 방어 포트폴리오 전환
```
포트폴리오 리밸런싱 트리거
```python
def should_rebalance(recession_prob_before, recession_prob_now):
"""
리밸런싱 필요 여부 판단
"""
change = recession_prob_now - recession_prob_before
if change >= 20:
return "🔴 즉시 리밸런싱 필요 - 침체 확률 급등"
elif change >= 10:
return "🟡 리밸런싱 검토 - 2주 내 결정"
elif change <= -20:
return "🟢 공격적 전환 검토 - 침체 우려 완화"
else:
return "⚪ 현재 포트폴리오 유지"
예시: 침체 확률 30% → 55%
before = 30
now = 55
decision = should_rebalance(before, now)
print(f"침체 확률 변화: {before}% → {now}%")
print(f"결정: {decision}")
```
9. 결론 및 핵심 요약
경기침체 조기 경보 시스템
```
1단계 경고 (주의):
- 수익률 곡선 역전
- LEI 3개월 연속 하락
→ 6-12개월 후 침체 가능
2단계 경고 (경계):
- PMI 50 미만
- 소비자신뢰 급락
- 신용스프레드 확대
→ 3-6개월 후 침체 가능
3단계 경고 (확정):
- Sahm Rule 발동
- GDP 2분기 연속 마이너스
→ 침체 진행 중
대응:
1단계: 방어 자산 20% 확대
2단계: 방어 자산 40% 확대
3단계: 방어 자산 70% 확대
```
핵심 원칙
```
- 조기 경보 지표 정기 모니터링 (월 1회)
- 침체 확률 30% 넘으면 포트폴리오 조정 시작
- 완벽한 타이밍보다 방향성이 중요
- 침체는 기회 - 현금 확보가 핵심
- 회복 초기 진입이 최고 수익
- 글로벌 + 국내 지표 모두 확인
- 감정보다 데이터 우선
침체는 피할 수 없지만,
준비된 투자자에게는 기회입니다.
```