“왜 내 전략만 안 맞을까?” 퀀트 초보가 빠지는 과최적화의 함정

노트북 화면에 완벽한 백테스트 수익률 곡선이 보이고, 그 옆에 실제 투자 손실 그래프가 대비되어 있음, 한국인 투자자가 머리를 감싸며 당황한모습

열심히 만든 퀀트 전략이 백테스트에서는 연 30% 수익률을 보였는데, 막상 실전에 투입하니 손실만 쌓이는 경험 해보셨나요?

 
 
 
과최적화 함정 핵심 요약
  • 과최적화란 → 과거 데이터에만 완벽하게 맞춘 전략
  • 발생 원인 → 너무 많은 조건, 짧은 백테스트 기간, 데이터 마이닝
  • 해결 방법 → 샘플 외 검증, 단순한 전략, 충분한 거래 횟수 확보

과최적화가 뭐길래 내 전략을 망치나

과최적화란 모델이나 전략이 과거 데이터에만 지나치게 최적화되어 새로운 데이터에서는 제대로 작동하지 않는 현상을 뜻합니다. 영어로는 오버피팅(Overfitting)이라고 하죠. 쉽게 말하면 시험 기출문제만 달달 외워서 그 문제는 100점을 맞지만, 실전 시험에서는 문제 유형이 조금만 바뀌어도 망하는 상황과 비슷합니다.

퀀트 투자에서 과최적화는 백테스트 결과를 과도하게 좋게 만들기 위해 파라미터를 계속 조정하다가 발생해요. 예를 들어 2015년부터 2020년까지 데이터로 백테스트를 돌렸는데, PER 7배 이하, PBR 0.8배 이하, ROE 15% 이상, 모멘텀 상위 20% 이런 식으로 조건을 10개 넘게 넣어서 수익률이 연 40%가 나왔다고 해봅시다. 이건 단순히 그 기간에만 잘 맞는 전략일 뿐, 2021년 이후에는 전혀 작동하지 않을 가능성이 높죠.

실제로 온라인 퀀트 커뮤니티에서 많은 초보 투자자들이 “백테스트에서는 연 50% 수익률이 나왔는데 실전에서는 -10% 손실이 났어요”라는 하소연을 자주 올리더라고요. 이게 바로 과최적화의 전형적인 사례거든요.

퀀트 초보가 과최적화에 빠지는 3가지 패턴

초보 투자자들이 과최적화 함정에 빠지는 이유는 명확합니다. 좋은 백테스트 결과를 보고 싶은 욕심 때문이에요.

첫 번째, 조건을 너무 많이 넣는다

  • 복잡한 필터링의 함정: PER, PBR, ROE, 매출증가율, 영업이익률, 유동비율, 부채비율, 모멘텀 스코어까지 8개 이상의 조건을 동시에 거는 경우가 많습니다. 조건이 많을수록 과거 데이터에는 딱 맞지만, 미래에는 그 조합이 다시 나타나기 어렵죠.
  • 구체적인 수치 설정: PER 7.3배 이하, PBR 0.82배 이하처럼 소수점까지 맞추는 건 위험 신호예요. 이런 정교한 숫자는 과거 데이터에 과도하게 맞춰진 결과일 가능성이 높거든요.
  • 팩터 조합의 늪: 밸류, 퀄리티, 모멘텀, 사이즈 팩터를 여러 개 섞으면서 각각의 가중치를 0.1 단위로 조정하다 보면 어느새 과최적화된 전략이 완성됩니다

한 퀀트 투자자는 “처음에는 조건 5개로 시작했는데, 백테스트 수익률을 높이려고 조건을 하나씩 추가하다 보니 12개가 됐어요. 그런데 실전에서는 완전히 다른 결과가 나왔죠”라고 말하더라고요.

두 번째, 백테스트 기간이 너무 짧다

3년치 데이터만 가지고 백테스트를 하면 그 기간의 시장 특성에만 최적화된 전략이 나올 수밖에 없습니다. 2017년부터 2019년까지는 성장주 장세였고, 2020년은 코로나 쇼크, 2021년은 유동성 장세였거든요. 각 기간마다 시장 성격이 완전히 달랐어요.

한국거래소 정보데이터시스템에서 제공하는 과거 데이터를 활용할 때도 최소 10년 이상의 기간으로 백테스트를 돌려야 상승장과 하락장을 모두 겪은 전략의 강건함을 확인할 수 있습니다. 거래 횟수도 중요한데요. 1년에 한 번만 리밸런싱하는 전략을 3년치 데이터로 테스트하면 표본이 3개밖에 안 됩니다. 이건 통계적으로 의미가 없는 숫자죠.

세 번째, 데이터 마이닝에 중독된다

