CHAPTER 02.6 / BID & ASK
2.6 매수호가·매도호가와 스프레드
지금 가장 높게 사려는 가격과 가장 낮게 팔려는 가격을 구분하고, 두 가격 사이의 스프레드를 계산합니다.
2.6 매수호가·매도호가와 스프레드
이 페이지는 2장의 필수 개념이다. 마지막 체결가만 보는 습관에서 벗어나 지금 바로 사고팔 때 마주치는 두 가격을 읽는 것이 목표다.
2.5까지는 무엇을 거래하는지 살펴봤다. 이제 실제 주문 직전 화면으로 이동하자. 시장에는 살 의향과 팔 의향이 서로 다른 가격으로 제시되며, 아직 만나지 않은 두 가격 사이에는 간격이 있다.
호가는 가격과 수량을 함께 담은 거래 의사다
**Bid(매수호가)**는 정해진 수량을 특정 가격에 사겠다는 의사다. **Ask(매도호가)**는 정해진 수량을 특정 가격에 팔겠다는 의사다.
- 매수자는 가능하면 더 낮은 가격에 사고 싶다.
- 매도자는 가능하면 더 높은 가격에 팔고 싶다.
- 같은 가격에서 양쪽 조건이 만나면 거래가 체결될 수 있다.
호가는 가격 하나만 뜻하지 않는다. 100원에 산다는 말 뒤에는 몇 개를 살 것인지가 붙어야 한다. 가격은 좋아 보여도 대기 수량이 1개뿐이면 100개 주문 전체를 같은 가격에 처리할 수 없다.
가장 가까운 두 호가가 최우선 호가다
여러 매수호가 중 가장 높은 가격을 **Best bid(최우선 매수호가)**라고 한다. 여러 매도호가 중 가장 낮은 가격을 **Best ask(최우선 매도호가)**라고 한다.
| 구분 | 최우선이 되는 가격 | 즉시 반대 주문이 만나는 곳 |
|---|---|---|
| 매수호가 | 가장 높은 매수 가격 | 즉시 팔려는 주문이 먼저 만난다 |
| 매도호가 | 가장 낮은 매도 가격 | 즉시 사려는 주문이 먼저 만난다 |
매수 중 가장 낮은 가격이 아니라 매수 중 가장 높은 가격이 최우선이라는 점을 기억한다. 판매자 입장에서는 가장 많이 내겠다는 매수자와 먼저 거래하는 것이 유리하기 때문이다.
현재 가장 가까운 두 가격
호가 사이의 0.2원
Bid-ask spread(매수·매도 스프레드)는 양쪽 최우선 호가의 차이다
가상 종목의 최우선 매수호가가 99.9원이고 최우선 매도호가가 100.1원이라고 하자.
- Bid-ask spread(매수·매도호가 스프레드)
- 단위: 가격 또는 통화
- 최우선 매도호가
- 단위: 가격 또는 통화
- 최우선 매수호가
- 단위: 가격 또는 통화
**Bid-ask spread(매수·매도 스프레드)**는 지금 가장 가까운 매수 의사와 매도 의사 사이의 가격 차이다. 매수자는 아직 100.1원을 내겠다고 하지 않았고, 매도자는 아직 99.9원에 팔겠다고 하지 않았으므로 두 주문은 대기한다.
스프레드를 가격 수준과 비교하고 싶다면 중간가격 대비 비율로 볼 수도 있다.
- Mid-price(중간가격)
- 단위: 가격 또는 통화
- 최우선 매수호가
- 단위: 가격 또는 통화
- 최우선 매도호가
- 단위: 가격 또는 통화
- 중간가격 대비 Spread ratio(스프레드 비율)
- 단위: 퍼센트
- Bid-ask spread(매수·매도호가 스프레드)
- 단위: 가격 또는 통화
- Mid-price(중간가격)
- 단위: 가격 또는 통화
중간가격은 양쪽 호가의 가운데를 나타내는 계산값이다. 누군가 100원에 실제로 거래하겠다고 약속한 가격은 아니다.
바로 사고 바로 팔면 가격 차이를 먼저 부담한다
다른 조건이 그대로라고 단순화하자. 한 단위를 즉시 사려면 100.1원의 매도호가를 사용하고, 곧바로 즉시 팔려면 99.9원의 매수호가를 사용한다.
가격이 움직이지 않았어도 양쪽 호가를 연달아 사용하면 스프레드만큼 불리해진다. 중간가격을 기준으로 보면 살 때 0.1원, 팔 때 0.1원씩 불리한 셈이다.
하지만 스프레드가 거래 비용의 전부는 아니다. 수수료, 세금, 여러 가격 단계를 사용해 생기는 평균 체결가 차이와 주문 때문에 시장이 움직이는 효과도 더해질 수 있다.
마지막 체결가와 현재 호가는 다른 질문에 답한다
마지막 체결가는 가장 최근에 실제 거래가 성립한 가격이다. 현재 호가는 지금 대기 중인 매수·매도 의사다.
예를 들어 마지막 거래가 100원에 끝난 직후 새로운 정보가 나와 매수호가 99원, 매도호가 101원만 남을 수 있다. 화면의 마지막 체결가는 여전히 100원이지만 새 시장가 주문은 100원에 체결된다는 보장이 없다.
| 관측값 | 답하는 질문 | 답하지 못하는 질문 |
|---|---|---|
| 마지막 체결가 | 가장 최근 거래는 어디에서 성립했는가? | 지금 내 주문이 어디에서 체결되는가? |
| 현재 최우선 호가 | 지금 가장 가까운 매수·매도 의사는 어디인가? | 큰 주문 전체가 같은 가격에 체결되는가? |
| 중간가격 | 양쪽 최우선 호가의 가운데는 어디인가? | 그 가격에 실제 거래 상대가 있는가? |
좁은 스프레드만으로 유동성을 확정할 수 없다
스프레드가 좁으면 작은 주문을 양쪽에서 거래할 때 가격 차이가 작다는 신호가 될 수 있다. 그러나 최우선 호가에 대기한 수량이 적으면 큰 주문은 곧바로 다음 가격 단계까지 사용한다.
예를 들어 최우선 매도호가 100.1원에 1개만 있고 그다음 매도호가가 102원이라면, 100개 매수 주문의 대부분은 100.1원보다 훨씬 높은 가격을 마주칠 수 있다. 따라서 스프레드와 함께 가격별 대기 수량인 **Market depth(시장 깊이)**를 확인해야 한다.
유동성은 2.13에서 스프레드, 깊이, 체결 속도와 시장 회복을 함께 묶어 다시 배운다.
Quant data(퀀트 데이터)에서는 Observation time(관측 시점)을 맞춘다
호가는 매우 빠르게 바뀔 수 있다. 백테스트에서 주문 시각보다 나중에 생긴 호가를 사용하면 실제로 알 수 없었던 가격으로 체결한 셈이 된다.
- 신호가 계산된 시점
- 주문이 시장에 도착한 시점
- 그 시점의 매수·매도호가와 수량
- 실제 체결 시점과 가격
이 네 시간을 구분해야 한다. 일별 종가만 있는 데이터로 초 단위 스프레드 비용을 정확히 재현할 수는 없다. 데이터 해상도보다 정교한 체결 가정을 넣을 때는 추정이라는 사실을 밝혀야 한다.
자주 생기는 오해
- 매수호가는 내가 자산을 살 때 바로 지불하는 가격이 아니라 사겠다고 대기한 가격이다.
- 최우선 매수호가는 가장 낮은 매수 가격이 아니라 가장 높은 매수 가격이다.
- 중간가격은 실제 체결을 보장하는 가격이 아니다.
- 마지막 체결가와 현재 최우선 호가는 같지 않을 수 있다.
- 스프레드는 수수료와 시장 충격까지 포함한 전체 거래 비용이 아니다.
- 스프레드가 좁아도 대기 수량이 적으면 큰 주문의 체결가는 나빠질 수 있다.
이해 점검
최우선 매수호가가 99.9원이고 최우선 매도호가가 100.1원이면 스프레드와 중간가격은 얼마인가?
스프레드는 이다. 중간가격은 이다.
중간가격 100원은 계산값이며 그 가격에 실제 대기 주문이 있다는 뜻은 아니다.
지금 한 단위를 즉시 사려는 주문은 매수호가와 매도호가 중 어느 쪽을 사용하는가?
이미 팔겠다고 대기한 주문을 찾아야 하므로 매도호가를 사용한다. 가장 낮은 매도호가부터 만난다.
반대로 즉시 팔려는 주문은 가장 높은 매수호가부터 사용한다.
마지막 체결가가 100원이어도 새 매수 주문이 100원보다 높게 체결될 수 있는 이유는 무엇인가?
마지막 체결 뒤에 호가가 바뀔 수 있고, 현재 가장 낮은 매도호가가 100원보다 높을 수 있기 때문이다.
큰 주문이라면 최우선 호가 수량을 모두 사용한 뒤 더 높은 가격 단계까지 체결될 수도 있다.
스프레드가 0.1원으로 좁다는 사실만으로 1,000개를 작은 비용에 살 수 있다고 결론 내릴 수 없는 이유는 무엇인가?
최우선 매도호가에 몇 개가 대기하는지 알 수 없기 때문이다. 수량이 적으면 나머지 주문은 더 높은 매도호가를 사용한다.
큰 주문의 거래 가능성을 판단하려면 여러 가격 단계의 깊이와 호가 변화까지 함께 보아야 한다.
완료 기준
가상의 양쪽 호가에서 최우선 매수·매도호가, 스프레드와 중간가격을 계산하고, 마지막 체결가가 새 주문의 체결가를 보장하지 않는 이유를 설명할 수 있으면 다음 학습으로 넘어간다. 다음 페이지에서는 가격을 정하지 않고 빠른 체결을 우선하는 주문이 이 호가를 어떻게 소비하는지 살펴본다.
이 자료는 호가와 스프레드를 이해하기 위한 일반적인 학습 설명이며 투자 권유나 수익 보장이 아니다.