본문으로 건너뛰기
ModuQuant

슬리피지

주문 예상가와 실제 체결가의 차이인 슬리피지의 발생 원인(호가 스프레드·유동성·변동성)과 백테스트에 반영하는 방법을 다룹니다.

마지막 수정: 2026. 10. 2. 오후 6:45:54약 3분 소요

슬리피지란?

주문 시 예상한 가격과 실제 체결된 가격의 차이입니다. 유동성이 낮은 종목일수록, 주문 금액이 클수록, 변동성이 큰 시장 상황일수록 슬리피지가 커집니다.

슬리피지 원인

  • 호가 스프레드 — 시장가 주문 시 매도 호가(Ask)에 체결되어 매수 호가(Bid)보다 높은 가격에 매수됩니다.
  • 시장 충격 — 대량 주문 시 체결 과정에서 가격이 밀리는 현상. 주문 금액이 일평균 거래량의 1% 이상이면 영향이 커집니다.
  • 지연 체결 — 뉴스·공시 직후 급변하는 가격 환경에서 주문 시점과 체결 시점 사이 가격이 크게 움직일 수 있습니다.

백테스트 설정 권장값

  • 대형주 (코스피 100, S&P 500) — 편도 0.05~0.1%
  • 중형주 — 편도 0.1~0.2%
  • 소형주·코스닥 — 편도 0.2~0.5%
  • 단기 매매 전략은 위 값의 1.5~2배를 적용하는 것을 권장합니다.

슬리피지 미반영 시 결과 왜곡

고빈도 매매 전략에서 슬리피지를 반영하면 수익률이 30~50% 낮아지는 경우도 있습니다. 현실적인 백테스트를 위해 반드시 포함하세요.

같은 슬리피지가 전략마다 다르게 아픈 이유

슬리피지는 한 번 거래할 때의 손실이 아니라 거래 횟수 × 종목의 유동성으로 누적됩니다. 월 1회 교체하는 전략과 매일 교체하는 전략은 같은 가정을 써도 연간 비용이 수십 배 차이 납니다. 또 코스닥 소형주는 호가 간격 자체가 넓어 대형주와 같은 비율을 적용하면 과소 추정이 됩니다.

호가 단위(틱)를 무시하면 체결가가 성립하지 않는다

국내 주식은 가격대별로 호가 단위가 정해져 있습니다. 계산한 가격이 그 단위에 맞지 않으면 실제로는 존재하지 않는 가격입니다. 주문 가격을 다시 계산하는 로직에서 틱 단위로 맞추는 처리를 빠뜨리면, 백테스트에서는 체결됐지만 실매매에서는 주문이 거부되거나 다른 가격에 체결됩니다.

보수적으로 재려면 가정을 먼저 적는다

슬리피지 비율 하나만 정하는 것으로 부족합니다. 다음 가정이 결과를 더 크게 바꿉니다.

  • 체결 시점 — 신호가 난 날의 종가인가, 다음 거래일 시가인가. 종가 체결은 "그날 장이 끝난 걸 보고 그 가격에 샀다"는 뜻이라 현실보다 유리합니다.
  • 체결 불가 처리 — 상한가·하한가·거래정지 종목을 샀다고 처리하면 성과가 부풀려집니다.
  • 부분 체결 — 거래대금이 작은 종목에 큰 금액을 넣으면 실제로는 다 못 삽니다.

두 전략을 비교할 때는 이 가정이 양쪽에 같게 적용됐는지가 비율 숫자보다 중요합니다.