과최적화와 데이터 마이닝 편향 피하기

백테스트에서 눈부신 수익률이 나왔다고 그 전략이 미래에도 통하리라는 보장은 없습니다. 오히려 과거 데이터에 지나치게 잘 맞춘 전략일수록 실전에서 무너지기 쉽습니다. 이 함정의 이름이 과최적화와 데이터 마이닝 편향입니다. 좋은 전략과 우연히 잘 맞은 전략을 구별하는 검증 원칙을 정리합니다.

과최적화란

과최적화(오버피팅)는 전략의 규칙과 파라미터를 과거 데이터에 너무 촘촘히 맞춰, 데이터에 섞인 우연한 잡음까지 규칙으로 학습해 버린 상태입니다. 예를 들어 'PER 8.3 이하, 특정 요일 매수'처럼 조건을 잘게 쪼갤수록 과거 수익률은 올라가지만, 그 숫자들은 과거에만 맞는 우연일 가능성이 큽니다. 잡음은 미래에 반복되지 않으므로, 이렇게 맞춘 전략은 실전에서 성과가 급격히 무너집니다.

데이터 마이닝 편향과 다중검정

수백 개의 지표 조합을 자동으로 돌려 가장 좋은 하나를 고르면, 그것은 '진짜 좋은 전략'이 아니라 '가장 운이 좋았던 전략'일 수 있습니다. 통계에서 이를 다중검정 문제라 합니다. 무의미한 규칙이라도 충분히 많이 시도하면 그중 몇 개는 순전히 우연으로 훌륭한 성과를 보입니다. 시도 횟수가 많을수록 우연한 성공이 나올 확률이 커지므로, 몇 번을 시도해서 얻은 결과인지를 함께 따져야 합니다.

생존편향

생존편향은 현재까지 살아남은 종목만으로 과거를 분석할 때 생기는 왜곡입니다. 상장폐지되거나 인수합병으로 사라진 종목을 데이터에서 빼면, 실패한 기업이 통째로 제외되어 성과가 실제보다 좋게 보입니다. 특히 부실 위험이 큰 소형주·저평가 전략에서 이 편향은 치명적입니다. 검증에는 반드시 그 시점에 실제로 존재했던 모든 종목, 즉 사라진 종목까지 포함한 데이터를 써야 합니다.

미래참조 편향

미래참조 편향(룩어헤드)은 그 시점에 알 수 없었던 정보를 마치 알았던 것처럼 사용하는 오류입니다. 예컨대 실적은 분기가 끝나고 수십 일 뒤 공시되는데, 분기말 시점에 이미 그 실적을 알고 매매했다고 가정하면 현실에서 불가능한 성과가 나옵니다. 재무 데이터는 실제 공시 시점을 기준으로 반영해야 검증이 정직해집니다.

💡 규칙이 단순할수록 우연히 맞았을 가능성이 낮습니다. 파라미터가 적고 경제적으로 설명 가능한 전략을 선호하세요. '왜 이 조건이 초과수익을 낼 수 있는가'에 상식적인 답이 없다면, 그 성과는 잡음일 확률이 높습니다.

무너지지 않는 검증 원칙

첫째, 전략을 설계한 기간(인샘플)과 검증하는 기간(아웃오브샘플)을 나눠, 설계에 쓰지 않은 구간에서 성과가 유지되는지 확인합니다. 둘째, 파라미터를 조금 바꿔도 성과가 크게 흔들리지 않는지(강건성) 봅니다. 특정 숫자에서만 성과가 튄다면 과최적화 신호입니다. 셋째, 거래비용과 세금을 반영하고, 사라진 종목을 포함한 데이터로, 공시 시점을 지켜 검증합니다. 화려한 한 줄의 수익률보다 이런 견고함이 실전 생존을 좌우합니다.

투자모아에서 확인하기

투자모아 백테스트는 기간을 나눠 전략을 검증하고, 거래비용을 반영한 CAGR·변동성·MDD·샤프 같은 위험조정지표를 함께 보여줍니다. 조건을 조금씩 바꿔가며 성과가 특정 값에만 의존하지는 않는지, 다른 구간에서도 유지되는지 직접 점검해 보세요.

백테스트로 전략 검증하기 →

본 글은 개념 설명이며 투자 자문이 아닙니다. 과거 성과가 미래 수익을 보장하지 않습니다.