백테스트 체결 시점 실험: 신호 당일 종가 체결과 다음 거래일 시가 체결 비교

업데이트

신호 당일 종가 체결을 가정하면 20/60 규칙의 CAGR은 15.4%로 다음 거래일 시가 체결(15.7%)과 0.3%p 차이였고, 5/20 규칙은 6.3%로 다음 거래일 시가 체결(2.5%)보다 3.8%p 높았습니다. 체결 시점 가정이 결과에 주는 영향의 크기는 규칙마다 달랐습니다. 과거 데이터에서 관측한 값이며 규칙의 우열이나 미래 성과를 뜻하지 않습니다.

실험 설계

백테스트 가이드의 '백테스트의 함정' 글에서, 당일 종가로 신호를 계산하고 같은 종가에 체결한다고 가정하면 룩어헤드 편향이 생긴다고 설명했습니다. 이 노트는 체결 시점 가정만 바꿨을 때 결과가 얼마나 달라지는지 계산한 기록입니다. 매매 규칙과 기간, 유니버스, 비용은 고정했습니다.

  • 유니버스: KOSPI200 구성 종목. 일별 시가총액 상위 200개를 그 시점의 구성으로 보는 방식이며 실제 KOSPI200의 편입·편출 규칙과는 다를 수 있습니다.
  • 기간: 2020-01-02 ~ 2025-12-30(약 6년), 날짜를 고정해 계산했습니다.
  • 자금과 보유: 초기 자본 1,000만 원, 종목당 자본의 10%, 최대 10종목 동시 보유.
  • 비용: 수수료 매수·매도 각각 0.015%, 슬리피지 0.1%, 매도 증권거래세는 시행일 기준 법정 세율. 배당은 배당소득세 15.4%를 뺀 세후 금액을 재투자합니다.
  • 규칙 A(느린 규칙): 20일 이동평균이 60일 이동평균을 상향 돌파하면 매수, 하향 돌파하면 매도합니다.
  • 규칙 B(빠른 규칙): 5일 이동평균이 20일 이동평균을 상향 돌파하면 매수, 하향 돌파하면 매도합니다.
  • 바꾼 값: 체결 시점 — ① 신호가 나온 날의 종가에 체결(당일 종가), ② 신호가 나온 다음 거래일의 시가에 체결.

결과

느린 규칙 A는 두 가정의 거래 수가 같았고(293건) CAGR 차이는 0.3%p로 작았으며, 당일 종가 체결 쪽이 오히려 약간 낮았습니다. 빠른 규칙 B는 당일 종가 체결의 CAGR이 3.8%p 높았고 최대 낙폭도 −45.4%로 다음 거래일 시가 체결(−50.0%)보다 얕았습니다.

체결 시점별 결과
규칙 · 체결 시점CAGR총수익률최대 낙폭거래 수샤프 비율
규칙 A (20/60) · 신호 당일 종가15.4%136.5%−35.7%2930.62
규칙 A (20/60) · 다음 거래일 시가15.7%140.1%−35.1%2930.63
규칙 B (5/20) · 신호 당일 종가6.3%44.6%−45.4%9390.28
규칙 B (5/20) · 다음 거래일 시가2.5%16.0%−50.0%9350.13

KOSPI200 구성 종목, 2020-01-02~2025-12-30, 수수료 0.015%, 슬리피지 0.1%, 다음 거래일 시가 체결 또는 당일 종가 체결. 널스탁 백테스트 엔진 v16.41.0으로 2026-10-21에 계산했습니다.

읽는 법

당일 종가 체결은 장이 끝나야 알 수 있는 종가로 판단하고 이미 지나간 그 종가에 샀다고 가정하는 것이라 실제 거래에서는 불가능합니다. 그래도 이 실험에서 두 가정의 차이는 방향과 크기가 일정하지 않았습니다. 규칙 A에서는 거의 차이가 없었고 규칙 B에서만 크게 나타났습니다.

그래서 '당일 종가 체결을 쓰면 결과가 얼마나 부풀려진다'고 미리 말할 수 없습니다. 차이가 작게 나오는 규칙도 있지만, 그것은 이 규칙·이 기간에서 관측된 값일 뿐이며 체결 시점 가정을 현실에 맞추는 일의 필요를 없애지 않습니다.

거래가 잦은 규칙 B에서 차이가 컸다는 점은 거래 비용 민감도 노트의 관찰과 닮았습니다. 거래가 잦을수록 체결 가정의 영향이 누적될 수 있습니다. 다만 이 실험으로 원인을 분해하지는 않았습니다.

이 실험이 말해 주지 않는 것

  • 하나의 기간, 하나의 유니버스, 두 개의 규칙만 시험했습니다. 다른 조건에서 같은 방향으로 나타난다는 뜻이 아닙니다.
  • 다음 거래일 시가 체결도 실제 체결가와 같지는 않습니다. 시가 직후의 호가 공백이나 갭은 일봉 데이터로 알 수 없습니다.
  • 두 가정의 차이가 작게 나온 구간이 있다고 해서 당일 종가 체결이 안전하다는 근거가 되지는 않습니다.
  • 모든 값은 과거 데이터 기반 시뮬레이션이며 미래 수익은 보장되지 않습니다.

자주 묻는 질문

신호 당일 종가 체결이 왜 문제인가요?
장이 끝나야 확정되는 종가로 신호를 계산한 뒤 이미 지나간 같은 종가에 체결했다고 가정하기 때문입니다. 실제로는 신호를 확인한 뒤에야 주문할 수 있어 체결은 다음 거래일 이후에 일어납니다.
이 실험에서 당일 종가 체결이 항상 결과를 높였나요?
아닙니다. 20/60 규칙에서는 당일 종가 체결의 CAGR이 15.4%로 다음 거래일 시가 체결(15.7%)보다 오히려 낮았고, 5/20 규칙에서만 3.8%p 높았습니다.
다음 거래일 시가에 체결하면 현실과 같아지나요?
그렇지 않습니다. 시가는 실제 체결 가능한 가격에 더 가깝지만, 주문 금액이나 시가 직후의 호가 상황에 따라 체결가가 달라질 수 있습니다.

떠오른 전략 아이디어를 문장으로 입력하면 과거 데이터로 백테스트해 볼 수 있습니다.

전략 백테스트하기

연구노트는 과거 데이터에서 관측된 계산 결과를 기준일과 설정값과 함께 기록한 자료입니다. 특정 종목·전략의 매수·매도를 권유하거나 우열을 판단하지 않으며, 모든 결과는 과거 데이터 기반 시뮬레이션이므로 미래 수익은 보장되지 않습니다.