데이터 마이닝이란 여러 변수들을 마구 조합해서 테스트하다가 우연히 좋은 결과가 나온 조합을 찾는 걸 말합니다. 100가지 조합을 시도하면 그 중 5~10개는 우연히라도 좋은 성과를 보이기 마련이거든요. 문제는 그게 진짜 효과인지, 아니면 단순한 우연인지 구분하기 어렵다는 겁니다.

실제로 엑셀이나 파이썬으로 여러 조건을 바꿔가며 수십 번 백테스트를 돌리다 보면 수익률이 좋은 조합을 찾게 됩니다. 그런데 그 전략을 실전에 적용하면 기대와 달리 손실이 나는 경우가 많아요.

👉 파이썬 vs 엑셀, 나에게 맞는 퀀트 투자 도구 선택 가이드에서 도구 선택 방법을 확인하셨다면, 이제는 그 도구로 올바른 전략을 만드는 게 중요합니다.

그렇다면 어떻게 해야 과최적화를 피할 수 있을까요?

과최적화를 피하는 실전 검증 방법 4가지

과최적화를 완벽하게 막을 수는 없지만, 그 위험을 크게 줄이는 검증 방법들이 있습니다. 실제로 전문 퀀트 투자자들이 사용하는 기법들이에요.

샘플 외 검증 (Out-of-Sample Test)

가장 기본적이면서 효과적인 방법입니다. 전체 데이터를 학습용(In-Sample)과 검증용(Out-of-Sample)으로 나누는 거예요. 예를 들어 2010년부터 2024년까지 15년 데이터가 있다면, 2010~2019년 10년은 학습용으로 전략을 개발하고, 2020~2024년 5년은 검증용으로 남겨둡니다.

학습용 데이터로 만든 전략을 검증용 데이터에 적용했을 때도 비슷한 수익률이 나와야 과최적화가 아닌 강건한 전략이라고 할 수 있어요. 만약 학습 기간에는 연 30% 수익률이었는데 검증 기간에는 5% 수익률이라면, 그 전략은 과최적화되었을 가능성이 높습니다.

워크포워드 분석 (Walk-Forward Analysis)

워크포워드 분석이란 시간을 이동하면서 반복적으로 검증하는 방법을 뜻합니다. 예를 들어 5년 데이터로 전략을 개발하고 다음 1년을 검증하는 과정을 반복하는 거죠.

  • 1단계: 2010~2014년 데이터로 전략 개발 → 2015년 검증
  • 2단계: 2011~2015년 데이터로 전략 재개발 → 2016년 검증
  • 3단계: 2012~2016년 데이터로 전략 재개발 → 2017년 검증

이렇게 매년 반복하면서 각 검증 기간의 성과를 평균 내는 방법이에요. 시장 환경이 바뀌어도 전략이 계속 작동하는지 확인할 수 있습니다. 다만 이 방법은 시간이 많이 걸린다는 단점이 있죠.

단순함을 유지하라

전략은 단순할수록 좋습니다. 조건이 3~5개를 넘어가면 과최적화 위험이 급격히 높아져요. 실제로 성공한 퀀트 전략들을 보면 대부분 단순하거든요.

전략 유형적정 조건 개수과최적화 위험도
단일 팩터 전략1~2개낮음
복합 팩터 전략3~5개보통
복잡한 전략6개 이상높음

이 표를 보면 전략의 복잡도와 위험도가 비례한다는 걸 알 수 있습니다.

저PER 전략, 고배당 전략처럼 한두 개 지표만 사용하는 단순한 전략이 오히려 장기적으로 안정적인 수익을 내는 경우가 많아요. 복잡한 전략이 무조건 좋은 게 아니라는 뜻이죠.

충분한 거래 횟수 확보

통계적으로 의미 있는 결과를 얻으려면 최소 30회 이상의 거래 샘플이 필요합니다. 연 1회 리밸런싱 전략이라면 최소 30년 데이터가 필요하고, 월 1회 리밸런싱이라면 최소 3년 데이터가 필요한 셈이에요.

거래 횟수가 적으면 좋은 성과가 나와도 그게 전략의 효과인지 단순한 운인지 구분할 수 없습니다. 실제로 한 퀀트 투자자가 “분기별 리밸런싱 전략을 3년치 데이터로 테스트했더니 12번 거래에서 10번 수익이 났어요. 그런데 실전에서는 다음 4번 중 3번이 손실이었죠”라고 말한 적이 있습니다. 표본이 너무 적었던 거죠.

과최적화 체크리스트로 내 전략 점검하기

