백테스트 주문 체결 가정: 가격이 닿았다고 체결됐을까?

봉의 저가가 지정가에 닿아도 실제 체결은 알 수 없습니다. 동일 OHLC의 접촉·한 틱 통과 규칙, 봉 안 경로와 주문 시각을 가상 예시로 설명합니다.


한국어 · English

백테스트에서 매수 지정가 100에 봉의 저가가 정확히 100이라면, 그 주문은 체결됐을까요? 차트의 시가·고가·저가·종가는 호가 대기열이나 봉 안의 모든 거래를 보여주지 않습니다. 백테스트는 빠진 정보를 체결 가정으로 채웁니다. 이 가정을 기록하지 않으면 같은 매매 규칙도 다른 거래 목록을 만들 수 있습니다.

같은 봉, 다른 체결 판정

다음 봉이 시작되기 전에 매수 지정가 100을 제출했다고 가정합니다. 해당 봉의 시가 101, 고가 103, 저가 100, 종가 102이고 최소 가격 단위가 0.1입니다. 이 숫자는 실제 시장 데이터가 아닌 설명용 예시입니다.

  • 단순한 ‘가격 접촉’ 규칙: 저가가 100 이하이므로 100에 체결된 것으로 기록합니다.
  • 한 틱 통과 규칙: 매수 지정가보다 한 틱 낮은 99.9 이하까지 거래돼야 체결을 인정합니다. 저가가 100이므로 이 봉에서는 미체결입니다.

두 규칙 중 어느 것도 당시 내 주문 앞에 얼마나 많은 수량이 대기했는지는 알려주지 않습니다. 한 틱 통과는 실제 체결을 보증하는 규칙이 아니라 낙관적인 접촉 체결을 줄이는 시뮬레이터 설정입니다. TradingView 브로커 에뮬레이터는 지정가 체결을 요청 가격 또는 요청 가격을 한 틱 통과한 경우로 설정할 수 있다고 설명합니다.

가상 봉 시가 101 고가 103 저가 100 종가 102, 매수 지정가 100과 틱 0.1. 접촉 규칙은 체결, 99.9 이하를 요구하는 한 틱 통과 규칙은 미체결
설명용 가정: 같은 OHLC라도 지정가 체결 규칙에 따라 거래 목록이 달라집니다. 실제 호가 대기열은 알 수 없습니다.

봉 안의 순서와 주문 생성 시각도 필요합니다

같은 봉에 손절 가격과 목표 가격이 모두 나타나더라도 어느 쪽이 먼저 발생했는지는 OHLC 네 값만으로 알 수 없습니다. TradingView의 기본 브로커 에뮬레이터는 시가가 고가와 저가 중 어느 쪽에 가까운지에 따라 봉 안의 가상 가격 경로를 정합니다. 더 작은 시간봉을 이용하는 상세 봉 설정은 일부 경로 불확실성을 줄일 수 있지만, 실제 주문장 대기열과 개인 주문의 체결을 복원하지는 않습니다. TradingView 전략 문서에서 기본 경로 가정을 확인할 수 있습니다.

주문을 언제 제출했는지도 체결 조건입니다. 봉이 닫힌 뒤 계산한 신호로 주문을 만들었다면, 이미 지나간 그 봉의 저가에 소급해서 체결시킬 수 없습니다. 신호 계산 시각과 주문 제출·체결 가능 시각을 각각 남기세요. 데이터 누수 점검은 정보가 의사결정 시점에 실제로 알려져 있었는지를 별도로 따집니다.

비용과 미체결을 함께 기록합니다

시장가·스톱 주문에는 슬리피지 가정을, 거래에는 진입·청산 수수료를 넣습니다. 지정가 주문에도 미체결 가능성과 부분 체결을 고려해야 합니다. 체결가에 스프레드·슬리피지가 이미 들어갔다면 같은 가격 비용을 다시 빼지 않습니다. 실제 순손익 계산은 이중 차감을 피하는 예시를 보여줍니다.

백테스트 결과표에서 신호 수와 체결 거래 수를 따로 집계하세요. 미체결을 손익 0인 거래로 바꾸면 거래당 평균과 승률의 분모가 달라집니다. 미체결은 주문 상태로 남기고, 성과 지표의 분모가 무엇인지 명시해야 합니다.

다시 실행할 수 있는 체결 설정표

  • 봉 주기와 사용한 가격 자료, 최소 틱을 기록합니다.
  • 신호 확인 시각, 주문 생성 시각, 가장 빠른 체결 가능 시각을 분리합니다.
  • 주문 유형과 가격, 지정가 체결의 접촉/통과 조건, 미체결·부분 체결 처리 방법을 고정합니다.
  • 봉 안 경로 추정과 더 작은 시간봉 사용 여부, 해당 자료가 없는 구간을 기록합니다.
  • 수수료·슬리피지·펀딩의 적용 위치와 단위를 기록하고, 가정 변경 전후 거래 목록을 비교합니다.

체결을 보수적으로 가정해도 실제 거래 성과가 입증되는 것은 아닙니다. 주문 자체의 발동·체결 차이는 시장가·지정가·스톱 주문 글을 참고하세요.

한 봉 안의 두 경로를 비교하기

가상 봉의 시가 101, 고가 103, 저가 99, 종가 102를 가정합니다. 봉 시작 전에 101에 매수한 뒤 손절 100과 목표 102를 활성화했다고 합시다. 다음 두 경로는 같은 OHLC를 만들지만 청산 결과는 다릅니다.

가상 경로먼저 만나는 조건모형 결과
101→103→99→102목표 102목표 먼저
101→99→103→102손절 100손절 먼저
OHLC만 있음순서 미확인명시한 모형 또는 미확정

이는 각 가격을 순서대로 지나가며 해당 주문이 체결된다는 단순 가정입니다. 갭·대기열·지연은 포함하지 않습니다. 종가가 나온 뒤 주문을 만든 경우에는 이미 지나간 99나 100에 소급 체결시키지 않습니다.

가상 신호 10개에서 주문 8개, 체결 후 모두 청산된 거래 5개, 미체결 주문 3개가 생겼다면 승률과 거래당 평균은 청산 거래 5개를 분모로 정의합니다. 신호 수와 주문 수는 별도 집계합니다. 정보 사용 시각과 실제 주문 상태를 함께 기록하세요.

근거

이 글의 OHLC 값과 주문은 가상 예시입니다. 특정 전략의 실측 승률·수익률을 나타내지 않습니다. 플랫폼 설정과 이용 가능 데이터는 검토일 이후 바뀔 수 있습니다.

이 글을 읽을 때 참고하세요

학습과 연구를 위한 자료이며 개인의 상황에 맞춘 투자 조언이 아닙니다. 과거의 분석 결과가 미래 수익을 보장하지 않습니다.

연구 방법 · 면책 및 고지 · 오류 제보

TRADE EVIDENCE에서 더 알아보기

지금 구독하여 계속 읽고 전체 아카이브에 액세스하세요.

계속 읽기