6 분 분량

자산 배분 글에서 주식과 채권의 36개월 이동 상관계수를 그려 봤습니다. 70여 년 전체로는 0.05로 거의 0이었지만, 1970~1990년대에는 플러스였고 2000년 이후에는 마이너스였습니다. 그러다 2022년에 주식과 채권이 다시 함께 빠졌습니다. 그 글에서는 상관계수가 시기에 따라 움직인다는 것까지만 확인했습니다.

왜 움직이는지에 대해 가장 자주 나오는 설명은 물가입니다. 물가가 오르면 금리가 오르고, 금리가 오르면 채권 가격이 떨어지고 주식의 할인율도 올라가서 둘이 함께 빠진다는 이야기입니다. 그렇다면 물가가 높던 달과 낮던 달을 따로 모아 상관계수를 구하면 차이가 보여야 합니다. 같은 데이터로 확인해 봤습니다.

데이터와 나누는 기준

Robert Shiller 교수의 미국 월별 데이터를 CSV로 정리한 공개 사본(자산 배분 글과 같은 파일)을 씁니다. 소비자물가지수도 들어 있습니다.

  • 기간: 1953년 2월~2023년 6월, 845개월. 자산 배분 글은 1950년부터 계산했지만, 이 사본의 1953년 이전 금리는 연간 값 사이를 직선으로 채운 값이라 월별 채권 수익률로 쓰기 어렵습니다. 배당 열이 2023년 6월에서 끝나서 거기까지 씁니다.
  • 주식: S&P500 지수의 가격 변화에 배당을 더한 월 수익률.
  • 채권: 지난달 금리로 발행한 10년 만기 국채를 이번 달 금리로 다시 평가한 가격 변화에 한 달치 이자를 더한 근사치. 자산 배분 글과 같은 계산입니다.
  • 물가 구간: 각 달을 직전 달까지의 12개월 소비자물가 상승률로 2% 미만, 2~3%, 3~5%, 5% 이상의 네 구간에 넣습니다. 그 달 수익률과 거의 겹치지 않는 과거 값입니다.
import numpy as np
import pandas as pd

url = 'https://raw.githubusercontent.com/datasets/s-and-p-500/main/data/data.csv'
df = pd.read_csv(url, parse_dates=['Date'], index_col='Date').loc[:'2023-06']
cpi = df['Consumer Price Index']
d = df.loc['1953-01':]                                   # 1953년 이전 금리는 연간 값을 이은 것

stock = (d['SP500'] + d['Dividend'] / 12) / d['SP500'].shift(1) - 1
y = d['Long Interest Rate'] / 100
c = y.shift(1)                                           # 지난달 금리로 발행한 10년 만기 채권
bond = c * (1 - (1 + y) ** -10) / y + (1 + y) ** -10 - 1 + c / 12
infl = cpi.pct_change(12).shift(1)                       # 직전 달까지 12개월 물가 상승률

r = pd.DataFrame({'stock': stock, 'bond': bond, 'infl': infl}).dropna()
r['regime'] = pd.cut(r['infl'], [-1, 0.02, 0.03, 0.05, 1], right=False,
                     labels=['2% 미만', '2~3%', '3~5%', '5% 이상'])
for name, g in r.groupby('regime', observed=True):
    bad = g[g['stock'] <= -0.03]                         # 주식이 한 달 3% 이상 빠진 달
    print(f"{name}: {len(g)}개월, 상관 {g['stock'].corr(g['bond']):+.2f}, "
          f"그달 채권 평균 {bad['bond'].mean():+.2%} ({len(bad)}번)")

물가 구간별 상관계수

직전 12개월 물가 상승률 개월 상관계수 주식 -3% 이하인 달 그달 채권 평균 그달 채권이 오른 비율
2% 미만 277 -0.22 23 +0.82% 74%
2~3% 174 -0.08 17 +1.18% 71%
3~5% 220 +0.07 23 +1.13% 74%
5% 이상 174 +0.33 29 -0.90% 28%

물가 구간별 주식·채권 상관계수

물가 구간이 높아질수록 상관계수도 -0.22, -0.08, +0.07, +0.33으로 차례로 커졌습니다. 다만 가운데 두 구간은 0과 구별하기 어렵고, 분명한 차이는 양 끝 구간 사이에 있습니다. 물가가 2% 미만이던 달에는 주식과 채권이 반대 방향으로 움직이는 경향이 있었고, 5% 이상이던 달에는 같은 방향으로 움직이는 경향이 있었습니다.

