무엇을 확인한 테스트인지 먼저 구분하세요
앞으로 들어오는 데이터를 관찰하는 모의투자는 시작 이후의 시장 데이터를 따라갑니다. 백테스트는 과거 데이터를 재생합니다. 두 방식 모두 주문이 언제 도착하고 어떻게 체결되는지에 대한 가정이 필요합니다. 거래소의 테스트 환경도 별개의 환경입니다. 그곳에서 정상 응답을 받았다고 실제 시장의 유동성이나 실거래 계정의 권한까지 확인한 것은 아닙니다.
주문 형식 검사는 그보다 범위가 좁습니다. Binance의 Test new order 엔드포인트는 요청을 검사하지만 매수와 매도를 연결하는 매칭 엔진에 주문을 보내지 않습니다. 검사 통과는 체결이 아닙니다. 결과를 비교하기 전에 각각을 규칙의 반응 관찰, 모형이 계산한 체결, 거래소가 확인한 체결로 구분하세요.
계산 예제: 같은 규칙에서 달라지는 세 가지 체결 기록
이 예제의 자산 A, 호가통화 Q, 수량, 가격, 체결 대기 순서와 수수료는 모두 가정입니다. 계산을 위한 숫자이며, 특정 자산이나 주문 규모를 추천하거나 실제 계정을 테스트한 결과가 아닙니다. 처음에 200 Q를 보유하고 A는 없다고 합시다. 선택한 조건이 관찰되면 규칙은 A 한 단위당 최대 10 Q에 총 10 A를 사는 지정가 주문 한 건을 요청합니다. 정해 둔 검토 시점에 미체결 수량을 취소합니다. 아래 잔액은 취소가 확인된 이후를 기준으로 합니다.
계산 방식을 통일하기 위해 각 상황에서 체결된 매수 금액의 0.1%를 Q로 지급하는 수수료라고 가정합니다. Binance의 실제 요율이나 SharkRule의 수수료 모형을 설명하는 숫자가 아닙니다. 실제 수수료율과 지급 자산은 별도로 확인해야 합니다.
이상화한 모형은 가격 데이터가 10 Q에 도달하면 10 A 전부가 체결된 것으로 처리합니다. 체결 순서를 반영한 상황에서는 같은 가격에 먼저 들어온 매수 주문 6 A가 앞서 대기하고 있습니다. 검토 시점까지 이 대기열에 도달한 매도 수량은 10 A뿐입니다. 따라서 앞선 주문에 6 A가 체결되고 이 주문에는 4 A가 체결됩니다. 모든 체결 가격은 A 한 단위당 10 Q이며, 대기열에 다른 변화나 취소 확인 전 추가 체결은 없다고 가정합니다. 세 번째 상황에서는 이 주문과 체결될 수 있는 매도 수량이 도달하지 않습니다.
| 기록 | 전량 체결을 가정한 모형 | 대기 순서를 반영한 체결 | 미체결 |
|---|---|---|---|
| 실제로 매수한 A | 10 | 4 | 0 |
| 매수 금액(Q) | 10 × 10 = 100 | 4 × 10 = 40 | 0 |
| 가정한 수수료(Q) | 100 × 0.001 = 0.10 | 40 × 0.001 = 0.04 | 0 |
| 남은 주문이 있으면 취소한 뒤 검토 시점에 남은 Q | 200 − 100 − 0.10 = 99.90 | 200 − 40 − 0.04 = 159.96 | 200 |
| 취소된 미체결 수량(A) | 0 | 6 | 10 |
| 요청 수량 중 체결된 비율 | 100% | 40% | 0% |
- 잔액을 비교하기 전에 체결 수량과 최종 주문 상태를 비교하세요. 부분 체결 상황에 현금이 더 많이 남는 것은 매수한 수량이 적기 때문입니다. 성과가 더 좋다는 증거가 아닙니다.
- 취소가 확인될 때까지 남은 6 A 매수 요청과 이미 보유한 4 A를 구분하세요. 취소를 요청했다는 사실만으로 확인 전까지 추가 체결이 없었다고 판단할 수는 없습니다.
- 매수하지 못한 수량을 나중에 매도했다고 가정하지 마세요. 10 A 전부를 기준으로 매도 결과를 계산하면 실제로 확보한 것과 다른 포지션을 계산하게 됩니다.
- 수수료가 Q가 아닌 A나 다른 자산에서 차감되면 지급 자산을 기록하고 해당 잔액을 다시 계산하세요. 표처럼 Q에서만 빼는 계산으로는 전체 잔액을 설명할 수 없습니다.
가격이 지정가에 닿아도 내 주문 차례가 왔다는 뜻은 아닙니다
차트에는 지정한 가격의 거래가 표시되더라도 내 주문까지 도달한 반대편 수량은 부족할 수 있습니다. Binance의 주문 우선순위 문서는 가격과 시간에 따른 순서를 예로 보여줍니다. 주문 도착 시각과 대기 순서를 모른다면 가격만 보고 인정한 체결은 확인된 거래가 아니라 기록해 두어야 할 가정입니다.
모형마다 범위가 다릅니다. Alpaca는 자체 모의투자 문서에서 주문 대기 순서, 주문이 시장에 미치는 영향, 지연으로 인한 슬리피지를 시뮬레이션에 반영하지 않는다고 명시합니다. 이는 문서로 공개된 한 모형의 한계이며, 모든 시뮬레이터나 SharkRule의 구현을 설명하는 내용은 아닙니다.
시장가 주문에서도 이전에 본 호가가 예약된 가격은 아닙니다. 지연되는 동안 호가창이 바뀔 수 있고 여러 가격대에 걸쳐 체결될 수도 있습니다. 모형이 스프레드, 수수료, 슬리피지를 포함해도 실제 상황을 근사한 값일 수 있습니다. 어떤 기준 가격과 지연 시간, 체결 가능한 수량을 사용하는지 확인하세요. 설명이 없는 결과만으로는 이를 알 수 없습니다.
정상 체결뿐 아니라 응답이 불확실한 상황도 점검하세요
별도의 가상 상황을 보겠습니다. 10:00:00에 주문을 보냈고, 10:00:10에 응답 대기 시간이 초과됐으며, 10:00:12에 기존 주문을 조회하니 4단위가 부분 체결되어 있습니다. 이 시각은 설명을 위한 예이며 서비스 응답 속도를 약속하는 수치가 아닙니다. 타임아웃이 발생했다고 매수 수량이 0인 것은 아닙니다.
Binance는 타임아웃 이후 체결 여부가 불명확할 수 있으므로 주문 상태를 확인하라고 안내합니다. 응답이 없을 때마다 곧바로 주문 거절로 처리하는 테스트는 이 불확실성을 확인하지 못합니다. 기존 주문의 결과가 해결될 때까지 Binance에 추가 주문을 제출하지 않도록 차단 상태를 유지하세요. 다른 행동을 검토하기 전에 원래 주문의 상태와 체결 내역을 확인해야 합니다. 불확실한 상태를 우회하려고 같은 규칙을 새로 만들지 마세요.
실행할 때마다 확인 근거를 남기세요
노트나 표를 이용하세요. 아래는 검토 방법이며, 대시보드가 모든 항목을 내보낼 수 있다는 기능 설명은 아닙니다. 각 항목을 관찰한 사실, 가정, 미확인으로 표시하세요. 모르는 내용을 유리한 기본값으로 바꾸지 말고 그대로 드러내세요.
| 기록할 내용 | 확인할 수 있는 질문 | 기록의 한계 |
|---|---|---|
| 규칙 버전, 실행 모드, 조건 관찰 시각과 데이터 시각 | 이 버전이 의도한 관찰 내용에 반응했는가? | 그 시각에 실제 주문이 체결됐다는 증거는 아닙니다. |
| 주문 유형, 요청 수량과 체결 가정 | 모형은 어떤 체결을 허용하는가? | 가격 도달만으로 대기 순서나 유동성을 확인할 수 없습니다. |
| 체결 수량, 가격, 수수료 금액과 지급 자산 | 모형이 계산한 보유 수량과 잔액이 서로 맞는가? | 설정한 수수료가 해당 계정의 현재 실제 요율이라는 증거는 아닙니다. |
| 부분 체결, 거절된 요청, 취소와 누락된 응답 | 어떤 실패 상황을 실제로 점검했는가? | 발생하지도 않았고 모형으로 구현하지도 않은 실패는 미검증 상태입니다. |
| 미매도 보유 자산, 미결 주문으로 묶인 자금·수량과 검토 시각 | 실행 후 무엇이 남아 있는가? | 아직 팔지 않은 포지션은 완료된 매도나 보장된 매도 금액이 아닙니다. |
모의투자 결과를 해석할 때 자주 하는 실수
- 보유 수량이 다른데 최종 현금 잔액만 비교합니다. 현금, 자산과 미결 주문을 각각 맞춰 보세요.
- 시뮬레이션에는 비용이 전혀 없다고 단정하거나, 반대로 모형의 비용이 실제 비용과 정확히 같다고 생각합니다. 가정을 읽어보세요. Binance 수수료는 계정, 거래쌍과 적용되는 할인에 따라 달라질 수 있습니다.
- 결과가 좋지 않은 실행을 초기화하고 유리한 결과만 남깁니다. 설정을 바꿀 때 이전 규칙 버전과 가정, 관찰 기록을 보존하세요.
- 문제없이 지나간 실행을 장애 테스트로 간주합니다. 지연, 주문 거절, 부분 체결, 데이터 이용 불가 중 무엇을 실제로 확인했는지 기록하고 나머지는 미검증으로 표시하세요.
문제없는 테스트가 예측이나 실거래 의무가 되지는 않습니다
시뮬레이션을 며칠 실행하거나 거래를 몇 건 마치면 체결이나 수익이 보장된다는 기준은 없습니다. 짧은 기간에는 규칙이 제대로 대응하지 못하는 시장 상황이 나타나지 않을 수 있습니다. 가상 손실만으로는 실제 손실에 감정적으로 어떻게 반응할지도 알 수 없습니다. 이는 결론을 내릴 때 고려할 한계이며, 실제 자금을 투입해 반드시 실험해야 한다는 뜻이 아닙니다.
실거래에서는 가격 변동, 수수료와 슬리피지로 손실이 발생할 수 있습니다. 주문이 체결되지 않을 수 있고, 거래소 장애나 자산 보관상의 문제, 계정 제한으로 접근하거나 매도하지 못할 수도 있습니다. 당사는 금융 자문을 제공하지 않습니다. 이 가이드는 테스트 방법을 설명하며 자산, 배분, 주문 규모나 거래를 추천하지 않습니다. SharkRule은 독립적인 소프트웨어이며 Binance와 제휴하거나 Binance의 보증을 받지 않습니다.
다음 단계: 가상 테스트 한 번을 점검표로 검토하세요
아래 출처에 있는 SharkRule 시뮬레이터 한국어 안내를 열어 가상 예산을 검토하고, 이 점검표로 관찰할 규칙의 행동 하나를 정하세요. 현재 공개 안내는 가상 자금과 모형으로 계산한 비용을 사용해 앞으로 들어오는 데이터를 관찰하는 시뮬레이션을 설명하며, 거래소 연결을 요구하지 않습니다. 관찰 결과는 그 테스트의 가정 안에서 얻은 근거로 해석하세요.
시뮬레이션은 실거래를 승인하지 않습니다. 나중에 실제 자금으로 설정하려면 이용 가능한 규칙, 예산, 거래소 권한과 계정의 거래 자격을 별도로 검토한 뒤 명시적으로 시작해야 합니다. 현재 대시보드에서 계정과 지역에 허용된 기능만 이용하세요. 계속 시뮬레이션에 머무르는 것도 선택할 수 있습니다.
자주 묻는 질문
모의투자에서 수익이 나면 같은 규칙이 실거래에서도 통하나요?
아닙니다. 특정 데이터 구간과 체결 모형에서 나온 결과일 뿐입니다. 체결, 수수료, 지연과 이후 가격이 달라지면 결과가 바뀌고 손실이 날 수도 있습니다. 가상 잔액을 예측으로 받아들이기보다 규칙의 반응과 확인되지 않은 가정을 점검하세요.
시뮬레이션에 수수료와 부분 체결을 반영할 수 있나요?
모형이 지원한다면 가능합니다. 다만 그 기능이 있다고 거래소 계정의 비용이나 주문 대기 순서가 그대로 재현되는 것은 아닙니다. 문서에 공개된 가정을 기록하고 빠진 내용은 미확인으로 표시하세요.
Binance 테스트 주문이 성공하면 실제 주문도 체결된다는 뜻인가요?
아닙니다. 테스트 주문 엔드포인트는 매칭 엔진에 주문을 넣지 않고 요청을 검사합니다. 이후 실제 주문은 별도로 접수되어 반대편 주문과 체결되어야 합니다. 실제 주문 상태와 체결 수량으로 결과를 확인하세요.
시뮬레이션이 잘 끝나면 반드시 실거래로 전환해야 하나요?
아닙니다. 가상 자금으로 계속 배우거나 진행하지 않기로 결정해도 됩니다. 테스트가 손실이나 거래소 위험을 없애지는 않습니다. 실거래 가능 여부는 현재 제품과 거래소 계정, 지역에 따라 달라지며 시작하려면 별도의 명시적인 승인이 필요합니다.
공식 자료와 출처
링크된 공식 문서를 바탕으로 AI의 도움을 받아 작성했습니다. 예시는 가상 상황이며 실제 계정 테스트나 수익률 비교를 수행하지 않았습니다.
- SharkRule: 시뮬레이터 이용 안내와 가상 예산 검토
https://sharkrule.com/ko/crypto-trading-simulator/ - Binance Spot: 테스트 주문과 주문 응답
https://developers.binance.com/en/docs/catalog/core-trading-spot-trading/api/rest-api/trade - Binance Spot: 주문 우선순위 예제
https://developers.binance.com/en/docs/products/spot/faqs/order_amend_keep_priority - Binance Spot: 타임아웃 이후 체결 여부의 불확실성
https://developers.binance.com/en/docs/products/spot/rest-api - Binance Spot: 수수료와 지급 자산
https://developers.binance.com/en/docs/products/spot/faqs/commission_faq - Alpaca: 모의투자에 적용되는 가정과 반영하지 않는 요소
https://docs.alpaca.markets/us/docs/paper-trading