백테스트 검증

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

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

작성일 2026-08-18작성·검증 계좌방위대읽는 시간 7분
연구 대상

백테스트 거래 원장 무결성

데이터·표본

진입·청산 ID, 기대 R, 재진입·피라미딩·상태 초기화 점검

검증 방법

성과 통계보다 먼저 거래별 구조 오류를 확인하고 오류 원장과 파생 분석을 폐기

해석 한계

단일 성과 수치보다 검증 절차를 설명하는 방법론 문서임

무결성 감사부터 포워드 동결까지 백테스트 검증체계를 정리한 표
성과 분석 전에 통과시키도록 재설계한 무결성·교차검증·포워드 검증 단계입니다.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Q&A

자주 묻는 질문

좋은 백테스트를 버려야 하는 순간에서 가장 중요한 결론은 무엇인가요?

성과 분석보다 먼저 거래 데이터가 전략 규칙대로 만들어졌는지 검증해야 합니다.

무결성 검사가 성과 분석보다 먼저다에서는 무엇을 확인했나요?

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

이 연구 결과를 실제 수익이나 미래 성과로 봐도 되나요?

아닙니다. 이 글의 수치는 특정 데이터와 실행 조건에서 관찰한 백테스트·감사 결과입니다. 실제 거래에서는 스프레드, 슬리피지, 브로커 환경, 포지션 크기와 시장 상황이 달라질 수 있으므로 별도의 포워드 검증이 필요합니다.

SUMMARY

핵심만 다시 정리하면

  • 성과 분석보다 먼저 거래 데이터가 전략 규칙대로 만들어졌는지 검증해야 합니다.
  • 이 글의 수치는 해당 연구 당시의 데이터와 실행 조건에서 얻은 결과이며, 이후 시장에서도 그대로 반복된다는 뜻은 아닙니다.
  • 실전 적용 여부는 백테스트 수치 하나보다 재현성, 비용, 다른 기간·브로커 검증과 포워드 기록을 함께 보고 판단해야 합니다.
연구 자료

자료와 해석 범위

이 글은 계좌방위대가 직접 진행한 백테스트와 실행 검증 기록을 기준으로 작성했습니다. 구체적인 진입 규칙과 내부 파라미터는 공개하지 않습니다.

한계: 단일 성과 수치보다 검증 절차를 설명하는 방법론 문서임

작성 및 검증

계좌방위대

연구 글의 데이터, 표, 결론은 운영자가 직접 확인합니다. 오류가 확인되면 해당 글의 수치와 결론을 수정합니다.

연구 원칙 · 오류·정정 제보

백테스트 오류백테스트 검증거래 데이터 무결성FIFO피라미딩 백테스트
투자·연구 자료 안내

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