본문 바로가기
재테크/주식

미국 주식 백테스트 제대로 알기 (포트폴리오 비주얼라이저)

by Go! Jake 2022. 2. 21.

백테스트란?

백테스트는 포트폴리오나 주식을 과거 데이터에 대입하여 분석하는 것을 의미합니다. 백테스트를 통해 포트폴리오 전략을 세우고 리스크 대비를 하고, 수익률에 대한 목표를 세울 수 있습니다. 예상하지 못하는 부분을 백테스트를 통해 짚고, 보완해야 할 점을 명확히 알 수 있습니다. 포트폴리오 점검에 반드시 필요한 항목입니다.

 

백테스트 하는 법

대표적인 백테스트 사이트로 포트폴리오 비주얼라이저 (https://www.portfoliovisualizer.com)가 있습니다.

홈 화면

Backtest Asset Allocation:
전체적인 자산 분배하는 메뉴입니다. US Equity 미국 자본 항목, 국제 자본, 채권, 리츠(REIT), 금 등으로 큰 범주에서 자산 분배를 체크할 수 있습니다.

Bactest Portfolio:
구체적인 포트폴리오를 넣을 수 있습니다. 오늘 체크 해 볼 QQQ, SPY 등의 ETF와 개별주의 구체적인 티커를 넣어 확인할 수 있습니다.

오늘은 자산 배분에 대해 다룰 예정이므로 Backtest Asset Allocation으로 설명드리겠습니다.

백테스트설정

선택 카테고리 선택
Portfolio View 자산배분 선택 시 메뉴 타입. List View로 하면 된다.
Time Period 월별 테스트 또는 연별 테스트
Start Year 시작 연도
End Year 마지막 연도
Include YTD 올해 초부터 지금까지의 기간을 백테스트 기간에 포함할 것인지
Initial Amount 초기 투자금
Cashflows 현금 흐름 (매달 또는 매년 현금 투입 또는 인출)
Contribution Amount (Cashflows 선택 시) 매달 또는 매년 현금 투입시 투입 금액
/ 이 외 옵션으로 일정 금액 인출 또는 일정 % 인출 옵션이 있음
Inflation Adjusted (Cashflows 선택 시) 위에 매달 또는 매년 현금 투입 금액을 인플레이션에 따라 올리거나 내릴건지 여부. 예를 들어 인플레이션 %에 맞게끔 매월 투자금도 올려서 반영할 지 여부
Contribution Frequency (Cashflows 선택 시) 투입금을 어떤 주기로 넣을 것인지. 매달로 했습니다.
Rebalancing 리밸런싱 여부 및 주기.

예를 들어 SPY 70% TLT(채권) 30% 포트폴리오라면, 시간이 지나면서 비율이 달라질 텐데, 이 비율을 맞추기 위해 매년 리밸런싱 할 것인지 등.
Leverage Type 부채를 반영할 것인지. 이에 따라 이자 금액 등을 고려하여 산출할 수 있음. 예를 들어 현재 대출을 가지고 주식을 한다면, 대출을 설정 가능.
Benchmark 주요 지표로 비교할 지표를 선택합니다.
Spycify Ticker로 Vanguard 500 Index Inverstor를 선택했습니다.
Portfolio Name 표시되는 포트폴리오 이름을 설정할 수 있습니다.

 

 

포트폴리오 선택

- Asset Class에서 자산 유형을 선택합니다. REIT (부동산), US Stock Market (미국 주식) 등등으로 고를 수 있습니다. 고른 후 오른쪽 빈 칸에 비율을 입력합니다.

- Portfolio 옆 톱니바퀴에서 주로 사용되는 포트폴리오를 선택하면, 자동으로 Asset Class와 비율이 채워집니다. 저는 Ray Dalio의 All Seasons 포트폴리오를 선택했습니다. 미국 주식, 장기 채권, 중기 채권, 원자재, 금 모두 포트폴리오대로 입력된 것을 확인했습니다.

 

 

백테스트 결과 확인

포트폴리오 결과 탭

포트폴리오 분석 실행 시 결과 탭이 나오게 됩니다. 실제 시뮬레이션 기간은 2007년 1월 ~ 2022년 1월로 설정되었습니다.

- Portfolio Return: 포트폴리오 수익 분석

- Metrics: 측정 (지표 측정 값 등등)

- Annual Returns: 연 수익률

- Drawdowns: 하락

- Assets: 포트폴리오 자산 분석

- Rolling Returns: 수익률 (기간별로 나누어서 계산)

 

위 내용에서 다른 내용은 비교적 이해하기 쉽기 때문에 Portfolio Return, Drawdowns, Assets에 대해 다루도록 하겠습니다.

 

Portfolio Return 탭

포트폴리오 수익에 대해 분석을 제공하는 탭입니다.

포트폴리오 결과화면

- 2007년 1월 ~ 2022년 1월 투자 시 초기 투자금에서 최종 투자금을 Initial Balance와 Final Balance로 확인 가능합니다.

- CAGR은 연복리수익률입니다. S&P500 수익률(Vanguard 500 Index Investor)이 높긴 높네요.

- Stdev는 표준 편차로, 변동성으로 이해하시면 됩니다.

- Best Year, Worst Year은 수익률 최고의 해, 수익률 최악의 해입니다.

- Max. Drawdown은 전고점 대비 최대 하락한 수익률을 의미합니다.

- Sharpe Ratio, Sortino Ratio는 샤프 지수와 소티노 비율입니다. 둘 다 위험을 평가할 때 사용됩니다. 이 내용은 추후에 가능하면 따로 다루겠습니다.

 

이후 이어지는 Portfolio Growth, Annual Returns로 포트폴리오 추이를 시각적으로 볼 수 있습니다.

포트폴리오 성장추이
연수익률

Portfolio Return 탭의 마지막은 Trailing Returns입니다. 포트폴리오 시작 시점과 현재시점 또는 월말 시점으로 계산하여 단순히 시작가와 마지막 종가를 계산하여 연 평균 등으로 나눈 값입니다. 예를 들어, 3년 간 100에서 1000으로 지수가 올랐다면, 100*(1+x)^3 = 1000의 x값이 연 평균 수익률이 됩니다. 계산 해 보면 x=115%네요.

 

다만 Trailing Returns는 한 지점과 지점만의 차이를 가지고 연 평균을 구하기 때문에 그 사이 어떤 일이 있었는 지 전혀 알 수 없고 처음 값과 마지막 값이 변동성이 클 때의 값이라면 연 평균을 왜곡할 가능성이 굉장히 높습니다. 따라서 뒤에 나올 Rolling Returns를 통해 수익률을 체크해야 합니다.

Trailing Returns

 

Drawdowns 탭

다음은 포트폴리오의 최대 하락 분석입니다.

포트폴리오 최대 하락

Ray Dalio All Seasons는 2009년 2월 28일 전고점 대비 -14.75%, Vanguard 500 Index Investor는 -50.97%인 것을 확인할 수 있었습니다.

 

최대하락테이블

최대하락테이블은 각 이벤트마다 얼만큼 하락하였는 지 보여줍니다.

- Start, End: 하락 시작시점 (전고점부터)부터 최대하락지점까지 기간

- Length: 저점까지의 시간

- Recovered By: 회복 시점

- Recovery Time: 저점부터 전고점까지 회복에 걸린 시간

- Underwater Period: 전고점부터 저점을 지나 다시 전고점까지 걸린 시간

- Drawdown: 하락폭(퍼센테이지)

 

Drawdown 탭을 통해 포트폴리오가 과거에 어느 정도의 변동성을 보였는 지 알 수 있습니다. 반드시 확인 필요한 부분이며 투자 시에도 이 데이터를 바탕으로 변동폭을 이해할 수 있어야합니다.

 

 

Assets 탭

Assets 탭은 포트폴리오 내의 각 자산을 분석하는 탭입니다.

자산 상관도

Monthly Correlations는 달별 자산 상관도를 나타냅니다. 흔히 포트폴리오 투자 시에 지켜야 되는 원칙으로 듣는 것중 하나가 '상관성이 낮은 자산에 분산 투자하라'라는 말일텐데요. 상관성이 낮은 자산에 분산 투자해야 소위 한 쪽 자산이 떨어지더라도 다른 쪽 자산이 이를 버팀으로써 헷지가 되고 손실폭을 줄일 수 있습니다.

 

예를 들어 US Stock Market과 Long Term Treasury, 즉 미국 주식과 장기 채권은 상관 관계가 없는 것을 알 수 있습니다. 평소 주식과 채권으로도 자산 분배를 많이 하는 것을 볼 수 있죠. 이러한 이유입니다.

 

Rolling returns

앞 서 알아 본 Trailing returns는 투자 시작 시점과 투자 마지막 시점의 차이만 가지고 수익률을 구하였습니다. 이 때 각 시점에서 변동이 컸을 경우 결과값이 왜곡됩니다. 또한 중간에 어떤 일이 있었는 지 전혀 알 수도 없습니다.

이 때 저희는 Rolling returns를 사용합니다. Rolling returns는 아래와 같이 계산됩니다.

- Roll Period가 1년인 경우, 2006년 2월 - 2007년 1월, 2006년 3월 - 2007년 2월, ...... 등등으로 1년 간격으로 수익률 등을 구합니다.

- 구한 데이터를 바탕으로 평균, 최대, 최소값을 구합니다.

위와 같이 계산하는 경우 해당 시점의 모든 데이터를 누적하여 평균 수익률, 최대로 나올 수 있는 수익률, , 최소로 나올 수 있는 수익률을 구할 수 있습니다. 두 시점 중간에 어떤 일이 있었는 지, 어느 정도의 변동성이 있었는 지 알 수 있는 훨씬 더 의미있는 데이터가 될 수 있습니다.

 

 

결론

- 백테스트는 포트폴리오의 수익성과 안전성을 검증할 수 있는 자료가 된다. 사실 포트폴리오를 검증하는 데 가장 중요한 지표가 된다. (Portfolio Return탭)

- 포트폴리오의 자산 분배를 알 수 있다. (Assets 탭)

- 변동성을 이해하면 해당 포트폴리오가 하락을 맞더라도 무던히 버틸 수 있는 근거가 된다. (Dradowns 탭)

이번 편은 자산 분배 백테스트에 대해 알아 보았는 데요, 다음 편에서는 마켓 타이밍을 백테스트 하는 방법을 알아보겠습니다.

 

다음 글: 미국 주식 백테스트 마켓타이밍 편 (포트폴리오 비주얼라이저, QQQ, SPY) (tistory.com)

 

댓글