이 글은 특정 종목이나 매매 시점을 추천하는 글이 아닙니다. 투자 전략을 검증하는 기초 개념을 정리한 글입니다.
실제 돈을 넣기 전에, 먼저 시험해볼 수 없을까
규칙 기반으로 투자하는 전략을 하나 세웠다고 하자. “이런 신호가 오면 사고, 저런 신호가 오면 판다”는 규칙 말이다. 그런데 이 전략이 정말 괜찮은지 어떻게 알 수 있을까? 진짜 돈을 넣어보고 몇 년을 기다려서 확인하기에는 너무 위험하고 오래 걸린다.
그래서 나온 방법이 백테스트다. 실제 돈을 넣기 전에, 과거 데이터로 이 전략을 미리 시험해보는 것이다.
백테스트란 무엇인가
📌 백테스트(backtest)란? 내가 만든 전략 규칙을 과거의 실제 시세 데이터에 적용해서, “만약 그때 이 규칙대로 투자했다면 어땠을까”를 계산해보는 것이다. 과거로 돌아가 전략을 미리 시험해보는 모의실험이라고 보면 된다.
그림으로 보면 이해가 쉽다.

준비물은 두 가지다. 하나는 과거 시세 데이터(예: 지난 10년간 가격이 어떻게 움직였는지)이고, 다른 하나는 내 전략 규칙(언제 사고 언제 팔지)이다. 이 둘을 백테스트에 넣으면, “과거에 이 규칙대로 했다면 자산이 이렇게 불었을 것이다”라는 가상의 성과가 나온다.
여기서 꼭 기억할 게 있다. 이건 실제로 돈을 넣은 게 아니라, “만약 그랬다면”을 컴퓨터로 계산해본 것뿐이라는 점이다. 이 차이가 나중에 아주 중요해진다.
그리고 그 결과는 보통 자산곡선의 형태로 나타난다.
📌 자산곡선 시간이 지나면서 내 자산(돈)이 어떻게 늘고 줄었는지를 이은 선이다. 백테스트 결과를 이 곡선으로 보면, 전략이 언제 잘 벌고 언제 무너졌는지를 한눈에 파악할 수 있다.
왜 백테스트가 필요한가
백테스트가 없다면, 우리는 전략이 좋은지 나쁜지를 순전히 감으로만 판단해야 한다. “왠지 될 것 같은데” 하는 느낌으로 진짜 돈을 거는 셈이다. 백테스트는 그 자리에 최소한의 근거를 놓아준다. 적어도 “과거에는 이 전략이 이렇게 움직였다”는 사실을 숫자로 보여주니까.
또한 전략의 큰 결함을 미리 발견할 수도 있다. 예를 들어 어떤 시기에 크게 무너지는 약점이 있다면, 진짜 돈을 잃기 전에 백테스트에서 그 골짜기를 미리 볼 수 있다. 이것만으로도 백테스트는 충분히 값지다.
그런데 — 백테스트가 다 말해주지는 않는다
여기서부터가 중요하다. 백테스트는 유용하지만, 만능이 아니다. 알려주는 것과 알려주지 못하는 것이 분명히 나뉜다.
| 백테스트로 알 수 있는 것 | 백테스트로 알기 어려운 것 |
|---|---|
| 과거에 이 전략이 어땠는지 | 미래에도 통할지 |
| 위험과 수익의 대략적인 감각 | 실제 매매 비용·세금·내 감정 |
| 전략의 눈에 띄는 큰 결함 | 지금껏 겪어보지 못한 새로운 시장 |
가장 무서운 건 오른쪽 첫 줄이다. 백테스트가 과거에 아무리 아름다운 곡선을 그려도, 그게 미래를 보장하지는 않는다. 과거는 이미 정해진 답이고, 미래는 아직 오지 않은 시험이기 때문이다. 이 사실을 잊으면 백테스트는 오히려 위험한 착각을 심어준다.
실제로 한 번 돌려보면 이런 게 나온다
말로만 설명하면 여전히 손에 안 잡힌다. 그래서 내가 실제로 돌린 백테스트 하나를 통째로 펼쳐 보이려 한다. 널리 알려진 듀얼 모멘텀이라는 규칙인데, 내용은 아주 단순하다. 매달 말에 미국주식과 선진국주식의 지난 12개월 수익률을 비교해 더 나은 쪽을 고르고, 그 수익률이 마이너스면 둘 다 버리고 채권으로 피한다. 그게 전부다.
이 규칙을 2000년 8월부터 2026년 6월까지의 실제 시세에 넣고 돌린 결과다. 먼저 시험 자체가 어떻게 생겼는지부터 보자.
| 항목 | 값 |
|---|---|
| 시험 구간 | 2000년 8월 ~ 2026년 6월 |
| 관측한 달 수 | 311개월 (약 26년) |
| 규칙이 판단을 내린 횟수 | 311번 (매달 1번) |
| 실제로 보유 자산이 바뀐 횟수 | 41번 |
| 채권으로 피해 있던 기간의 비율 | 21.2% |
여기서 이미 흥미로운 게 하나 보인다. 규칙은 311번 판단했는데 실제로 갈아탄 건 41번뿐이다. 나머지 270번은 “어제와 같음”이라는 결론이었다. 백테스트를 돌려보기 전에는 이 전략이 훨씬 부산할 줄 알았는데, 대부분의 달은 아무것도 하지 않았다.
그리고 나온 성적표는 이렇다. 비교를 위해 ‘그냥 두 나라에 반씩 나눠 담고 가만히 있기’와 ‘미국주식만 사서 들고 있기’도 같이 돌렸다.
| 100만 원이 얼마가 되었나 | 연복리 | 가장 크게 빠진 폭 | |
|---|---|---|---|
| 듀얼 모멘텀 | 962만 원 | 9.2% | -19.8% |
| 미국+선진국 50:50 | 581만 원 | 7.1% | -54.0% |
| 미국주식 그냥보유 | 771만 원 | 8.2% | -51.0% |
백테스트가 우리에게 주는 게 정확히 이런 것이다. “이 규칙은 26년 동안 돈을 9.6배로 불렸을 것이고, 그 과정에서 계좌가 가장 크게 빠진 순간은 약 20%였을 것이다”라는 문장. 감으로는 절대 만들 수 없는 문장이다. 특히 -19.8%와 -51.0%의 차이는, 실제로 그 시기를 통과해야 하는 사람에게는 수익률 숫자보다 훨씬 중요하다.
그런데 여기서 반드시 덧붙여야 할 말이 있다. 이 962만 원은 한 푼도 실재하지 않는 돈이다. 나는 2000년에 이 규칙을 알지도 못했고, 저 26년을 실제로 견디지도 않았다. 컴퓨터가 “만약 그랬다면”을 계산했을 뿐이다. 다음 절이 바로 그 이야기다.
※ 위 숫자는 실제 매매 상품(ETF)이 아니라 2000년까지 거슬러 올라가는 인덱스펀드를 대신 쓴 결과다. 배당은 재투자로 반영했고 매매 비용도 물렸지만 세금은 빼고 쟀다. 월말 종가로 관측했기 때문에 달 중간에 더 깊이 빠졌던 구간은 이 표에 잡히지 않는다. 한 기간·한 구성에서 나온 결과일 뿐이다.
나도 여기서 헤맸다
직접 시스템을 만들며 백테스트를 수없이 돌려봤다. 그 과정에서 배운 게 하나 있다. 전략이 과거 데이터에서 좋은 결과를 내도록 이리저리 다듬다 보면, 어느 순간 성과 곡선이 아주 예뻐진다. 그런데 그 뿌듯함 뒤에는 함정이 숨어 있었다. 과거의 특정 시기에 딱 맞게 전략을 다듬을수록, 오히려 ‘과거에만 잘 맞는 전략’ 이 되어버릴 수 있다는 것이다.
예를 들어 과거의 큰 위기 시기들을 잘 넘기도록 전략을 조정하면, 백테스트 성적표는 근사해진다. 하지만 그건 이미 답을 아는 시험지를 놓고 답을 맞춘 것에 가깝다. 정작 답을 모르는 새로운 시장이 오면 그 전략이 통할지는 아무도 모른다. 나는 이 함정을 어렴풋이 느끼면서도, 처음엔 예쁜 곡선의 유혹을 뿌리치기가 쉽지 않았다.
정리하며
백테스트는 실제 돈을 넣기 전에 과거 데이터로 전략을 시험해보는 모의실험이다. 감이 아니라 근거로 전략을 판단하게 해주는 유용한 도구지만, “과거에 좋았다”가 “미래에 좋다”를 뜻하지는 않는다는 한계를 늘 안고 있다.
사실 백테스트가 우리를 속이는 방식은 방금 이야기한 것 말고도 여러 가지가 있다고 한다. 예쁜 곡선에 숨은 함정들 말이다. 아직 나도 그 함정들을 다 겪어보진 못했지만, 하나씩 알아가는 대로 정리해보고 싶다.
※ 이 글은 개인의 학습 과정을 공유하기 위한 것으로, 투자 권유나 자문이 아닙니다. 모든 투자의 판단과 책임은 투자자 본인에게 있습니다.