백테스트 과최적화란? 시간대 필터가 함정이 되는 순간
백테스트를 오래 하다 보면 수익곡선을 예쁘게 만드는 조건을 반드시 찾게 됩니다. 문제는 그 조건이 시장의 반복 가능한 특징인지, 과거 데이터의 우연한 흔적인지 구분하기 어렵다는 점입니다. 특히 시간대를 한 시간씩 잘라가며 가장 좋은 구간을 고르는 방식은 강력해 보이지만 과최적화 위험도 큽니다.

이 글은 계좌방위대의 2026-08-09 1RR 다자산 시간대 필터 연구와 2026-08-18 5/20 SYSTEM RESET 연구 기록을 바탕으로 재구성했습니다. 공개 목적에 맞게 전략의 구체적인 진입 조건과 내부 파라미터는 제외하고 검증 방법과 관찰 결과에 집중합니다.
과최적화는 과거를 너무 잘 설명하는 문제다
전략에 조건을 하나씩 추가하면 과거 성과는 대개 좋아집니다. RSI를 하나 붙이고, 특정 요일을 빼고, 한두 시간대를 제외하고, 손실이 컸던 달을 제거하면 수익곡선은 점점 매끈해질 수 있습니다.
하지만 조건이 늘어날수록 미래에도 같은 규칙이 유지될 이유는 줄어듭니다. 과거 데이터의 잡음까지 규칙으로 외워버렸기 때문입니다.
실제 연구에서 수치가 좋아져도 버린 필터가 있었다
최근 5/20 시스템 재검증에서는 필터의 목적을 '가장 높은 백테스트 수익'이 아니라 '장기, 최근, 다른 브로커에서 반복되는 약점 제거'로 바꿨습니다. EURUSD의 특정 시간 제외는 수치상 개선이 있었지만 오래된 구간에서 재현성이 약해 최종안에서 제거했습니다.
XAUUSD도 시간대를 자르면 특정 구간은 좋아졌지만 시대별로 우위가 뒤집혔습니다. 그래서 오히려 무필터 상태를 유지했습니다. 성과가 좋아진다는 이유만으로 조건을 남기지 않은 사례입니다.
좋은 파라미터 한 점보다 plateau가 중요하다
정확히 하나의 숫자에서만 성과가 뛰어나고 바로 옆 값에서 무너진다면 우연일 가능성을 의심해야 합니다. 반대로 주변 여러 값에서도 비슷한 기대값이 유지되는 구간은 특정 숫자 하나에 대한 의존도가 낮습니다.
최근 연구에서는 눌림 깊이와 모멘텀 대기시간 같은 파라미터를 한 점이 아니라 주변 범위로 움직여 보며 구조가 유지되는지 확인했습니다. 최종 숫자 자체보다 이 민감도 검사가 더 중요했습니다.
시간대 필터는 특히 여러 시대를 나눠봐야 한다
US30에서는 한때 좋아 보였던 NY 08~11 구간이 2021년 이후에 성과가 집중된 최근 레짐 성격을 보였습니다. 더 오래된 구간으로 확장하자 약점이 드러났습니다.
반면 다른 시간창은 2009~2016, 2017~2020, 2021~2026처럼 시대를 나눴을 때 상대적 우위가 더 반복됐고, 다른 브로커 데이터에서도 같은 방향이 확인됐습니다. 시간필터는 이렇게 검증하지 않으면 최근 몇 년에만 맞춘 규칙이 되기 쉽습니다.
과최적화를 줄이기 위한 실전 체크리스트
완전한 방지는 어렵지만 선택 편향을 줄이는 방법은 있습니다.
- Long과 Short를 따로 확인한다.
- 전체기간과 최근기간을 동시에 본다.
- 파라미터를 한 점이 아니라 주변 범위로 움직여 본다.
- 가능하면 다른 브로커나 다른 데이터 피드에서도 반복되는지 본다.
- 필터를 고른 뒤에는 일정 기간 규칙을 동결해 미래 데이터를 받는다.
- 손실 몇 번을 이유로 새 필터를 즉흥적으로 추가하지 않는다.
진짜 OOS는 앞으로 들어오는 데이터다
연구자가 이미 전체 데이터를 보고 필터를 선택했다면 과거 구간을 다시 반으로 나눠도 완전한 OOS라고 부르기 어렵습니다. 선택 과정에서 이미 미래 구간의 정보가 간접적으로 반영됐기 때문입니다.
그래서 현재 연구에서는 규칙을 동결한 뒤 새로 발생하는 거래를 첫 번째 진짜 OOS로 취급합니다. 이 지점부터 백테스트가 아니라 포워드 로그가 전략의 생존 여부를 결정합니다.
자주 묻는 질문
백테스트 과최적화는 어떻게 확인하나요?
파라미터 주변값, 다른 기간, Long/Short 분리, 다른 자산과 데이터 피드에서 비슷한 구조가 유지되는지 확인하는 방법이 있습니다. 최종적으로는 규칙을 고정한 포워드 테스트가 필요합니다.
시간대 필터를 쓰면 과최적화인가요?
시간대 필터 자체가 문제는 아닙니다. 여러 시간창을 반복 탐색한 뒤 가장 좋은 구간만 선택하면 선택 편향이 커집니다. 오래된 기간과 다른 피드에서도 같은 약점이 반복되는지 확인해야 합니다.
백테스트와 연구 수치는 과거 데이터의 관찰 결과이며 미래 수익을 보장하지 않습니다. 실제 거래 결과는 체결 비용, 슬리피지, 포지션 크기, 시장 환경에 따라 달라질 수 있습니다.
