주식 백테스트 하는 법 — 실제 데이터로 내 투자 수익률 확인
주식 백테스트란 무엇인지, 왜 필요한지, 실제로 어떻게 하는지를 초보자도 따라할 수 있게 설명합니다. 과거 데이터로 내 투자 전략의 수익률을 직접 확인해보세요.
세 줄 요약
- 백테스트는 "만약 과거에 이 전략으로 투자했다면 수익률이 어떻게 됐을까?"를 확인하는 방법입니다.
- 과거 실제 데이터를 사용하므로, 감이 아닌 숫자로 투자 전략을 검증할 수 있습니다.
- 단, 과거 성과가 미래를 보장하지 않으며, 백테스트의 한계를 이해하고 활용하는 것이 중요합니다.
백테스트란?
백테스트(Backtest)는 과거 주가 데이터에 투자 전략을 적용해서 수익률을 검증하는 과정입니다.
쉽게 말해, 타임머신을 타고 과거로 돌아가서 "그때 이렇게 투자했으면 어떻게 됐을까?"를 시뮬레이션하는 것입니다.
예시
- "2020년 3월 코로나 폭락 때 SCHD를 100만원 샀다면, 지금 얼마?"
- "2015년부터 매월 30만원씩 JEPI에 투자했다면 총 수익은?"
- "내가 실제로 2023년에 SCHD를 산 시점에서, 지금까지 수익률은?"
이런 질문에 실제 데이터로 답을 구할 수 있습니다.
왜 백테스트가 필요한가?
1. 감이 아닌 데이터로 판단
"SCHD가 좋다더라"는 소문만 듣고 투자하는 것과, 과거 10년 데이터로 직접 수익률을 확인하고 투자하는 것은 확신의 차원이 다릅니다.
2. 하락장에서 버틸 근거
주가가 20% 빠졌을 때, 과거 데이터에서 비슷한 하락 후 회복까지 걸린 시간을 알고 있다면 패닉 매도를 피할 수 있습니다.
3. 전략 비교
"SCHD만 투자하는 것과, SCHD 70% + JEPI 30%로 분산하는 것 중 어떤 게 낫지?" 같은 질문에 숫자로 답할 수 있습니다.
4. 기대 수익률 설정
백테스트 결과를 보면, 내 투자 전략에서 기대할 수 있는 현실적인 수익률 범위를 알 수 있습니다. 비현실적인 기대를 줄이고 장기 투자를 지속하는 데 도움이 됩니다.
백테스트 하는 법 — 3가지 방법
방법 1: 스노우볼 백테스트 (가장 쉬움)
프로그래밍 없이 웹에서 바로 할 수 있습니다.
- 스노우볼 백테스트 페이지로 이동
- 종목 선택 (예: SCHD)
- 매수 시작일 입력 (예: 2020-03-23)
- 투자 금액과 방식 설정 (거치식 또는 적립식)
- 결과 확인: 수익률 차트, 배당금 내역, 손익분기 시점
장점: 배당 ETF에 특화되어 있고, 배당금 재투자(DRIP) 효과까지 반영됩니다. 코딩 없이 1분이면 결과를 볼 수 있습니다.
방법 2: Portfolio Visualizer (영문)
Portfolio Visualizer(portfoliovisualizer.com)는 무료로 사용 가능한 해외 백테스트 도구입니다.
- 포트폴리오 구성 비율별 비교 가능
- 최대 낙폭(MDD), 샤프지수 등 고급 지표 제공
- 인플레이션 보정 수익률 확인 가능
단점: 영어 인터페이스, 한국 ETF 미지원
방법 3: 직접 코딩 (Python)
데이터 분석에 익숙하다면, Python으로 직접 백테스트 엔진을 만들 수 있습니다.
- Yahoo Finance API로 과거 주가 데이터 수집
- 매수/매도 로직 자유롭게 설정
- 배당 재투자, 세금, 수수료 등 세밀한 조건 반영 가능
단점: 프로그래밍 지식 필요, 세팅 시간 소요
백테스트 결과 읽는 법
백테스트 결과에서 주요하게 봐야 할 지표 5가지입니다.
| 지표 | 의미 | 좋은 기준 |
|---|---|---|
| 총수익률 | 투자 원금 대비 전체 수익 비율 | 높을수록 좋음 |
| 연평균 수익률(CAGR) | 매년 평균적으로 얼마나 벌었는지 | S&P 500 평균 약 10% |
| 최대 낙폭(MDD) | 최고점에서 최저점까지 가장 많이 빠진 비율 | -20% 이내가 안정적 |
| 배당 수익 | 기간 내 총 배당금 수령액 | 배당 ETF는 필수 확인 |
| 회복 기간 | 하락 후 원금 회복까지 걸린 시간 | 짧을수록 좋음 |
실전 예시: SCHD 2020년 코로나 폭락 시
- 2020.02.19 (코로나 전 고점) → 2020.03.23 (저점): 약 -35% 하락
- 2020.03.23 → 2020.11 (회복): 약 8개월 만에 원금 회복
- 만약 폭락 시점에 100만원을 투자했다면, 2026년 3월 기준 약 200만원 이상
이 데이터를 알고 있으면, 다음 폭락 때 "이전에도 8개월이면 회복했으니 버티자"라는 판단 근거가 됩니다.
백테스트의 한계 — 반드시 알아야 할 것
1. 과거 성과 ≠ 미래 성과
가장 중요한 원칙입니다. 과거 10년간 연 15% 수익이었다고 해서, 앞으로도 15%가 보장되지 않습니다.
2. 생존자 편향
현재 성과가 좋은 ETF만 백테스트하면, 당연히 결과가 좋게 나옵니다. 과거에 상장폐지된 ETF는 백테스트 대상에서 빠져있기 때문입니다.
3. 과적합(Overfitting) 주의
"이 시점에 사고, 저 시점에 팔면 수익률이 최고"라는 식으로 과거 데이터에 맞춰 전략을 짜면, 미래에는 통하지 않을 수 있습니다.
4. 세금·수수료 반영
실제 투자에서는 배당소득세(15.4%), 매매 수수료, 환전 비용 등이 발생합니다. 백테스트 결과에 이를 반영하지 않으면 수익률이 과대평가됩니다.
백테스트 활용 팁
- 최소 10년 이상 기간으로 백테스트하세요. 짧은 기간은 특정 시장 상황에 편향될 수 있습니다.
- 여러 시나리오를 비교하세요. 호황기 시작, 불황기 시작 등 다양한 시점에서 테스트.
- **MDD(최대 낙폭)**에 주목하세요. 수익률보다 "얼마나 빠질 수 있는가"가 심리적으로 더 중요합니다.
- 백테스트는 전략 검증 도구이지 예측 도구가 아닙니다. 결과에 지나치게 확신하지 마세요.
투자 면책 조항
이 글은 정보 제공 목적으로 작성되었으며, 특정 종목에 대한 매수/매도 추천이 아닙니다. 백테스트 결과는 과거 데이터 기반이며, 미래 수익을 보장하지 않습니다. 투자 판단은 본인의 책임하에 이루어져야 합니다.