PIT 오류가 백테스트를 왜곡하는 방식
실제 이용 가능 시점보다 앞선 데이터를 사용했을 때 성과가 어떻게 부풀려지는지 설명한다.
미래 정보 누출이 성과 지표를 어떻게 부풀리는지 사례로 설명한다. 이 글은 목차·앵커·읽기 시간이 실제로 렌더링되는 essays 상세의 표본이기도 하다.
PIT 오류란 무엇인가#
Point-in-Time 오류는 특정 시점에 실제로 이용 가능했던 데이터가 아니라, 나중에 정정되거나 재계산된 값을 그 시점의 관측치로 되돌려 쓸 때 생긴다. 재무제표 정정, 지수 리밸런싱, 서베이 재조사처럼 값이 사후에 바뀌는 시계열에서 특히 자주 나타난다. 백테스트는 과거를 재현한다고 믿지만, 실제로는 미래에만 알 수 있었던 정보를 과거로 흘려보내며 성과를 조용히 부풀린다.
성과가 부풀려지는 경로#
정정된 실적을 앞당겨 쓰면 모델은 아직 공표되지 않은 어닝 서프라이즈를 미리 아는 셈이 된다. 지수 편입이 확정되기 전에 편입 종목을 매수하고, 상장 폐지가 공시되기 전에 회피한다. 이런 누출은 개별 신호로는 미미해 보여도 수백 종목·수천 일에 걸쳐 누적되면 샤프 지수를 비현실적으로 끌어올린다. 라이브에서 재현되지 않는 초과수익은 대부분 여기서 나온다.
방어하는 방법#
방어의 핵심은 “그 시점에 정말로 알 수 있었는가”를 데이터 계층에서 강제하는 것이다. 정정 이력을 보존하는 as-of 스냅샷을 쓰고, 각 관측치에 실제 이용 가능 시각을 붙여 그 이전에는 참조하지 못하게 막는다. 백테스트 러너는 조회 시점보다 미래의 레코드를 반환하면 통과가 아니라 실패로 떨어뜨려야 한다. 검증은 편의가 아니라 실패 폐쇄를 향해 닫혀 있어야 한다.