자산 배분에서 더 중요한 숫자는 오른쪽 세 열입니다. 채권을 섞는 이유는 주식이 크게 빠지는 달에 버팀목이 되어 주기를 바라서입니다. 물가가 5% 미만이던 세 구간에서는 주식이 3% 이상 빠진 달에 채권이 평균 0.8~1.2% 올랐고, 열 번 중 일곱 번 이상 플러스였습니다. 물가가 5% 이상이던 구간에서는 같은 달에 채권이 평균 0.90% 빠졌고, 오른 경우는 29번 중 8번뿐이었습니다. 물가가 높을 때는 채권이 방패 역할을 거의 하지 못했습니다.

두 시대의 차이일 뿐일까

이 표를 볼 때 걱정되는 것이 하나 있습니다. 물가가 5% 이상이던 달은 174개월 가운데 131개월이 1970~1980년대에 몰려 있습니다. 그렇다면 위의 결과는 “물가”가 아니라 “1970~1980년대가 달랐다”는 것을 다른 말로 한 것일 수도 있습니다. 2% 미만이던 달은 1950~1960년대와 2000년대 이후에 나뉘어 있어서, 기간을 반으로 나눠도 양쪽 모두에 낮은 물가 구간이 충분히 남습니다. 그래서 1953~1989년과 1990~2023년으로 나눠 각각 다시 계산했습니다.

직전 12개월 물가 상승률 1953~1989 상관 (개월) 1990~2023 상관 (개월)
2% 미만 -0.10 (140) -0.28 (137)
2~3% +0.11 (39) -0.12 (135)
3~5% +0.21 (124) -0.10 (96)
5% 이상 +0.31 (140) +0.40 (34)

두 기간 모두 물가가 가장 낮은 구간에서 상관계수가 가장 낮고, 5% 이상 구간에서 가장 높습니다. 주식이 3% 이상 빠진 달의 채권 평균도 5% 이상 구간에서는 두 기간 모두 마이너스였습니다(1953~1989년 22번 평균 -0.81%, 1990년 이후 7번 평균 -1.19%). 다만 물가가 5% 미만인 구간에서 채권이 받쳐 준 정도는 두 기간이 크게 달랐습니다. 같은 달의 채권 평균이 1953~1989년에는 +0.1~0.4%에 그쳤고, 1990년 이후에는 +1.4~1.9%였습니다. 앞의 표에서 본 0.8~1.2%는 대부분 1990년 이후의 몫입니다. 물가를 직전 12개월이 아니라 직전 36개월 연평균으로 바꿔도 -0.28, -0.15, +0.26, +0.30으로 같은 순서였습니다.

두 기간의 수준 차이도 큽니다. 1990년 이후에는 물가가 3~5%여도 상관계수가 -0.10으로 마이너스였는데, 1953~1989년에는 같은 구간이 +0.21이었습니다. 또 1990년 이후의 5% 이상 구간은 34개월뿐이고 그중 21개월이 2021~2023년이라, 그 +0.40은 크게 믿기 어렵습니다.

물가만으로는 설명되지 않는 부분

시기별로 보면 물가 상승률과 상관계수가 어긋나는 때도 있습니다.

시기 상관계수 평균 물가 상승률
1953~1965 -0.18 1.3%
1966~1981 +0.22 6.9%
1982~1999 +0.32 3.4%
2000~2020 -0.33 2.1%
2021~2023년 6월 +0.43 6.1%

1982~1999년은 물가가 평균 3.4%로 내려왔는데도 상관계수가 +0.32로, 물가가 6.9%였던 1966~1981년(+0.22)보다도 높았습니다. 물가 상승률의 높낮이만으로는 설명되지 않는 부분입니다. 물가 자체보다 “앞으로 물가가 다시 문제가 될까”라는 불확실성이 더 직접적인 원인이고 지난 12개월 상승률은 그것을 거칠게 대신하는 숫자일 수 있지만, 이 데이터로 직접 확인한 것은 아닙니다.

학계에서도 물가 상승률의 높낮이보다 물가와 경기의 관계에서 설명을 찾습니다. Campbell, Sunderam, Viceira(2017)는 미국 국채가 1980년대 초에는 물가 위험을 떠안아 주식과 같은 방향으로 움직이는 자산이었다가, 2000년대에는 경기 침체와 디플레이션에 대비하는 보험처럼 주식과 반대로 움직이는 자산으로 성격이 바뀌었다고 봤습니다. 그 원인으로는 물가와 실물 경기가 함께 움직이는 방향이 바뀐 점을 꼽습니다. Brixton 외(2023)는 경기와 물가 가운데 어느 쪽의 변동이 더 큰지, 그리고 둘이 같은 방향으로 움직이는지로 장기적인 상관계수 변화를 설명합니다. 경기 충격은 주가와 금리를 함께 낮춰 채권을 올리지만, 물가 충격은 금리를 통해 주식과 채권을 같은 방향으로 움직이기 때문입니다. 이 글처럼 물가 상승률의 높낮이로 나누는 것은 그런 위험을 거칠게 대신하는 방법인 셈입니다.

