CHAPTER 02.9 / ORDER BOOK
2.9 매수·매도 대기 주문의 구조
가격별 매수·매도 대기 수량을 읽고 새 주문이 대기, 부분 체결과 전량 체결로 바뀌는 과정을 살펴봅니다.
2.9 매수·매도 대기 주문의 구조
이 페이지는 2장의 필수 개념이다. 호가창을 단순한 가격 목록이 아니라 가격별 대기 수량과 순서가 계속 바뀌는 주문 상태의 지도라고 이해하는 것이 목표다.
2.8에서 현재 반대편과 만나지 않은 지정가 주문은 대기한다고 배웠다. 이런 매수·매도 대기 주문을 가격 단계별로 모아 보여 주는 구조를 Limit order book(지정가 주문장) 또는 일상적으로 **Order book(호가창)**이라고 부른다.
Order book(호가창)은 가운데에서 바깥으로 읽는다
매도 쪽은 가장 낮은 가격이 시장의 가운데에 가깝고, 그보다 높은 가격이 바깥으로 놓인다. 매수 쪽은 가장 높은 가격이 가운데에 가깝고, 그보다 낮은 가격이 바깥으로 놓인다.
한 시점의 가격별 대기 수량
매도는 낮은 가격, 매수는 높은 가격이 먼저
현재 최우선 매수호가 99.8원보다 높은 가격을 제시해 새로운 최우선 매수호가로 대기한다.
현재 최우선 매도호가 100원과 가격이 만나므로, 해당 가격의 대기 수량을 상대로 체결된다.
이 예시에서 최우선 매도호가는 100원, 최우선 매수호가는 99.8원이다. 두 가격 사이의 스프레드는 0.2원이다.
호가창 화면의 위아래 배치는 서비스마다 다를 수 있다. 위치를 외우기보다 매도 중 가장 낮은 가격, 매수 중 가장 높은 가격을 찾는다.
Price level(가격 단계)의 수량은 여러 주문의 합일 수 있다
호가창에 99.8원 매수 4개가 보인다고 하자. 이것이 한 사람이 낸 4개 주문이라는 뜻은 아니다.
- 투자자 A가 먼저 1개를 주문했다.
- 투자자 B가 다음에 2개를 주문했다.
- 투자자 C가 마지막에 1개를 주문했다.
화면에는 같은 가격의 합계 4개만 보일 수 있다. 단순한 시간 우선 방식이라면 매도 주문이 들어올 때 A의 1개, B의 2개, C의 1개 순서로 체결 기회를 얻는다.
따라서 가격별 합계만 있는 호가 데이터로는 같은 가격 안의 개별 대기 순서를 정확히 알 수 없다.
Price priority(가격 우선) 뒤에 같은 가격의 Queue position(대기 순서)를 본다
가장 단순한 Price-time priority(가격·시간 우선) 주문장을 생각해 보자.
- 매수 주문은 더 높은 가격이 먼저다.
- 매도 주문은 더 낮은 가격이 먼저다.
- 같은 가격이면 먼저 들어온 주문이 먼저다.
매수 주문이 99.8원과 99.7원에 있다면 새 매도 시장가 주문은 99.8원부터 만난다. 99.8원에 여러 주문이 있다면 먼저 도착한 주문부터 체결한다.
실제 거래 장소는 주문 종류, 공개 여부와 참여자 구분에 따라 다른 배정 규칙을 사용할 수 있다. 가격·시간 우선은 주문장의 기본 원리를 배우기 위한 단순 모형이다.
새 주문의 가격에 따라 대기와 체결이 갈린다
현재 최우선 매도호가가 100원이고 최우선 매수호가가 99.8원이라고 하자.
경우 A: 99.9원 매수 지정가 3개
99.9원은 기존 최우선 매수호가 99.8원보다 높지만 매도호가 100원보다는 낮다. 즉시 체결되지 않고 새로운 최우선 매수호가로 대기한다.
경우 B: 100원 매수 지정가 3개
현재 100원에 2개를 팔겠다는 주문이 있으므로 2개가 먼저 체결된다. 남은 1개는 다음 매도호가를 허용하지 않으므로 100원 매수 주문으로 대기할 수 있다.
주문 3개 → 100원에서 2개 체결 → 1개 잔량
주문 하나도 체결과 대기를 동시에 겪을 수 있다. 그래서 주문 상태에는 누적 체결 수량과 남은 수량이 필요하다.
주문은 여러 상태를 거쳐 바뀐다
| 상태 | 뜻 | 다음에 일어날 수 있는 일 |
|---|---|---|
| 접수 | 거래 장소가 주문을 받아 규칙을 확인한다 | 거절, 즉시 체결 또는 주문장 등록 |
| 대기 | 아직 만나지 않은 수량이 주문장에 있다 | 체결, 수정, 취소 또는 만료 |
| Partial fill(부분 체결) | 일부 수량만 거래되었다 | 잔량 대기, 추가 체결 또는 취소 |
| 전량 체결 | 주문 수량 전체가 거래되었다 | 주문 종료 |
| Cancellation·expiration(취소·만료) | 남은 수량이 더는 체결 대상이 아니다 | 주문 종료 |
백테스트와 실거래 기록에서 주문 제출 시각만 저장하면 이 상태 변화를 복원할 수 없다. 각 체결과 취소 사건을 순서대로 기록해야 한다.
보이는 수량은 약속된 미래 수량이 아니다
호가창은 특정 순간에 공개된 주문을 보여 준다. 화면을 본 직후에도 다음 변화가 생길 수 있다.
- 대기 주문이 취소된다.
- 더 좋은 가격의 새 주문이 들어온다.
- 다른 시장가 주문이 먼저 수량을 소비한다.
- 일부만 공개하는 주문의 숨은 잔량이 나타난다.
- 여러 거래 장소에 주문이 나뉘어 있다.
따라서 100원에 1,000개가 보이니 내 주문도 반드시 그 수량을 사용한다고 믿으면 안 된다. 주문이 도착할 때까지 수량과 순서가 달라질 수 있다.
숨은 주문이 있다고 해서 호가창이 쓸모없는 것은 아니다. 공개된 가격과 수량은 현재 시장 상태를 이해하는 중요한 정보지만 전체 유동성의 일부라는 뜻이다.
한 장의 호가창보다 변화 과정이 더 많은 정보를 준다
호가창 한 장은 사진이고, 주문 사건의 연속은 영상에 가깝다.
| 데이터 형태 | 알 수 있는 것 | 한계 |
|---|---|---|
| Order book snapshot(호가창 스냅숏) | 특정 시점의 가격별 공개 수량 | 사이에서 일어난 순서와 취소를 놓칠 수 있다 |
| 주문·체결 사건 | 접수, 수정, 취소와 체결의 순서 | 데이터 양이 크고 시장 규칙 해석이 필요하다 |
| 체결 데이터 | 실제로 거래된 가격과 수량 | 체결되지 않고 사라진 의사는 알 수 없다 |
퀀트 전략의 실행을 연구할 때는 신호 시점의 호가창, 주문 도착 이후의 변화와 실제 체결을 시간순으로 맞춘다.
Market depth(호가 깊이)는 가격을 움직이지 않고 받을 수 있는 수량과 연결된다
최우선 호가 한 단계의 수량만 깊이의 전부는 아니다. 주문 크기만큼 여러 가격 단계를 사용했을 때 평균 체결가가 얼마나 달라지는지 보아야 한다.
얕은 주문장에서는 작은 시장가 주문도 여러 가격 단계를 빠르게 소비한다. 깊은 주문장에서는 같은 수량을 더 좁은 가격 범위 안에서 처리할 가능성이 높다. 다만 보이는 수량이 취소될 수 있으므로 깊이도 순간적인 관측값이다.
2.13에서는 스프레드와 깊이가 체결 속도, 주문 뒤 회복과 함께 유동성을 어떻게 설명하는지 다시 연결한다.
자주 생기는 오해
- 호가창의 한 가격 수량이 한 사람의 주문이라고 단정할 수 없다.
- 화면 위쪽과 아래쪽 위치만으로 최우선 호가를 판단하면 안 된다.
- 새 지정가 주문은 항상 대기하는 것이 아니라 반대편 가격과 만나면 즉시 체결될 수 있다.
- 주문 하나가 일부 체결되고 나머지는 대기할 수 있다.
- 같은 가격에 거래가 발생해도 내 대기 순서까지 수량이 오지 않을 수 있다.
- 화면에 보인 수량은 취소와 선행 체결 때문에 내 주문 도착 때 사라질 수 있다.
- 호가창 한 장은 미래 가격 방향을 확정하는 신호가 아니다.
이해 점검
매도호가와 매수호가에서 각각 어떤 가격이 최우선인가?
매도호가는 가장 낮은 가격이 최우선이고, 매수호가는 가장 높은 가격이 최우선이다.
화면 배치는 달라질 수 있으므로 위치보다 가격의 의미로 판단한다.
최우선 매도호가 100원 2개일 때 100원 매수 지정가 3개가 들어오면 단순 모형에서 어떻게 되는가?
가격이 만나므로 2개가 먼저 체결된다. 남은 1개는 100원보다 높은 매도호가에는 체결될 수 없으므로 100원 매수 주문으로 대기할 수 있다.
하나의 주문이 부분 체결과 잔량 대기를 동시에 겪는 예다.
99.8원 매수 수량 4개가 한 주문이라고 단정할 수 없는 이유는 무엇인가?
호가창은 같은 가격에 들어온 여러 주문의 수량을 합쳐 보여 줄 수 있기 때문이다. 개별 주문의 수량과 대기 순서는 별도 데이터가 필요하다.
같은 가격에서는 먼저 들어온 주문이 먼저 체결되는 단순 시간 우선 규칙을 사용할 수 있다.
호가창에 큰 수량이 보여도 내 시장가 주문의 체결을 보장하지 않는 이유는 무엇인가?
내 주문이 도착하기 전에 해당 주문이 취소되거나 다른 주문이 먼저 체결할 수 있기 때문이다. 새 주문으로 최우선 가격도 바뀔 수 있다.
호가창은 특정 순간의 공개 상태이며 숨은 수량과 다른 거래 장소의 유동성을 모두 보여 주지는 않는다.
완료 기준
양쪽 세 가격 단계의 호가창에서 최우선 호가와 스프레드를 찾고, 새 주문이 대기·부분 체결·전량 체결 중 어떤 상태로 바뀌는지 가격과 수량으로 설명할 수 있으면 다음 학습으로 넘어간다. 다음 페이지에서는 보유하지 않은 자산을 빌려 먼저 파는 거래 흐름을 살펴본다.
이 자료의 매칭 순서는 초보 학습을 위한 단순 모형이다. 실제 주문 공개와 배정 규칙은 거래 장소와 주문 유형에 따라 다르며 투자 권유가 아니다.