전진분석이란? 좋은 백테스트가 실전에서도 통하는지 확인하는 법

과거 데이터 전체를 보면서 가장 좋은 이동평균 기간과 손절 폭을 골랐다면, 그 결과는 이미 답을 알고 푼 시험과 비슷합니다. 같은 데이터에서 다시 성과를 측정해도 전략이 새로운 시장 구간에서 작동하는지는 알 수 없습니다.

전진분석(Walk-forward Analysis)은 규칙을 선택한 구간과 확인할 구간을 분리하고, 이 과정을 시간 순서대로 반복하는 방법입니다. 목적은 실전 수익을 보장하는 것이 아니라, 과거에 맞춘 규칙이 새로운 구간에서 얼마나 달라지는지 확인하는 데 있습니다.

이 글의 핵심

  • 표본 내 구간에서는 규칙과 변수 후보를 선택하고, 표본 외 구간에서는 선택을 바꾸지 않은 채 확인합니다.
  • 전진분석은 한 번의 분할보다 선택·확인을 여러 시점에서 반복합니다.
  • 표본 외 성과가 좋아도 미래 수익이 보장되지는 않습니다. 비용, 데이터 한계, 시장 구조 변화는 별도로 점검해야 합니다.

전진분석이 필요한 이유

백테스트에서 변수 조합을 여러 개 시험하면 가장 높은 결과가 하나는 나옵니다. 문제는 그 값이 전략의 원리보다 해당 기간의 우연한 가격 경로를 잘 맞췄을 수 있다는 점입니다.

예를 들어 10년 데이터 전체에서 가장 좋은 17일 이동평균선을 골랐다면, 17일이라는 값은 그 10년을 이미 본 뒤에 정한 값입니다. 그 결과를 같은 10년으로 다시 평가하면 선택 과정의 편향이 남습니다.

전진분석은 시간을 아래처럼 나눕니다.

구간 하는 일 바꾸면 안 되는 것
표본 내(In-sample) 가설에 맞는 변수 후보와 규칙을 선택 표본 외 결과를 미리 보는 일
표본 외(Out-of-sample) 선택한 규칙을 새 구간에 그대로 적용 결과가 나쁘다고 변수 재선택하는 일
다음 단계 시간 창을 앞으로 옮겨 다시 선택·확인 과거의 표본 외 결과를 선택 기준에 섞는 일

백테스트 결과를 믿기 전 확인할 3가지에서 다룬 과최적화는 이 구분 없이 최고 성과만 고를 때 특히 커집니다.

한 번의 분할과 전진분석은 무엇이 다른가

한 번의 표본 내·표본 외 분할도 기본 검증에 도움이 됩니다. 다만 시작점이 우연히 좋거나 나쁜 시장 국면에 걸리면 결과가 한 구간의 특성에 크게 흔들릴 수 있습니다.

전진분석은 선택과 확인을 여러 번 반복합니다.

TEXT
과거 구간 A에서 규칙 선택 → 다음 구간 A에서 확인
과거 구간 B에서 규칙 선택 → 다음 구간 B에서 확인
과거 구간 C에서 규칙 선택 → 다음 구간 C에서 확인

각 확인 구간의 거래 내역을 시간 순서로 이어 보면, 과거의 정보만 사용해 전략을 갱신했을 때 어떤 경로가 나왔는지 살펴볼 수 있습니다. 여기서도 각 구간의 신호 시점, 체결 가격, 비용 가정은 같아야 합니다.

확장형과 롤링형 중 무엇을 쓸까

전진분석에는 대표적으로 두 가지 창 이동 방식이 있습니다.

방식 선택 구간 장점 주의할 점
확장형(Expanding) 처음부터 현재까지 누적 긴 과거를 모두 사용해 추정이 덜 흔들릴 수 있음 오래된 시장 구조의 영향도 계속 남음
롤링형(Rolling) 최근 일정 기간만 사용 최근 환경에 더 민감하게 반응 표본이 짧아져 변수 선택이 더 자주 흔들릴 수 있음

어느 방식이 항상 더 낫지는 않습니다. 전략이 긴 주기의 흐름을 이용하는지, 최근 변동성 변화에 민감한지, 재선택 비용을 감당할 수 있는지에 따라 선택이 달라집니다. 따라서 한 방식의 높은 수익률만 보여 주기보다, 변수 변경 횟수·거래 수·낙폭의 차이도 함께 기록해야 합니다.

전진분석에서 먼저 고정할 항목

전진분석은 매 구간마다 마음대로 전략을 고치는 작업이 아닙니다. 다음 항목을 먼저 문서로 고정해야 합니다.

  1. 대상 종목군과 데이터 처리 기준
  2. 신호 확정·주문·체결 시점
  3. 수수료·세금·슬리피지 같은 비용 가정
  4. 시험할 변수 범위와 후보 선택 기준
  5. 표본 내·표본 외 기간과 창을 움직이는 단위
  6. 표본 외 결과가 나쁜 경우에도 해당 구간의 기록을 보존하는 규칙

시스템 트레이딩 전략은 어떻게 만들까? 아이디어부터 검증까지 6단계의 표본 외 확인 단계도 이 원칙을 따릅니다. 순서를 고정하지 않으면 전진분석 결과도 사후 조정된 백테스트가 될 수 있습니다.

결과는 어떻게 읽어야 하는가

전진분석에서 한두 구간의 성과가 약하다고 바로 전략이 틀렸다고 결론낼 수는 없습니다. 반대로 모든 구간이 수익이라고 해도 미래에 같은 결과가 반복된다고 말할 수 없습니다.

대신 아래 질문을 함께 봅니다.

  • 표본 외 구간에서 거래 수와 손실 규모가 예상 범위에서 크게 벗어났는가
  • 선택 구간의 최고 변수와 표본 외에서 상대적으로 견딘 변수가 같은가
  • 인접한 변수에서도 결과의 성격이 유지되는가
  • 비용을 조금 높이거나 체결을 보수적으로 바꿔도 결론이 유지되는가
  • 특정 시장 국면에서만 결과가 좋았는가

결과가 약한 구간은 숨길 실패가 아니라 전략의 적용 범위를 알려 주는 자료입니다. 그 이유를 가설, 데이터, 체결, 종목군 중 어디에서 다시 확인할지 기록하는 것이 전진분석의 목적에 가깝습니다.

실전 전 마지막 확인 항목

전진분석을 통과한 뒤에도 바로 자동 주문으로 넘어가지 않습니다. 신호와 체결이 실제 환경에서 일치하는지 모의 또는 작은 규모로 확인하고, 계획보다 큰 낙폭·데이터 오류·주문 오류가 생길 때 중지할 기준을 둬야 합니다.

자동매매 시작 전 준비할 3가지: 데이터·검증·주문 환경은 검증 결과를 주문 환경으로 옮길 때 분리해야 할 항목을 다룹니다. 포지션 사이징 계산법: 1% 룰을 적용하기 전에 알아야 할 것은 표본 외에서 확인한 손실 경로를 실제 거래 수량과 연결하는 출발점입니다.


이 글은 전진분석의 개념과 검증 절차를 설명하기 위한 교육용 자료입니다. 예시는 특정 종목의 매수·매도 추천이나 미래 수익을 의미하지 않으며, 실제 투자 판단과 책임은 투자자 본인에게 있습니다.