자산 배분에 주는 의미

상관관계 글의 식대로, 60/40의 변동성은 상관계수에 따라 크게 달라집니다. 그리고 그 상관계수는 고정된 값이 아니라 물가 환경에 따라 달라졌습니다. 리스크 패리티 글에서 과거 36개월의 낮은 상관을 보고 채권을 많이 담은 포트폴리오가 레버리지를 쓰자, 빌린 돈의 이자를 0으로 쳐도 2022년에 20.4%를 잃은 것도 같은 이유입니다. 과거의 낮은 상관을 믿고 채권을 크게 담고 있던 해에 상관이 뒤집혔습니다. 이 데이터에서 2022년 한 해는 주식 -15.0%, 채권 -14.9%였습니다.

자산 배분 글의 결론, 즉 길게 보면 섞는 편이 나았다는 것은 그대로입니다. 다만 “주식이 빠지면 채권이 받쳐 준다”는 말에는 조건이 붙습니다. 물가가 낮을 때는 대체로 맞았고(특히 1990년 이후), 물가가 높을 때는 맞지 않았습니다. 백테스트에서 얻은 상관계수 하나를 앞으로도 그대로 쓸 수 있는 상수처럼 다루면 안 되는 이유입니다.

한계

  • 월평균 가격: Shiller 데이터의 주가와 금리는 월말 값이 아니라 한 달 평균입니다. 그래서 월 수익률이 실제보다 매끄럽고, 2022년 주식 -15.0%도 연말 기준 수익률과 다릅니다.
  • 채권은 근사치: 실제 국채 지수가 아니라 10년물 금리로 계산한 모형 수익률입니다.
  • 구간 경계는 제가 정한 것: 2%, 3%, 5%는 흔히 쓰는 기준을 골랐을 뿐입니다. 경계를 2·4·6%로 바꾸면 -0.22, -0.04, +0.36, +0.23, 다섯 등분하면 -0.20, -0.27, +0.17, +0.10, +0.30으로 가운데 구간끼리는 순서가 뒤바뀌기도 했습니다. 가장 낮은 구간은 마이너스, 가장 높은 구간은 플러스라는 점만 같았습니다. 그래서 “물가가 높을수록 상관계수가 꾸준히 커진다”기보다 “물가가 낮을 때는 마이너스, 높을 때는 플러스” 정도로 읽는 편이 맞습니다.
  • 물가 발표 시차: 소비자물가는 다음 달 중순에 발표되고 Shiller 데이터는 월평균이라, 직전 달 물가가 그 달 수익률과 완전히 떨어져 있지는 않습니다. 두 달 전까지의 12개월 상승률로 바꿔도 -0.22, -0.11, +0.09, +0.32로 거의 같았습니다.
  • 작은 표본: 주식이 3% 이상 빠진 달은 구간마다 17~29번이라, 그 달의 채권 평균은 몇 달의 결과에 크게 흔들립니다.
  • 미국, 그리고 2023년 6월까지: 한국 주식과 국채에서도 같을지는 따로 확인해야 하고, 그 뒤 기간은 이 데이터에 없습니다.

전체 코드는 stock_bond_inflation.py에 있습니다. 위 표 말고도 구간별 변동성, 36개월 기준 구간, 경계와 시차를 바꾼 결과, 시기별 상관계수를 함께 출력합니다.

참고 자료

  • Campbell, J. Y., Sunderam, A., & Viceira, L. M. (2017). Inflation Bets or Deflation Hedges? The Changing Risks of Nominal Bonds. Critical Finance Review, 6.
  • Brixton, A., Brooks, J., Hecht, P., Ilmanen, A., Maloney, T., & McQuinn, N. (2023). A Changing Stock–Bond Correlation: Drivers and Implications. Journal of Portfolio Management, 49(4).

이 글은 학습과 정보 공유 목적으로 작성되었으며, 특정 종목이나 상품에 대한 투자 권유가 아닙니다. 과거 데이터로 계산한 결과는 미래 성과를 보장하지 않습니다. 투자의 판단과 책임은 투자자 본인에게 있습니다.

최종 수정: