OptiNod 아카데미
슬리피지·수수료·유동성 — 백테스트가 숨긴 거래비용
수수료와 체결비용을 같은 명목금액 기준으로 계산합니다. 스프레드 중복, 거래 빈도의 분모, 실제 주문 크기와 호가 깊이를 점검합니다.
수수료율을 알고 있어도 최종 거래비용은 아직 모릅니다. 주문 크기에 맞는 체결 비용을 확인해야 백테스트의 기대값을 실전에 연결할 수 있습니다.
거래비용을 볼 때는 거래소에 내는 수수료(Fees), 매수·매도 호가의 차이인 스프레드(Spread), 기준 가격과 실제 체결 가격의 차이인 슬리피지(Slippage)를 구분합니다. 유동성(Liquidity)은 이 체결 비용에 영향을 주는 시장 조건이며 별도로 청구되는 수수료 항목은 아닙니다. 수수료율도 거래소·상품·주문 방식·계정 등급에 따라 다르므로 실제 적용 요율을 확인해야 합니다.
예를 들어 편도 수수료를 0.04%로 가정하면 진입·청산 명목금액이 같은 왕복 수수료율은 0.08%입니다. 이 수치와 아래 성과·호가 예시는 계산을 설명하기 위한 가정이며 특정 거래소의 현행 요율이나 실측 주문장을 뜻하지 않습니다. 실제 비용은 각 체결금액에 해당 요율을 곱해 합산해야 합니다.
확인할 것은 비용이 전략의 평균 이익 여유를 얼마나 소모하는지입니다. 시장가 주문이 여러 호가를 소진하거나 주문 중 가격이 움직이면 체결 가격이 불리해질 수 있습니다. 슬리피지가 항상 수수료보다 큰 것은 아니며, 같은 종목도 시간대와 주문 크기에 따라 달라집니다. 기준 가격을 중간 호가로 잡은 슬리피지에 스프레드가 이미 포함돼 있다면 스프레드를 다시 더하지 않습니다.

수수료와 체결 가격 차이를 따로 계산하며, 유동성은 체결 가격 차이에 영향을 줍니다.
수수료율을 확인한 뒤 체결 가격 차이를 따로 측정합니다
수수료는 적용 요율과 체결금액을 알면 계산할 수 있습니다. 메이커·테이커 구분과 상품, 계정 등급, 할인·리베이트 여부에 따라 달라질 수 있습니다. 편도 0.04%, 같은 명목금액 왕복 0.08%는 이 글의 예시 값입니다. 실제 거래소의 최신 요율과 체결 명세를 사용합니다.
슬리피지는 먼저 비교 기준을 정해야 합니다. 시장가 매수라면 주문 직전 최우선 매도 호가와 실제 평균 매수가를 비교할 수 있고, 중간 호가나 신호 발생 가격을 쓸 수도 있습니다. 기준이 다르면 스프레드와 주문 지연이 포함되는 범위도 달라집니다. 큰 매수 주문이 위쪽 호가까지 소진하면 평균 매수 가격이 올라가지만, 최우선 호가에서 모두 체결돼도 중간 호가 대비 스프레드 비용은 남습니다.
가상 단기 전략의 비용 전 평균 손익이 거래 명목금액 대비 왕복당 0.15%라고 하겠습니다. 같은 기준의 왕복 수수료 0.08%를 빼면 0.07%가 남습니다. 스프레드 중복 없이 측정한 추가 왕복 체결 비용이 0.10%라면 기대값 추정치는 0.15% − 0.08% − 0.10% = −0.03%입니다. 1bp는 0.01%이며 편도·왕복 단위를 맞춰 계산해야 합니다.
시장가 진입은 호가창 깊이를 소진합니다
호가창은 가격대별로 쌓인 매수·매도 주문의 목록입니다. 시장가 매수는 가장 낮은 매도 호가부터 위로 올라가며 필요한 수량을 채웁니다. 맨 위 호가의 물량이 주문 크기보다 작으면 그 위 호가로 넘어가고, 평균 체결 가격은 표시 가격보다 위에서 확정됩니다.
가상 자산 A의 최우선 매도 호가가 100달러이고 그 가격에 2,000개가 있다고 하겠습니다. 호가가 변하지 않고 먼저 체결되는 다른 주문이 없다면 500개 시장가 매수는 모두 100달러에 체결되며 체결금액은 5만 달러입니다. 최우선 매도 호가 대비 가격 차이는 0이지만, 스프레드와 수수료까지 0이라는 뜻은 아닙니다.
가상 자산 B는 100달러에 100개, 101달러에 900개가 있다고 하겠습니다. 같은 정적인 조건에서 500개를 사면 평균 체결가는 (100 × 100 + 400 × 101) ÷ 500 = 100.80달러이며 체결금액은 5만 400달러입니다. 최초 매도 호가 100달러 대비 0.80%, 즉 80bp가 높습니다. 실제로는 주문 취소·신규 주문·다른 주문과의 경쟁도 있으므로 이런 호가 합산은 한 시점의 추정치이며 체결 보장이 아닙니다.

거래대금과 함께 현재 스프레드·호가 깊이를 확인합니다
매수·매도 스프레드는 최우선 매도 호가와 최우선 매수 호가의 차이입니다. 얇은 호가와 넓은 스프레드가 함께 나타날 수 있지만, 일 거래대금만으로 현재 스프레드를 결정할 수는 없습니다. 같은 호가에서 시장가로 사자마자 같은 수량을 팔고 가격 움직임과 시장 충격이 없다면 가격 차이에 따른 손실은 전체 스프레드 한 번입니다.
가상으로 매수 호가 99.95달러, 매도 호가 100.05달러라면 중간 가격은 100달러이고 스프레드는 0.10달러, 중간 가격 대비 10bp입니다. 매도 호가에 사서 즉시 매수 호가에 팔면 1개당 0.10달러를 잃습니다. 진입금액 100.05달러 대비로는 약 9.995bp이며, 20bp가 아닙니다. 서로 다른 시점에 진입·청산하면 각 시점의 중간 가격 대비 반 스프레드를 합산하고 추가 시장 충격·지연·수수료를 따로 평가합니다. 사용한 슬리피지 추정치가 그 요소를 이미 포함하는지도 확인합니다.
거래량은 거래된 수량이고 거래대금은 각 체결의 가격과 수량을 곱한 금액의 합입니다. 가상으로 1억 개가 모두 0.004달러에 거래됐다면 거래대금은 40만 달러입니다. 종목 간 규모를 비교할 때 공통 통화 거래대금이 유용하지만, 과거 24시간 거래대금이 현재 주문을 받을 호가 물량을 보장하지는 않습니다. 진입 예정 수량으로 호가 깊이와 예상 평균 체결가를 직접 확인합니다.

누적 비용은 거래 횟수와 각 거래의 명목금액으로 계산합니다
누적 비용을 구하려면 비율의 분모가 필요합니다. 같은 크기의 왕복 거래에 같은 비용률이 적용되는 단순 모형에서는 누적 비용 = 거래 횟수 × 거래당 명목금액 × 왕복 비용률입니다. 크기가 다르면 거래별로 같은 분모에 맞춘 명목금액과 비용률의 곱을 합산합니다. 실제 수수료는 체결금액에 요율을 곱하지만, 매수 슬리피지 금액은 수량 × (체결가 − 기준가)입니다. 위 자산 B는 기준 명목금액 5만 달러 × 0.8% = 400달러이고, 체결금액 5만 400달러에 0.8%를 곱하지 않습니다. 레버리지 거래에서도 수수료 계산 기준은 증거금이 아니라 해당 상품의 거래금액 기준입니다.
가상으로 초기자금 1만 달러, 매 왕복 거래 명목금액을 1만 달러로 고정하고 왕복 비용률을 0.1%로 가정하겠습니다. 가격 변동에 따른 청산금액 차이와 복리를 생략하면 거래당 비용은 10달러입니다. 하루 10회 × 22일 = 220회이므로 월 비용 2,200달러는 초기자금의 22%입니다. 매 거래 명목금액이 초기자금의 10%인 1천 달러라면 같은 계산은 220달러, 즉 2.2%입니다. 같은 크기로 월 두 번 거래하면 20달러로 초기자금의 0.2%이며, 220회와 2회의 비용 차이는 110배입니다. 22%는 모든 계좌에 적용되는 월 손실률이 아닙니다.
이 모형은 비용 누적을 보기 위한 계산이지 전략 순수익의 예측이 아닙니다. 매매손익, 잔고 변화, 포지션 크기, 비용률이 달라지면 실제 계좌 변화도 달라집니다. 슬리피지를 0으로 둔 결과와 실제 체결 비용을 넣은 결과를 같은 거래 목록에서 비교하면 누락된 비용이 얼마인지 드러납니다. 슬리피지 누락이 항상 총비용의 절반 이상이라는 규칙은 없습니다.

엣지가 비용보다 작으면 기대값은 음수입니다
비용 전 평균 손익과 왕복 비용을 같은 명목금액·단위로 맞춰 비교합니다. 이 차이가 양수이면 해당 가정의 기대값은 양수지만 실제 수익이 보장되는 것은 아닙니다. 표본 추정의 오차와 시장 변화가 있고, 거래 크기가 달라지면 금액 기준 손익으로 다시 집계해야 합니다.
가상으로 모든 거래의 명목금액이 같고 승률 60%, 이익·손실 거래의 평균 수익률이 각각 +0.3%, −0.3%라면 비용 전 기대값은 0.6 × 0.3% − 0.4 × 0.3% = 0.06%입니다. 왕복 수수료 0.08%를 빼면 −0.02%이고, 별도 왕복 체결 비용 0.05%를 더 빼면 −0.07%입니다. 같은 조건의 수수료 반영 결과가 양수라면 슬리피지 0 때문일 수는 없습니다. 승률·평균 손익·수수료 적용 단위·포지션 크기·비용 중복 여부가 예시 조건과 같은지 먼저 확인합니다.
위 예시의 비용 전 기대값 0.06%는 단순 모형의 손익분기 왕복 비용입니다. 특정 종목 이름만으로 실제 비용이 그보다 작다고 단정할 수 없습니다. 가상으로 왕복 비용이 50bp, 즉 0.5%라면 기대값은 0.06% − 0.5% = −0.44%입니다. 비용 전 기대값이 3%인 다른 전략이라면 같은 비용 가정 후 2.5%가 남지만, 이것만으로 유동성이 낮은 시장의 체결 가능성이나 위험이 해결되지는 않습니다.
급변 구간에서는 평소 체결 비용 가정을 다시 점검합니다
평소 호가가 두꺼운 종목도 변동성이 급변하는 구간에서는 호가창의 물량이 빠르게 빠집니다. 가격이 한 방향으로 빠르게 움직이면 호가에 미리 걸려 있던 지정가 주문이 체결되거나 취소되고, 새로 채워지는 속도가 주문이 빠지는 속도를 따라가지 못합니다. 이 순간 같은 크기의 시장가 주문이 평소보다 훨씬 깊은 호가까지 소진하며 슬리피지가 커집니다.
특정 날짜의 캔들만으로 슬리피지와 호가 소진량을 계산할 수는 없습니다. 가상 스트레스 상황에서 거래대금이 크게 늘어도 주문이 빠르게 체결·취소되고 새 주문이 늦게 들어오면 순간 호가는 얇아질 수 있습니다. 이때 시장가 손절은 발동 가격보다 불리하게 체결될 수 있지만, 그 크기를 알려면 당시 호가·주문·체결 기록이 필요합니다. 거래대금 증가만으로 시장가 매도 때문에 가격이 하락했다고 단정하지 않습니다.
평상시와 급변 구간의 체결 차이를 따로 측정하고 비용 민감도를 비교합니다. 실측 자료가 없으면 여러 비용 가정을 명시한 시나리오로 시험하되, 이를 관측된 값처럼 쓰지 않습니다. 갭과 거래 중단, 주문 지연은 고정 슬리피지 하나로 충분히 재현되지 않을 수 있습니다. 시간대별 유동성 차이도 거래소와 종목의 기록으로 확인합니다.
거래비용 필터로 후보 종목과 전략을 미리 거릅니다
후보 종목에는 거래대금과 현재 스프레드·호가 깊이, 주문 크기와 비용 여유를 함께 적용합니다. 특정 일 거래대금이나 스프레드 숫자가 모든 전략에 맞는 안전선은 아닙니다. 허용 비용 예산과 거래 중단 조건을 미리 정하고, 주문 직전 추정이 그 범위를 벗어나면 재검토합니다.
- 거래대금과 호가: 공통 통화 거래대금으로 시장 규모를 비교하고, 예정 주문 수량을 현재 호가가 받을 수 있는지 확인합니다. 일 거래대금 하한만으로 체결을 보장하지 않습니다.
- 스프레드 예산: 현재 스프레드를 주문 크기와 전략의 비용 여유에 맞춰 평가합니다. 스프레드 10bp를 왕복 20bp로 자동 환산하지 않습니다.
- 비용 단위: 실제 편도 수수료율·진입/청산 명목금액·슬리피지 기준 가격을 기록합니다. 스프레드 포함 여부를 확인해 이중 계산을 피합니다.
- 손익분기와 민감도: 비용 전 평균 손익과 같은 단위의 비용을 비교하고, 비용이 더 커지는 시나리오에서도 결과를 점검합니다.
- 주문 크기와 무효화: 호가 변동으로 예상 비용이 정한 예산을 넘으면 진입을 보류하거나 크기를 다시 산정합니다. 지정가·분할 주문도 미체결과 가격 변동 위험이 있습니다.
거래가 잦을수록 누락된 작은 비용도 누적 금액에 큰 영향을 줄 수 있습니다. 다만 빈도 자체가 거래당 슬리피지 크기를 정하지는 않습니다. 주문 크기와 시장 상태에 맞는 실측 분포를 사용하고, 자금 대비 누적 거래금액을 함께 계산합니다. 회당 평균 이익이 커도 호가 깊이와 손절 체결 위험은 별도로 확인합니다.
현실적 비용 가정으로 백테스트를 다시 돌립니다
비용 필터를 통과해도 백테스트 체결 모형이 현실과 맞는지 확인해야 합니다. 비용을 빠뜨린 결과와 보수적인 체결 가정의 결과를 비교하고, 결과가 비용 변화에 얼마나 민감한지 기록합니다. TradingView의 고정 슬리피지는 틱 단위의 모형이며 실제 주문장과 부분 체결을 정밀하게 재현하는 장치는 아닙니다.
신호가 나온 봉의 종가에 정확히 체결된 것으로 처리한 결과라면 주문 생성 시점과 체결 시점을 확인합니다. 그 가격에 필요한 수량이 있었다는 증거가 없으면 체결 가능성을 별도로 점검해야 합니다. 거래소와 엔진 설정에 따라 다음 틱·다음 봉, 종가 처리 등의 차이가 있으므로 모든 백테스트가 종가 체결이라고 가정하지 않습니다. 예정 주문 크기가 커질수록 가격뿐 아니라 가능한 체결 수량도 중요합니다.
앞의 고정 명목금액 예시에서는 왕복 비용률이 0.10%에서 0.15%로 늘면 220회의 비용이 초기자금의 22%에서 33%로 증가합니다. 매 거래 명목금액이 초기자금의 10%라면 2.2%에서 3.3%입니다. 이는 추가 왕복 비용 0.05%p의 효과이며 실제 계좌의 월 수익률 예측은 아닙니다. 백테스트 결과에는 적용 요율, 기준 가격, 주문 크기와 비용 시나리오를 함께 남겨 다음 실측 체결 기록과 비교할 수 있게 합니다.