백테스트란
백테스트(Backtest)는 투자 전략을 과거 데이터에 적용해 가상으로 운용한 결과를 측정하는 분석 기법이다. “이 전략을 10년 전부터 실행했다면 지금 자산이 얼마였을까”를 계산한다. 자산배분, 매매 시점 선택, 종목 선정 규칙 등 모든 종류의 전략 검증에 사용된다.
백테스트가 강력한 이유는 실제 데이터를 사용한다는 점에 있다. 시뮬레이션이 가정에 기반한다면, 백테스트는 실제로 일어났던 시장 환경에서 전략이 어떻게 작동했는지 보여준다. 다만 “과거의 한 번”만을 다룬다는 한계가 있다.
기본 작동 원리는 네 단계다.
1. 전략 규칙 정의 “매월 첫 거래일에 코스피200과 미국 국채를 60:40으로 리밸런싱한다” 같은 명확한 규칙을 정한다.
2. 데이터 준비 전략에 필요한 모든 자산의 과거 가격, 배당, 환율 데이터를 수집한다.
3. 시뮬레이션 실행 정해진 시작일부터 종료일까지 규칙에 따라 매매를 가상 실행한다.
4. 성과 측정 누적 수익률, 연 수익률, 변동성, 샤프비율, 최대낙폭(MDD) 등 지표를 계산한다.
백테스트로 무엇을 알 수 있는가
백테스트가 제공하는 핵심 정보는 네 가지다.
과거 성과의 정량화 “코스피 장기 보유 연 수익률은?” “60/40 포트폴리오의 2008년 MDD는?” 같은 질문에 구체적 숫자로 답한다.
전략 비교 두 가지 자산배분, 두 가지 매매 규칙을 같은 기간 같은 조건에서 비교한다. 어느 쪽이 더 우수했는지 정량적으로 판별 가능하다.
위기 시기 검증 2008년 금융위기, 2020년 코로나, 2022년 인플레이션 같은 위기 시기에 전략이 어떻게 작동했는지 확인한다. 이론적 모델이 놓치는 부분이다.
기대 수익·위험 추정 미래 기대값을 정확히 예측할 수는 없지만, 과거 분포를 보면 현실적 범위를 가늠할 수 있다.
백테스트의 5대 함정
백테스트는 강력한 도구지만 잘못 사용하면 결과를 신뢰할 수 없다. 주요 함정은 다섯 가지다.
1. 과적합 (Overfitting) 가장 흔한 문제다. 과거 데이터에 맞춰 매개변수를 끝까지 튜닝하면 그 기간에는 완벽해 보이지만 미래에는 작동하지 않는다. “이동평균 23일이 최적”이라는 결과가 다음 기간에는 의미 없을 수 있다. 과거 데이터의 우연을 신호로 착각한 것이다.
2. 생존편향 (Survivorship Bias) 현재 상장된 종목만으로 백테스트하면 결과가 과대평가된다. 그동안 상장폐지된 종목이 빠지기 때문이다. 1990년대 코스피 지수 백테스트는 그 사이 상장폐지된 수많은 종목을 무시한다. 실제 투자자가 경험한 결과와 크게 다를 수 있다.
3. 룩어헤드 편향 (Look-Ahead Bias) 매매 시점에 아직 알 수 없었던 정보를 사용하는 오류다. 예를 들어 연간 실적 발표가 12월 종료 후 다음 해 3월에 공시되는데, 1월 시점에 그 실적을 미리 알고 매매한 것처럼 백테스트하면 결과가 왜곡된다.
4. 거래비용·세금 무시 매수·매도 수수료, 호가 스프레드, 세금을 반영하지 않으면 결과가 과대평가된다. 빈번한 매매 전략일수록 영향이 크다. 연 20% 수익 전략도 매매 비용 차감 후 실제 수익은 10%일 수 있다.
5. 데이터 스누핑 (Data Snooping) 수십 가지 전략을 같은 데이터로 테스트하다 보면 우연히 좋은 결과가 나오는 전략을 찾게 된다. 그 전략이 진짜 좋아서가 아니라 통계적 우연일 가능성이 크다. 충분히 많은 전략을 시도하면 그중 하나는 반드시 좋아 보인다.
과적합을 피하는 방법
과적합은 백테스트의 가장 큰 적이다. 이를 줄이는 표준 기법들이 있다.
인-샘플 / 아웃-오브-샘플 분리 데이터를 두 구간으로 나눈다. 첫 구간(인-샘플)에서 전략을 개발하고, 나머지 구간(아웃-오브-샘플)에서 검증한다. 인-샘플에서 우수했던 전략이 아웃-오브-샘플에서도 통하는지가 진짜 검증이다.
워크 포워드 분석 (Walk Forward Analysis) 학습 구간을 시간에 따라 이동시키며 반복 검증한다. 예를 들어 2010-2014년 데이터로 매개변수를 최적화하고 2015년 성과를 측정, 그다음 2011-2015년으로 최적화하고 2016년 측정하는 방식이다. 시점 의존성을 줄인다.
단순한 규칙 선호 매개변수가 많을수록 과적합 위험이 커진다. 매개변수 2-3개짜리 단순한 전략이 매개변수 10개짜리 복잡한 전략보다 강건한 경우가 많다.
복수 시장 검증 한국 시장에서 잘 작동한 전략이 미국, 일본, 유럽 시장에서도 잘 작동하는지 확인한다. 특정 시장 우연을 걸러낸다.
경제적 근거 요구 통계적으로 우연히 발견된 패턴이 아니라, 왜 그 전략이 작동해야 하는지 경제적 논리가 있어야 한다. 논리가 없는 패턴은 우연일 가능성이 높다.
거래비용을 반영한 현실적 설계
현실적 백테스트를 위해 반드시 반영해야 할 비용 요소가 있다.
매매 수수료 국내 주식 0.015%, 미국 주식 0.25%, ETF 0.05-0.15% 수준. 빈번한 매매일수록 누적이 크다.
세금 한국 주식 양도세는 일반 개인 비과세, 미국 주식 양도세 22% (250만 원 초과분), 배당소득세 15.4%. 자산별 세제 차이를 반영해야 한다.
호가 스프레드 (슬리피지) 매수·매도 호가 차이. 대형주는 0.01% 수준이지만 소형주는 0.5% 이상일 수 있다. 시뮬레이션은 보통 호가 중앙값으로 계산해 이 비용을 누락한다.
시장 충격 비용 큰 금액을 한꺼번에 매매하면 가격이 움직인다. 개인은 거의 무관하지만 기관 운용에서는 중요한 변수다.
환전 비용 해외 주식 매매 시 환전 수수료(스프레드 포함) 0.5-1.0% 수준.
이 비용들을 모두 반영하면 백테스트 결과의 연 수익률이 1-3%p 낮아진다. 무시할 수 없는 차이다.
백테스트 성과 지표
백테스트 결과를 평가할 때 보는 표준 지표들이다.
누적 수익률 시작 시점 대비 종료 시점의 총 수익. 가장 직관적이지만 변동성 정보가 없다.
연환산 수익률 (CAGR) 기하평균 기준 연평균 수익률. 다른 기간 전략과 비교 가능하다.
연 변동성 일별 또는 월별 수익률의 표준편차를 연환산한 값. 위험의 기본 지표다.
샤프비율 위험 1단위당 초과수익. 자세한 내용은 별도 글에서 다룬다.
최대낙폭 (MDD) 고점 대비 최대 하락폭. 실제 운용에서 견딜 수 있는지 가늠하는 핵심 지표다.
캘린더 연도별 수익률 각 연도별 수익률 표. 특정 연도에 극단적 결과가 있는지 확인한다.
승률 양의 수익을 낸 기간 비율. 월간·연간 단위로 본다.
최대 연속 손실 기간 가장 길게 손실이 이어진 기간. 심리적 견딤 능력 평가에 중요하다.
백테스트와 포워드 테스트
백테스트의 한계를 보완하는 방법으로 포워드 테스트(Forward Test) 또는 페이퍼 트레이딩이 있다.
포워드 테스트는 전략을 확정한 후 실제 시장에서 가상으로 운용하며 결과를 측정한다. 과거 데이터에 매개변수를 맞춘 게 아니라 미래 시점에서 작동하는지 보는 것이다. 보통 3-12개월 진행한다.
포워드 테스트 결과가 백테스트와 비슷하면 전략이 실제로 작동할 가능성이 높다. 백테스트는 우수한데 포워드 테스트는 부진하면 과적합 가능성이 크다.
대규모 자금을 운용하기 전 포워드 테스트로 작동을 확인하는 게 일반적이다. 개인 투자자도 작은 금액으로 6개월-1년 운용해본 후 본격 적용하는 방식이 권장된다.
개인 투자자가 백테스트를 활용하는 법
복잡한 매매 전략이 아니라도 백테스트는 개인 투자자에게 유용하다.
자산배분 비교 “60/40 vs 70/30이 지난 20년 동안 어땠나” 같은 단순한 비교만으로도 의사결정에 도움이 된다.
리밸런싱 빈도 결정 분기 리밸런싱과 연 1회 리밸런싱의 성과 차이를 본다. 빈번한 리밸런싱이 항상 좋은 건 아니라는 점이 드러난다.
위기 견딤 점검 “2008년·2020년에 내 자산배분이라면 얼마나 떨어졌을까”를 확인해 실제 위기 대비 심리적 준비를 한다.
기대치 조정 “S&P 500 30년 연평균이 10%였지만 30% 빠진 해도 있었다” 같은 사실을 미리 알면 단기 변동에 흔들리지 않는다.
전략의 한계 인식 어떤 전략도 항상 이기지는 않는다는 점을 데이터로 확인하면 환상이 줄어든다.
PFSE 도구로 시뮬레이션하기
PFSE 도구에서는 백테스트를 다음 방식으로 활용할 수 있다.
- 자산배분 입력 후 과거 10-20년 백테스트 결과 확인
- 누적 수익률, 연 수익률, MDD, 샤프비율 동시 분석
- 다른 자산배분과 성과 비교
- 거시경제 사건(2008·2020·2022) 시점별 손익 확인
도구는 PFSE 웹 애플리케이션에서 이용할 수 있다.
본 글은 백테스트 개념을 정리한 정보 제공용이다. 특정 투자 전략의 매수·매도를 권유하지 않으며, 실제 투자 결정은 본인의 판단과 책임 하에 이루어져야 한다. 과거 성과는 미래 수익을 보장하지 않는다.