안내본 서비스는 시장 데이터와 기술적 분석 정보를 제공하기 위한 교육·정보용 서비스입니다. 특정 자산의 매수·매도 또는 투자를 권유하지 않으며, 최종 판단과 책임은 이용자에게 있습니다.
RESEARCH NOTE · 백테스트 검증

좋은 백테스트를 버려야 하는 순간: 거래 데이터 무결성 체크리스트

백테스트에서 가장 위험한 오류는 눈에 띄게 망가진 그래프가 아닙니다. 수익곡선은 좋아 보이는데 거래목록 내부가 틀린 경우입니다. 이런 데이터로 시간대와 종목을 분석하면 잘못된 원본에서 정교한 결론을 만드는 셈이 됩니다.

업데이트 2026-08-18읽는 시간 7분자체 연구 데이터 기반
무결성 감사부터 포워드 동결까지 백테스트 검증체계를 정리한 표
성과 분석 전에 통과시키도록 재설계한 무결성·교차검증·포워드 검증 단계입니다.
자료 기준

이 글은 계좌방위대의 2026-08-09 1RR 다자산 시간대 필터 연구와 2026-08-18 5/20 SYSTEM RESET 연구 기록을 바탕으로 재구성했습니다. 공개 목적에 맞게 전략의 구체적인 진입 조건과 내부 파라미터는 제외하고 검증 방법과 관찰 결과에 집중합니다.

무결성 검사가 성과 분석보다 먼저다

최근 시스템 재검증에서는 '구조적 이상이 하나라도 확인된 백테스트는 수익률이 높아도 폐기한다'는 원칙을 세웠습니다. 원본 거래가 틀렸다면 그 데이터로 만든 시간대, 월별, 포트폴리오 분석도 모두 오염되기 때문입니다.

수익률, 승률, MDD를 보기 전에 먼저 진입과 청산이 의도한 규칙대로 연결되는지 확인해야 합니다.

진입 ID와 청산 ID가 정말 1:1로 연결되는가

피라미딩이나 재진입을 허용하면 같은 종목에서 여러 거래가 동시에 존재할 수 있습니다. 이때 진입마다 고유한 청산이 연결되지 않으면 한 포지션의 TP가 다른 포지션을 닫는 문제가 생길 수 있습니다.

거래 결과만 보면 모두 청산된 것으로 보이지만 각 거래의 실제 R은 의도한 값과 달라집니다.

TP와 SL이 실제 손익과 맞는지 확인한다

전략이 1R 손절과 3R 익절을 의도했다면 거래목록의 실제 손익도 그 구조와 설명이 맞아야 합니다. 예상 밖의 작은 손익이 반복되면 청산 매칭이나 주문 처리 규칙을 의심해야 합니다.

특히 하나의 청산 명령이 여러 진입을 동시에 닫는 구조에서는 정상적인 TP/SL처럼 보이는 요약 통계가 거래별로는 왜곡될 수 있습니다.

같은 봉 재진입과 상태 초기화를 확인한다

손절 후 즉시 재진입을 허용하는 전략과 다음 봉까지 기다리는 전략은 완전히 다른 시스템입니다. 플랫폼이 이 상태를 다르게 해석하면 거래수가 크게 달라집니다.

포지션 종료 후 내부 상태가 정상적으로 초기화되는지, 아직 포지션이 있는데 새 신호가 추가 주문을 만드는지 로그로 확인해야 합니다.

백테스트 무결성 체크리스트

성과표를 열기 전에 최소한 아래 항목부터 확인하는 편이 좋습니다.

  • 진입 ID와 청산 ID가 의도한 거래 단위로 대응되는가
  • TP/SL 결과가 설정한 R 구조와 실제 손익에 맞는가
  • 하나의 청산이 다른 포지션까지 함께 닫지 않는가
  • 피라미딩·FIFO 규칙이 의도와 일치하는가
  • 손절 후 재진입과 포지션 종료 후 상태 초기화가 정상인가
  • 상위 시간봉과 세션 시간 기준이 브로커 데이터와 일치하는가

오염된 백테스트를 살리려 하지 않는 이유

오류를 발견한 뒤 '대충 영향이 작을 것'이라고 가정하고 기존 통계를 계속 쓰면 문제가 누적됩니다. 시간대 하나를 선택하는 결론부터 포트폴리오 리스크까지 모두 잘못될 수 있습니다.

그래서 구조적 오류가 확인되면 해당 파일과 파생 분석을 함께 버리고, 정상 거래목록으로 처음부터 다시 검증하는 편이 오히려 빠릅니다.

주의

백테스트와 연구 수치는 과거 데이터의 관찰 결과이며 미래 수익을 보장하지 않습니다. 실제 거래 결과는 체결 비용, 슬리피지, 포지션 크기, 시장 환경에 따라 달라질 수 있습니다.