통계 편향5분 읽기

백테스트 과적합(Overfitting)

과거 10년 데이터로 돌려보니 연 40% 수익이 나오는 전략을 찾았다면, 당신은 부자가 될까요? 안타깝게도 그 화려한 성적표는 '미래'가 아니라 '과거에만 맞춘 정답지'일 가능성이 높습니다.

백테스트 과적합이란 무엇인가

백테스트(backtest)는 어떤 투자 전략을 과거 시세에 적용해 '만약 그때 이렇게 했다면 얼마가 됐을까'를 계산해 보는 것입니다. 여기까지는 좋은 학습 도구예요.

문제는 같은 과거 데이터에 대고 전략의 변형을 수백, 수천 번 바꿔가며 '가장 성적 좋은 조합'만 골라낼 때 생깁니다. 이렇게 뽑힌 전략은 미래를 예측하는 실력이 있어서가 아니라, 그 특정 과거 구간의 우연한 굴곡에 몸을 맞췄을 뿐입니다. 이것이 백테스트 과적합(overfitting)입니다.

학교 시험에 비유하면, 실력을 키운 게 아니라 '작년 기출문제의 답만 통째로 외운' 상태예요. 작년 시험(과거 데이터)은 만점이지만, 문제가 바뀌는 올해 시험(실전)에서는 무너집니다.

통계학에서는 이를 '다중검정에서의 선택 편향(Selection Bias under Multiple Testing)'이라고 부릅니다. 여러 번 시도해서 가장 좋은 것만 고르면, 그 성과는 실력이 아니라 운으로도 부풀려집니다.

왜 이렇게 속기 쉬울까: 숫자로 보는 함정

핵심은 '시도 횟수'입니다. 전략을 여러 번 바꿔볼수록, 순전히 운으로 좋아 보이는 조합을 발견할 확률이 커집니다.

Bailey·López de Prado 등 연구자들의 분석에 따르면, 진짜 실력(장기 기대수익)이 사실상 0인 무의미한 전략이라도 약 100번 정도의 백테스트를 돌리면 샤프비율(위험 대비 수익 지표) 2.5짜리 '대박처럼 보이는' 전략이 우연히 튀어나올 수 있습니다. 실제 값은 0인데도요.

2014년 미국수학회지(Notices of the AMS)에 실린 논문은 '비교적 적은 수의 변형만 시도해도 그럴듯한 시뮬레이션 성과가 쉽게 만들어지며, 시도 횟수가 늘수록 과적합 확률이 커진다'는 것을 수학적으로 보였습니다. 더 큰 문제는, 대부분의 전략 소개 자료가 '몇 번을 시도해서 이 조합을 골랐는지'를 밝히지 않는다는 점입니다. 그래서 보는 사람은 과적합 정도를 가늠할 수조차 없습니다.

샤프비율은 감수한 위험 1단위당 초과수익을 나타내는 지표입니다. 여기서는 '높을수록 좋아 보이는 성적표' 정도로 이해하면 충분합니다.

과적합을 걸러내는 방법

완벽한 백신은 없지만, 연구자들이 쓰는 대표적인 방어법이 있습니다.

1) 인샘플/아웃오브샘플 분리 — 데이터를 둘로 나눠, 앞부분(인샘플)으로만 전략을 만들고 한 번도 보지 않은 뒷부분(아웃오브샘플)으로 검증합니다. 뒷부분에서 성적이 확 꺾이면 과적합 신호입니다.

2) 워크포워드 분석(Walk-Forward Analysis) — 1992년 Robert Pardo가 제시한 방법으로, 구간을 조금씩 밀며 '앞 구간 최적화 → 다음 미본 구간 검증'을 반복해 이어붙입니다. 운 좋은 한 구간에 속지 않도록 여러 번 실전을 흉내 냅니다.

3) 시도 횟수 정직하게 세기 — Deflated Sharpe Ratio(DSR)처럼, 몇 번을 시도했는지를 반영해 성적을 '깎아서' 진짜 유의미한지 보는 통계 기법도 있습니다.

초보자를 위한 실전 원칙은 더 단순합니다. 파라미터(조건)를 적게 쓰고, 거래비용과 세금을 반드시 반영하고, '너무 완벽한 성적표'는 일단 의심하세요.

'있는 그대로의 과거'가 답인 이유

과적합의 정반대는 '전략을 손대지 않고, 실제로 일어난 일을 그대로 보는 것'입니다. 이 사이트 《거의 모든 것의 수익률》은 바로 그 지점에 서 있습니다.

우리는 '어떤 비법 조합이 과거에 40% 났다'를 자랑하지 않습니다. 대신 좋은 자산을 오래·꾸준히 샀다면 실제 시세로 지금 얼마가 됐을지를, 최대 낙폭과 손실 기간까지 숨기지 않고 보여줍니다. 화려한 최적화 곡선이 아니라, 견뎌야 했던 -50%의 시간까지 함께 보여주는 것이 정직한 백테스트입니다.

예를 들어 일시금 투자와 적립식 투자 결과를 실제 데이터로 비교하거나, 금융위기 구간에서 얼마나 빠졌다가 언제 회복했는지를 확인하는 것은 과적합 위험이 거의 없습니다. 전략을 '뽑은' 게 아니라 '일어난 일'을 기록한 것이니까요.

장기·꾸준함이라는 단순한 규칙이 강한 이유 중 하나가 바로 이것입니다. 규칙이 단순할수록 과거에 몰래 짜맞출 여지가 적습니다.

자주 묻는 질문

Q. 백테스트 성적이 좋으면 미래에도 좋은 거 아닌가요?

꼭 그렇지 않습니다. 백테스트는 '과거에 이랬다'는 기록일 뿐, 미래를 보장하지 않습니다. 특히 같은 데이터에 대고 조건을 수없이 바꿔 최고 성적만 고른 전략이라면, 좋은 성적은 실력이 아니라 우연일 확률이 큽니다. 한 번도 보지 않은 기간에서도 성적이 유지되는지가 훨씬 중요합니다.

Q. 과적합인지 아닌지 어떻게 눈치챌 수 있나요?

몇 가지 경고등이 있습니다. 성적표가 비현실적으로 매끈하고 낙폭이 거의 없다면 의심하세요. 또 조건(파라미터)이 지나치게 많거나, '몇 번 시도해서 이 조합을 골랐는지'를 밝히지 않는 자료도 주의해야 합니다. 아웃오브샘플 구간에서 성과가 급격히 나빠진다면 과적합 가능성이 높습니다.

Q. 그럼 백테스트는 아예 믿으면 안 되나요?

아닙니다. 백테스트는 훌륭한 학습·이해 도구입니다. 다만 '최적의 비법 찾기'가 아니라 '실제로 무슨 일이 있었는지, 최대 낙폭과 회복 기간은 어땠는지'를 이해하는 용도로 쓸 때 가장 안전합니다. 전략을 짜맞추지 않고 있는 그대로의 과거를 볼수록 과적합 위험은 줄어듭니다.

#백테스트#과적합#통계 편향#데이터 마이닝#샤프비율#워크포워드

📋 과거 데이터 기준 결과이며, 과거 수익률이 미래 수익을 보장하지 않습니다.

📋 본 서비스는 투자 추천이 아닌 투자 이해를 위한 교육 목적으로 제공됩니다.