지금 여러분이 만든 전략이 과최적화되었는지 확인하려면 아래 체크리스트를 활용해보세요. 5개 중 3개 이상 해당된다면 전략을 재검토해야 합니다.

  • 백테스트 수익률이 비현실적으로 높다: 연 40% 이상의 수익률은 의심해봐야 해요. 시장 평균 수익률이 연 8~10% 정도인데 그보다 4배 이상 높다면 과최적화 가능성이 큽니다.
  • 조건이 6개 이상이다: 필터링 조건, 팩터 조합, 가중치 설정 등을 모두 합쳐서 6개가 넘으면 단순화를 고려해보세요.
  • 백테스트 기간이 5년 미만이다: 최소 10년 이상의 데이터로 검증해야 다양한 시장 환경을 반영할 수 있습니다.
  • 샘플 외 검증을 하지 않았다: 전체 데이터로만 백테스트를 했다면 반드시 데이터를 나눠서 재검증해야 해요.
  • 여러 번 파라미터를 조정했다: 수익률을 높이기 위해 조건을 10번 이상 수정했다면 데이터 마이닝에 빠졌을 가능성이 높습니다.

특히 마지막 항목이 중요해요. 백테스트 결과를 보고 조건을 수정하고, 다시 백테스트하고, 또 수정하는 과정을 반복하면 자신도 모르게 과거 데이터에 맞춰진 전략을 만들게 되거든요.

마무리

과최적화는 퀀트 초보자들이 가장 흔하게 빠지는 함정입니다. 백테스트에서 완벽해 보이는 전략이 실전에서는 전혀 작동하지 않는 이유가 바로 여기에 있죠. 과최적화를 피하려면 전략을 단순하게 유지하고, 충분히 긴 기간의 데이터로 검증하며, 샘플 외 테스트를 반드시 거쳐야 합니다. 완벽한 백테스트 결과보다는 다양한 시장 환경에서 일관되게 작동하는 강건한 전략을 만드는 데 집중해보세요. 지금 바로 내 전략을 체크리스트로 점검해보시는 걸 권해드립니다.

자주 묻는 질문

1. 백테스트 수익률이 얼마나 높으면 과최적화를 의심해야 하나요?
연 40% 이상의 수익률은 의심해봐야 합니다. 시장 평균 수익률(KOSPI 연 8~10%)보다 4~5배 높은 성과는 과거 데이터에 과도하게 맞춰졌을 가능성이 크거든요. 물론 특정 기간에는 가능하지만, 10년 이상 장기간 지속적으로 그런 수익률을 내기는 어렵습니다.
2. 샘플 외 검증을 할 때 데이터를 어떤 비율로 나눠야 하나요?
일반적으로 70:30 또는 80:20 비율을 많이 사용합니다. 전체 데이터의 70~80%는 전략 개발용(In-Sample)으로, 나머지 20~30%는 검증용(Out-of-Sample)으로 나누는 거죠. 예를 들어 10년 데이터가 있다면 처음 7~8년은 개발용, 최근 2~3년은 검증용으로 활용하시면 됩니다.
3. 조건을 몇 개까지 넣는 게 적당한가요?
3~5개 정도가 적정 수준입니다. PER, PBR 같은 밸류 지표 1~2개, ROE 같은 퀄리티 지표 1개, 모멘텀 지표 1개 정도로 조합하는 게 안전해요. 6개를 넘어가면 과최적화 위험이 급격히 높아지니까 정말 필요한 조건인지 다시 한번 고민해보세요.
4. 과최적화된 전략은 실전에서 어떻게 나타나나요?
백테스트와 실전 수익률의 괴리가 큽니다. 백테스트에서 연 30% 수익률이었는데 실전에서는 5% 이하거나 손실이 나는 경우가 대표적이에요. 또한 처음 몇 달은 잘 작동하다가 갑자기 성과가 급락하는 패턴을 보이기도 합니다. 시장 환경이 조금만 바뀌어도 전략이 무너지는 거죠.
5. 워크포워드 분석은 꼭 해야 하나요?
시간이 된다면 강력히 권장드립니다. 샘플 외 검증보다 더 엄격한 방법이거든요. 다만 계산 시간이 많이 걸려서 초보자에게는 부담스러울 수 있어요. 그럴 때는 최소한 샘플 외 검증만이라도 반드시 수행하시고, 여유가 생기면 워크포워드 분석까지 추가하시면 됩니다.

※ 본 콘텐츠는 보험, 투자, 금융, 재테크, 연금, 대출, 세금, 자산관리 등과 관련된 일반적인 정보를 취합하여 제공하는 정보성 콘텐츠입니다.

본문에서 언급된 내용은 특정 금융상품, 투자방식, 금융기관, 보험사, 대출서비스 등을 직접적으로 권유하거나 보장하지 않으며, 관련 법률, 규제, 제도는 작성 시점을 기준으로 정리되었기에 시간 경과에 따라 변경될 수 있습니다.

사용자의 실제 재무 상황, 계약 조건, 법적 요건 등에 따라 적용 방식이나 결과는 달라질 수 있으며, 본 정보를 기반으로 한 투자, 가입, 청구, 의사결정에 대해서는 책임지지 않습니다.

보다 정확한 판단과 조치를 위해서는 반드시 관련 분야의 전문가, 금융기관, 보험사, 세무사, 또는 공인중개인 등의 자문을 받으시기 바랍니다.