구조
스프레드
최우선 매도호가
50,000 − 49,950 = 50중간 가격 49,975
최우선 매수호가
1.0 시장가 매수0.2는 50,000에 체결
0.3은 50,100에 체결
0.5는 50,200에 체결평균 ≈ 50,130 — 최우선 호가에 보이던
50,000이 아닙니다. 그 차이가 시장가
주문이 보여 주지 않는 비용입니다.
0.3은 50,100에 체결
0.5는 50,200에 체결평균 ≈ 50,130 — 최우선 호가에 보이던
50,000이 아닙니다. 그 차이가 시장가
주문이 보여 주지 않는 비용입니다.
매도호가 — 매도자
매수호가 — 매수자
우선순위
주문은 가격이 먼저, 그다음이 시간 순으로 체결됩니다. 가격 쪽은 자명합니다. 더 높은 값을 제시한 매수자가 낮은 값을 제시한 매수자보다 먼저 체결됩니다. 이 거래소가 대부분의 다른 곳과 갈라지는 지점은 시간입니다. 여기서 “시간”은 커밋된 블록 시퀀스 안에서 주문이 차지하는 위치이지, 주문이 노드에 도착한 시각이 아닙니다. 같은 블록에 담긴 두 주문의 선후는 합의로 커밋된 데이터에서 모든 검증자가 동일하게 계산합니다. 네트워크상의 거리로는 이를 바꿀 수 없습니다. 블록과 블록 사이에서는 도착 시각이 여전히 중요하지만, 한 블록 안에서는 마이크로초 단위의 경쟁이 존재하지 않습니다. 시퀀싱 규칙이 여기에 더해집니다. 같은 블록에서 취소는 유동성을 가져가는 주문보다 먼저 실행되므로, 낡은 호가를 거둬들일 수 있고 그 취소와 나란히 도착한 주문은 해당 호가를 낚아챌 수 없습니다.주문을 내기 전에 깊이 읽기
화면에 표시되는 값은 최우선 매수호가와 최우선 매도호가입니다. 주문 수량이 그 자리에 놓인 물량보다 크다면, 그 가격은 실제로 받게 되는 가격이 아닙니다. 위 오더북의 매도호가 쪽을 훑어 보면 이렇습니다.
0.2짜리 시장가 매수는 전량 50,000에 체결됩니다. 1.0짜리 시장가 매수는 세 레벨에 걸쳐 체결되어 평균 가격이 약 50,130이 되며, 최우선 호가에 표시되던 50,000이 아닙니다.
시장가 주문에 상한이 붙는 이유가 이것입니다. 그 상한은 해당 수량이 실제로 소진할 깊이에서 도출합니다. 큰 주문을 시간이나 가격으로 나누는 편이 한 번에 체결하는 것보다 대개 저렴한 이유도 같습니다.
오더북 대비 큰 주문을 내기 전에 들일 만한 습관이 있습니다. 최우선 호가만 보지 말고, 그 수량이 닿게 될 최악의 가격을 계산해 보십시오. 두 숫자의 차이가 시장가 주문이 감추고 있는 비용입니다.
가격은 정수입니다
오더북의 가격은 각 마켓 호가 단위의 정수배이고, 수량은 수량 단위의 정수배입니다. 실행 경로에는 부동소수점이 전혀 없습니다. 두 노드 사이의 반올림 차이는 곧 포크이기 때문입니다. 정밀도와 반올림에서 이를 다룹니다.오더북에 드러나지 않는 것
조건부 주문은 오더북에 없습니다. 스톱, 테이크 프로핏을 비롯한 조건부 주문은 가격을 지켜보는 별도의 저장소에서 대기합니다. 트리거되기 전까지는 큐 위치를 차지하지도, 깊이에 보태지지도 않습니다. 실질적인 결과는 이렇습니다. 빠르게 움직이는 시장에서는 실제 깊이가 오더북이 보여 주는 것보다 얇을 수 있습니다. 가격이 트리거가 몰린 구간을 통과하면 보이지 않던 주문 묶음이 한꺼번에 실제 주문으로 바뀌고, 그것도 전부 같은 방향이기 때문입니다.다음으로 읽을 문서
주문 유형
오더북에 올릴 수 있는 것, 그리고 대기하는 주문과 유동성을 가져가는 주문의 차이.
시장가 주문
깊이에서 도출한 상한이 시장가 주문을 보호하는 방식.
트랜잭션 시퀀싱
같은 블록에서 취소가 유동성을 가져가는 주문을 이기는 이유.
매칭
커널 내부에서 오더북이 어떻게 구성되고 탐색되는지.