You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

4.0 KiB

Testing Checklist

목적

이 체크리스트는 Phase 4 백테스터의 정확성, 재현성, 보수성을 검증하기 위한 것입니다.

테스트는 아래 5개 계층으로 나눕니다.

  1. 단위 테스트
  2. 통합 테스트
  3. 리플레이 / 재현성 테스트
  4. 통계/리포트 검증
  5. 운영 전 수동 검토

P0 — 반드시 통과해야 하는 테스트

1. 날짜/시간 정렬

  • 장전 event가 같은 날 reaction session으로 매핑되는지
  • 장후 event가 다음 거래일 reaction session으로 매핑되는지
  • 장중 event가 availability timestamp 규칙에 맞게 처리되는지
  • 휴장일 다음 거래일 계산이 정확한지
  • timezone aware datetime만 사용되는지

2. snapshot 무결성

  • snapshot reader가 future rows를 읽지 않는지
  • feature availability timestamp 이후의 값만 사용되는지
  • 결측 critical field가 있으면 skip되는지
  • dataset snapshot id가 결과 metadata에 기록되는지

3. deterministic 실행

  • 동일 manifest 재실행 시 blotter row 수가 같은지
  • 동일 manifest 재실행 시 metrics summary가 같은지
  • tie-break가 deterministic한지
  • floating rounding 정책이 고정되어 있는지

4. 체결/청산 규칙

  • next-open entry가 정확히 open price 기반으로 계산되는지
  • stop breach 시 보수적 우선순위가 적용되는지
  • target + stop same-bar 충돌 시 기본 우선순위가 테스트되는지
  • time exit가 holding day close에 실행되는지
  • partial exit 후 잔여수량이 정확히 업데이트되는지

5. 포트폴리오 제약

  • max positions 초과 진입이 차단되는지
  • sector gate가 적용되는지
  • daily risk budget이 초과되면 나머지 종목이 reject되는지
  • duplicate symbol / issuer 진입이 차단되는지
  • cash/exposure ledger가 음수로 깨지지 않는지

P1 — 강하게 권장되는 테스트

6. 비용/슬리피지

  • slippage bps가 fill price에 반영되는지
  • commission model on/off가 결과에 반영되는지
  • 저유동성 penalty가 sizing 또는 fill에 반영되는지

7. 리포트/산출물

  • trade blotter 필수 컬럼이 모두 채워지는지
  • equity curve와 blotter realized pnl이 일치하는지
  • attribution report 합계가 전체 결과와 일치하는지
  • metrics summary JSON schema 검증이 통과하는지
  • plots 생성 실패가 run 전체를 깨지 않는지

8. split / walk-forward

  • year split이 정상 생성되는지
  • regime split이 정상 생성되는지
  • walk-forward window가 누수 없이 생성되는지
  • test 구간이 train 구간과 겹치지 않는지

P2 — 리플레이 / 회귀 테스트

9. 회귀 스냅샷

  • 소형 고정 데이터셋으로 golden run 결과를 저장했는지
  • 코드 변경 후 golden run 결과가 의도치 않게 바뀌지 않는지
  • 의도적 변경일 때는 run notes에 차이를 기록하는지

10. 에러 처리

  • missing bar 데이터가 있을 때 no-trade로 안전하게 떨어지는지
  • unknown config key가 에러 처리되는지
  • schema invalid manifest가 실행 전에 차단되는지
  • corrupted artifact write가 적절히 에러를 내는지

수동 검토 체크리스트

  • 샘플 20개 거래를 사람이 손으로 계산해 엔진 결과와 대조했는지
  • 장후 발표 실적 5개 케이스를 수동 검증했는지
  • same-bar stop/target 충돌 케이스를 수동 검증했는지
  • 섹터 제한 때문에 reject된 거래가 합리적인지 검토했는지
  • drawdown curve가 trade blotter와 정합적인지 확인했는지
  • 기대보다 너무 좋은 성과가 나올 때 leakage audit를 수행했는지

통과 기준

  • P0 전항목 통과
  • P1 항목 중 치명적 실패 없음
  • 수동 검토 샘플에서 명백한 timestamp/price 오류 없음
  • regression snapshot 재현 성공