예쁜 곡선에 속지 마라 — 백테스트의 세 가지 함정

이 글은 특정 종목이나 매매 시점을 추천하는 글이 아닙니다. 백테스트를 볼 때 조심해야 할 개념을 정리한 글입니다.

화려한 곡선일수록 의심해야 한다

지난 글에서 백테스트가 “과거에 이 전략대로 했다면 어땠을까”를 계산해보는 모의실험이라고 했다. 그리고 그 결과가 아무리 아름다워도 미래를 보장하지는 않는다고도 했다.

그런데 문제는, 백테스트가 단순히 “미래를 못 맞히는” 정도가 아니라, 우리를 적극적으로 속이기까지 한다는 점이다. 그것도 아주 그럴듯한 방식으로. 오늘은 그 대표적인 세 가지 함정을 살펴보려 한다. 이걸 알고 나면, 화려한 백테스트 결과를 볼 때 한 번쯤 멈춰 의심하게 될 것이다.

함정 1 — 과최적화: 답을 보고 답을 맞추기

가장 흔하고 위험한 함정이다.

📌 과최적화(overfitting)란? 전략을 과거 데이터에 지나치게 딱 맞도록 다듬는 것을 말한다. 과거에 좋은 결과가 나오게 자꾸 조정하다 보면, 결국 ‘과거에만 완벽하게 맞는’ 전략이 되어버린다. 미래의 새로운 상황에는 오히려 약하다.

비유하자면 이렇다. 이미 답을 아는 시험지를 놓고 답을 맞추면 100점이 나온다. 하지만 그 사람이 진짜 실력이 좋은 건 아니다. 답이 다른 새 시험을 보면 무너진다. 과최적화된 전략이 딱 이렇다. 과거라는 ‘답을 아는 시험지’에는 완벽하지만, 답을 모르는 미래에는 힘을 못 쓴다.

아래 그래프가 그 모습을 보여준다.

과최적화된 전략이 백테스트 구간에서는 화려하게 상승하다가 실전 구간에서 무너지는 반면, 평범하지만 정직한 전략은 꾸준히 유지되는 것을 비교한 그래프

파란 선(과최적화된 전략)은 왼쪽 백테스트 구간(과거)에서는 매끄럽게 쭉쭉 오른다. 눈이 번쩍 뜨일 만큼 화려하다. 그런데 오른쪽 실전 구간(실제로 돈을 넣은 미래)으로 넘어가는 순간 힘없이 무너진다. 반면 회색 점선(평범하지만 정직한 전략)은 백테스트 구간에서는 덜 화려했지만, 실전에서도 큰 배신 없이 꾸준하다. 백테스트에서 가장 예뻤던 전략이, 실전에서 가장 크게 무너질 수 있다는 것 — 이게 과최적화의 무서움이다.

함정 2 — 미래참조: 시험 중에 미래를 커닝하기

이건 자기도 모르게 저지르는 실수다.

📌 미래참조(look-ahead bias)란? 백테스트를 할 때, 그 시점에는 실제로 알 수 없었던 미래의 정보를 실수로 사용해버리는 것을 말한다. 과거의 그 순간으로 돌아갔다면 결코 알 수 없었을 정보를, 계산에 슬쩍 끼워 넣는 셈이다.

예를 들어보자. “그날 하루가 다 끝난 뒤에야 알 수 있는 그날의 최종 가격”을 보고, “그날 아침에 샀다”고 계산하면 어떻게 될까? 실제로 아침에는 그날 가격이 어떻게 끝날지 아무도 모른다. 그런데 백테스트에서 이걸 슬쩍 써버리면, 마치 미래를 아는 사람처럼 완벽한 타이밍에 매매한 결과가 나온다. 시험을 보면서 뒷장의 답을 커닝한 것과 같다. 당연히 성적은 비현실적으로 좋아지고, 실전에서는 절대 재현되지 않는다.

함정 3 — 생존편향: 살아남은 것만 보고 판단하기

이건 데이터 자체에 숨은 함정이다.

📌 생존편향(survivorship bias)란? 끝까지 살아남은 것들만 데이터에 남아 있고, 중간에 사라진 것들은 빠져 있어서 생기는 착시다. 실패해서 사라진 사례가 안 보이니, 전체가 실제보다 좋아 보이게 된다.

주식으로 치면 이렇다. 과거 데이터에 ‘지금까지 살아남은 우량 기업’만 들어 있고, 그동안 망해서 상장 폐지된 수많은 기업은 빠져 있다면? 그 데이터로 백테스트를 하면 결과가 실제보다 훨씬 좋게 나온다. 망한 것들을 애초에 계산에서 빼버렸으니까.

더 쉬운 비유도 있다. 성공한 창업가들만 인터뷰해서 “성공 비결”을 뽑는다고 하자. 그런데 똑같은 방법을 썼다가 망한 수천 명은 인터뷰 명단에 아예 없다. 그러니 그 ‘비결’이 정말 효과가 있는지는 알 수 없다. 살아남은 자만 보이고, 사라진 자는 보이지 않는 것 — 이게 생존편향이다.

세 함정 한눈에 정리

함정무엇인가한 마디로
과최적화과거에 딱 맞게 과하게 다듬음답을 보고 답 맞추기
미래참조그때는 몰랐을 정보를 사용시험 중에 미래 커닝
생존편향살아남은 것만 보고 판단성공한 사람만 조사

세 함정에는 공통점이 있다. 하나같이 백테스트 성적을 실제보다 좋아 보이게 만든다는 점이다. 그래서 화려한 결과일수록, 혹시 이 셋 중 하나에 속고 있는 건 아닌지 의심해봐야 한다.

그래서, 어떻게 해야 할까

완벽하게 피하는 방법은 없지만, 태도 하나는 분명하다. 백테스트 결과가 너무 좋으면 기뻐하기 전에 먼저 의심하는 것. “혹시 과거에만 맞게 다듬은 건 아닐까? 미래 정보를 슬쩍 쓴 건 아닐까? 망한 것들이 빠진 데이터는 아닐까?” 이렇게 스스로에게 되묻는 습관만으로도 큰 실수를 줄일 수 있다.

정리하며

백테스트는 과최적화, 미래참조, 생존편향이라는 세 가지 방식으로 우리를 속인다. 셋 다 결과를 실제보다 좋아 보이게 만들기 때문에, 화려한 곡선일수록 더 조심해야 한다.

그럼 이런 함정들을 조금이라도 덜 밟으려면 어떻게 검증해야 할까. 전략을 좀 더 정직하게 시험하는 방법들이 있다고 하는데, 나도 아직 손에 익히는 중이다. 더 이해가 쌓이면 그 방법들도 하나씩 정리해보고 싶다.


※ 이 글은 개인의 학습 과정을 공유하기 위한 것으로, 투자 권유나 자문이 아닙니다. 모든 투자의 판단과 책임은 투자자 본인에게 있습니다.

댓글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다