2026년 9월 15일 · 리서치

백테스트 슬리피지 모델은 일부러 틀리게 만들어야 합니다

백테스트 슬리피지 모델은 일부러 틀리게 만들어야 합니다

가장 정직한 슬리피지 모델은 일부러 틀린 경우가 많습니다. 거친 과거 데이터로 정밀한 체결 비용 하나를 보고하는 백테스트는 데이터가 뒷받침할 수 없는 주장을 하는 셈입니다.

그렇다고 대충 가정해도 된다는 뜻은 아닙니다. 오히려 반대입니다. 설명할 수 있는 단순한 모델을 사용한 뒤, 모델마다 서로 다른 결과를 내게 하세요. 전략이 유독 유리한 체결 추정치 하나에서만 작동한다면, 그 불확실성도 결과의 일부입니다.

정밀한 슬리피지 추정치가 왜 오해를 부를까요?

1분 OHLCV 봉이 있고 시장가 주문으로 2,000주를 매수한다고 가정해 보겠습니다. 봉 데이터는 1분 동안의 가격 범위와 총거래량을 알려줍니다. 하지만 주문이 도착했을 때의 매수 호가와 매도 호가, 내 앞에 있던 대기 물량, 분당 거래량의 분포, 주문이 거래량에서 차지했을 몫은 알려주지 않습니다.

그래도 슬리피지에 숫자를 붙일 수는 있습니다. 다음 봉의 시가에 고정된 베이시스포인트 비용을 더해 체결가로 잡거나, 주문 규모를 봉 거래량으로 나눈 비율에 따라 비용을 조정할 수 있습니다. 유용한 근사치지만 관측값은 아닙니다. 결과에 “슬리피지: 3.2 베이시스포인트”라고 쓰면 모델의 선택을 측정값처럼 보이게 합니다.

구체적인 예를 들어 보겠습니다. 주당 $20,000 규모로 주문을 내는 전략이 있고, 해당 종목의 다음 봉 거래량이 $400,000이라고 합시다. 참여율은 5%입니다. 비용을 2 베이시스포인트로 잡는 모델은 주문당 $4, 10 베이시스포인트로 잡는 모델은 $20를 부과합니다. 왕복 거래 500회에서는 수수료를 제외해도 차이가 $16,000에 달합니다. 전략의 백테스트 총수익이 $18,000이라면, 체결 가정이 신호만큼이나 결과에 큰 영향을 준 셈입니다.

5%다음 봉 거래량에서 주문 규모가 차지하는 비율
$16,0002와 10 베이시스포인트 가정에서 왕복 거래 500회 기준 비용 차이

데이터로 확인할 수 있는 범위를 반영해 비용 구간을 설정하세요

먼저 전략의 주문 유형과 데이터 해상도에 맞는 기준 가정을 정하세요. 시장가 주문에는 스프레드와 시장 충격이 필요합니다. 지정가 주문에는 체결 여부를 판단하는 규칙이 필요합니다. 가격이 한 번이라도 닿으면 모두 체결된다고 가정하는 것도 체결 오차입니다.

그다음 몇 가지 명시적인 조건에서 같은 백테스트를 실행하세요. 실행 조건의 변화에 따른 결과를 확인할 수 있도록 신호, 포지션 규모, 타임스탬프는 고정합니다:

조건체결 가정확인할 점
유리기준 스프레드와 낮은 시장 충격전략이 우호적인 거래 환경에 얼마나 의존하는가?
기준참여율에 따라 조정한 일반적인 스프레드와 시장 충격선택한 작업 가정이 어떤 결과를 내는가?
불리더 넓은 스프레드, 더 큰 시장 충격, 지연된 체결그럴듯하게 어려운 시장에서도 수익 기회가 유지되는가?

통계적으로 보정하지 않았다면 이런 결과는 신뢰구간이 아니라 시나리오 테스트입니다. 보고서에 각 시나리오의 의미를 명시하고, 확률에 관한 근거 없이 이를 평균 내어 허구의 “기대 슬리피지”를 만들지 마세요.

주문 특성에 반응하는 모델을 만드세요

고정된 베이시스포인트 비용은 소규모 주문의 첫 근사치로 쓸 수 있습니다. 하지만 참여율이 커지면 설명력이 떨어집니다. 최소한 주문 명목 금액, 가용 봉 거래량, 참여율을 기록하세요. 선물을 거래한다면 계약 금액과 관련 거래량 단위를 기록하고, 현물 암호화폐를 거래한다면 기준 통화와 거래소를 명확히 하세요.

간단한 시장 충격 곡선만으로도 오더북을 재현하는 척하지 않으면서 수용량 압박을 드러낼 수 있습니다. 예를 들어 비용을 기준 스프레드 비용에 참여율의 제곱근에 따라 커지는 충격 항을 더한 값으로 정의할 수 있습니다. 적절한 체결 데이터가 있을 때만 매개변수를 추정하세요. 그런 데이터가 없다면 매개변수 값을 바꿔가며 결과가 얼마나 빠르게 나빠지는지 보여주세요.

체결 모델이 전략을 슬그머니 살려내지 않도록 하세요. 급등 후에 도착한 매수 신호가 봉 안에 있다는 이유만으로 봉의 저가에 체결되어서는 안 됩니다. 인과관계에 맞는 체결 규칙을 사용한 뒤 가격을 불리하게 조정하고 체결을 지연시키세요. 주문 지연으로 움직임을 놓쳤다면, 그것도 체결 결과입니다. 매끈하게 다듬어 없앨 잡음이 아닙니다.

유용한 질문은 다음과 같습니다. 스프레드, 시장 충격, 지연 또는 참여율이 어느 수준에 이르면 순성과가 0을 넘나들까요? 이 손익분기점은 단일 백테스트 Sharpe 값보다 실무에 더 유용할 때가 많습니다.

모의 거래로 가정 범위를 좁히세요

모의 거래로는 실시간 매칭 엔진에서 받았을 체결을 알 수 없습니다. 그래도 백테스트의 주문 흐름이 시스템의 실제 판단과 닮았는지는 확인할 수 있습니다. 주문이 언제 생성되는지, 규모가 얼마인지, 얼마 동안 유효한지 살펴보세요.

모의 주문 가격을 같은 시점의 호가나 모의 거래 시스템이 기록하는 시장 데이터와 비교하세요. 종목, 시간대, 주문 규모, 주문 유형별 차이를 추적하세요. 이런 관측값은 해당 설정의 가정 범위를 좁히는 데 도움이 됩니다. 하지만 그 결과를 다른 거래소, 시장 국면, 더 큰 주문에 그대로 적용할 수는 없습니다.

비판자들의 지적처럼 비관적인 시나리오는 자의적일 수 있습니다. 지나치게 가혹한 모델은 유망한 전략을 탈락시킬 수 있고, 유리한 모델은 약한 전략을 부풀릴 수 있습니다. 따라서 가장 가혹한 시나리오를 진실로 내세우지 마세요. 가정을 공개하고 민감도를 보여주며, 추측을 보정된 추정치로 바꾸는 데 필요한 데이터를 모으세요.

백테스트는 캔들 데이터만으로 과거의 대기 순서를 알 수 없습니다. 대신 데이터로 배제할 수 없는 방식으로 체결 조건이 나빠져도 전략 아이디어가 여전히 타당한지 확인할 수 있습니다. 소수점 자릿수 하나 더 붙인 값보다 그 답이 더 유용합니다.

슬리피지시장 충격백테스팅체결모의 거래
← 전체 글