2026년 10월 23일 · 리서치

데이터가 나빠질수록 전략의 Sharpe 비율이 개선될 수 있습니다

데이터가 나빠질수록 전략의 Sharpe 비율이 개선될 수 있습니다

데이터를 더 나쁘게 만들고 나면 백테스트가 더 설득력 있어 보일 수 있습니다. 보기 흉한 체결 기록을 빼고, 빈 구간을 깔끔한 가격으로 채우면 Sharpe가 오를 수도 있습니다. 이런 개선은 경고 신호일 수 있습니다. 정제 규칙이 전략이 버텨내야 할 바로 그 시장 상황을 지워버렸을 수 있기 때문입니다.

데이터 품질은 중요합니다. 매수·매도 호가가 교차했거나 거래가 중복되면 실제로는 누구도 체결받지 못했을 가격에 체결된 것으로 기록될 수 있습니다. 하지만 불편한 관측값을 사라지게 만드는 필터 역시 모델 선택입니다. 새로운 신호 특성을 대하듯 의심을 품고 살펴야 합니다.

어떤 경우에 잘못된 가격이 실제로 잘못된 데이터일까요?

먼저 그 관측값이 무엇을 나타내는지 물어보세요. 시장을 크게 벗어난 거래 가격은 손상된 기록일 수도 있고, 유동성이 얕은 시장을 휩쓸며 체결된 진짜 거래일 수도 있으며, 특정 거래소에서만 발생한 이벤트일 수도 있습니다. 거래량이 0인 1분봉은 거래가 없었다는 뜻일 수 있지만, 캔들 자체가 누락됐다면 데이터 피드에 장애가 있었을 수 있습니다. 이런 경우는 서로 다르게 처리해야 합니다.

가격이 단기 이동평균보다 1% 낮아지면 매수하고 이동평균에 도달하면 청산하는 간단한 평균 회귀 전략을 생각해 보겠습니다. 유동성이 얕은 야간 시간대에 한 거래가 직전 가격보다 1.2% 낮게 체결된 뒤 시장이 반등합니다. 그 가격이 실제였다면 지정가 주문을 걸어둔 전략은 체결됐을 수 있습니다. 반대로 체결 가능한 호가가 뒷받침하지 않는 잘못된 틱이었다면, 그 체결을 포함하는 것은 존재하지 않는 엣지를 만들어냅니다.

봉을 삭제한다고 해서 자동으로 더 안전해지는 것은 아닙니다. 전략의 주문이 시장에 계속 대기 중이었을 수 있고, 다음에 발생한 실제 거래가 그 주문을 체결했을 수도 있습니다. 타당한 재생 시뮬레이션은 전략이 무엇을 관측할 수 있었는지, 그리고 전략의 주문이 실제로 어떤 거래를 상대로 체결될 수 있었는지를 모델링해야 합니다.

정제 규칙은 결과를 어떻게 바꿀까요?

데이터를 명시적으로 다르게 처리해 전략을 실행하고 결과의 변화를 비교하세요. 원본 데이터는 보관하고, 제외하거나 수정한 항목마다 이유를 기록하세요. 그런 다음 결과가 이런 결정에 얼마나 좌우되는지 보고하세요.

데이터 처리 방식기대 효과백테스트 위험
문서화된 거래소 오류 범위를 벗어난 체결 기록 제거이미 알려진 무효 기록이 극단적인 값을 만들지 않도록 방지급변장에서 정상적인 거래를 잘못 분류할 수 있음
누락된 구간에 직전 가격 반영가격 공백 때문에 지표 계산이 실패하지 않도록 방지실제 거래가 없었을 수도 있는 가격을 만들어냄
최근 체결가 대신 통합 호가 사용표시된 체결 가격을 더 잘 파악할 수 있음호가 잔량, 거래소 접근성, 대기열 내 위치도 여전히 중요함
통계적 임계값을 기준으로 이상치 봉을 모두 제거극단값에 대한 민감도 완화전략이 손실 대부분을 기록하는 실제 스트레스 구간을 제거할 수 있음

필터링하지 않은 실행의 Sharpe가 0.9이고, 봉의 0.8%를 제외한 실행에서는 1.4로 상승했다고 가정해 보겠습니다. 그렇다고 그 자체로 데이터 품질이 개선됐다고 볼 수는 없습니다. 제거한 봉이 변동성 급등 구간에 몰려 있는지, 손익에서 상당한 비중을 차지하는지, 그리고 결과를 보기 전에 제외 규칙을 정했는지 확인하세요.

데이터 예외 기록부를 작성하세요. 출처, 타임스탬프, 영향을 받은 필드, 처리 이유, 그리고 전략 성과를 검토하기 전과 후 중 언제 그 결정을 내렸는지 기록합니다.

정제가 엣지를 바꿨는지 어떻게 검증할까요?

전략을 고정하고 같은 기간에 여러 가지 타당한 데이터 처리 방식을 적용해 비교하세요. 가능하다면 원본 데이터를 그대로 재생한 결과, 문서화된 수정 사항을 적용한 결과, 그리고 모호한 관측값에 보수적인 체결 가정을 적용한 결과를 포함하세요. 각 실행에서 Sharpe와 함께 거래 수, 회전율, 낙폭, 영향을 받은 구간의 손익 기여도를 보고하세요.

그다음 달라진 거래를 살펴보세요. 의심스러운 체결 기록 몇 개를 제외했을 때 전략의 최고 수익 거래가 사라진다면 해당 기록을 하나씩 확인하세요. 반대로 손실 거래가 사라진 경우에도 똑같이 살펴보세요. 백테스트에 해로울 때만 신중하게 검토하는 규칙은 이미 리서치에 개입하고 있는 셈입니다.

재현 가능한 연구를 위해 공급업체 파일이나 파일의 체크섬, 정제 코드, 예외 목록의 버전을 관리하세요. 공급업체가 과거 데이터를 수정할 수 있습니다. 다음 실행에서 전략이 바뀐 것인지 입력 데이터가 바뀐 것인지 확인할 수 있어야 합니다.

그래도 정제는 필요한 것 아닌가요?

맞습니다. 명백히 손상된 기록을 그대로 두면 없던 거래를 만들어내거나, 변동성을 왜곡하거나, 지표 계산을 망가뜨릴 수 있습니다. 원본 피드가 정답이라고 가장해서도 안 됩니다. 핵심은 더 구체적입니다. 정제는 백테스트가 어떤 시장을 나타낸다고 주장하는지 바꿀 수 있으므로 근거와 고정된 규칙, 민감도 점검이 필요합니다.

데이터 수정 후 성과가 개선되면 어떤 관측값을 제거했는지, 자산 곡선을 보기 전에도 같은 결정을 내렸을지 물어보세요. 답이 불확실하다면 두 버전을 모두 연구 기록에 남기세요. 두 결과의 차이도 결과의 일부입니다.

데이터 품질백테스팅퀀트 리서치과최적화
← 전체 글