주식거래는 왜 실시간이 아닐까? – 호가와 체결의 구조를 쉽게 풀어보는 초보자 가이드
주식을 처음 시작한 사람이라면 누구나 한 번쯤 이런 경험을 하게 된다.
'매수 버튼을 눌렀는데 체결이 안 됐다'
'지금 장이 열려 있는데 왜 주문이 멈춰있지?'
'호가창에 숫자들이 있는데 이건 뭘 의미하는 거지?'
이러한 궁금증은 대부분 ‘호가’와 ‘체결’의 차이, 그리고
주식 거래가 실제로 어떻게 이루어지는지에 대한 이해 부족에서 비롯된다.
이 글에서는 주식 주문이 실시간으로 체결되지 않는 이유,
호가창의 구조, 그리고 주문이 실제로 거래로 바뀌는 과정까지 적어보려한다.
주식 거래는 단순한 클릭이 아니다
우리가 앱에서 매수나 매도 버튼을 누르는 순간,
그 주문이 곧바로 체결될 것처럼 보이지만
실제로는 매수자와 매도자의 가격이 일치해야만 거래가 성사된다.
즉, 주식 거래는 한쪽이 사고 싶다고 해서 이루어지는 게 아니라,
같은 가격에 사고 싶고 팔고 싶은 사람이 만나야 가능한 구조다.
‘호가’란 무엇인가?
'호가(呼價)'는
“지금 이 가격에 사고 싶어요” 혹은
“이 가격에 팔고 싶어요”라는 의사를 표시한 가격이다.
호가창이란,
매수자와 매도자가 얼마에 사고 싶고, 팔고 싶은지를 보여주는 실시간 게시판이다.
호가창 기본 구조
매수호가 | 잔량 | ← | 잔량 | 매도호가 |
19,950원 | 1,200주 | 800주 | 20,000원 | |
19,900원 | 980주 | 1,500주 | 20,050원 | |
19,850원 | 650주 | 2,000주 | 20,100원 |
- 매수호가: 이 가격 이하로는 사고 싶지 않다는 뜻
- 매도호가: 이 가격 이상으로는 팔고 싶지 않다는 뜻
- 잔량: 해당 가격에 대기 중인 주문 수량
즉, 호가창은 시장에 있는 대기 중인 주문표다.
왜 ‘지정가’ 주문이 체결되지 않을까?
많은 초보 투자자들이
'나는 분명 20,000원에 사고 싶다고 눌렀는데 왜 안 사졌지?'라고 궁금해할 수 있다.
그 이유는 간단하다.
지정가 주문은 그 가격에 누군가 ‘팔겠다고’ 해야만 체결되기 때문이다.
즉, 20,000원에 매수 주문을 넣었다 해도
현재 가장 낮은 매도호가가 20,050원이라면
거래는 성사되지 않고 대기 상태로 남아 있게 된다.
‘시장가’ 주문은 어떻게 다를까?
시장가는 말 그대로 시장에 나와 있는 가장 유리한 가격으로 즉시 매수/매도하는 방식이다.
- 매수 시장가 → 가장 낮은 매도호가부터 순서대로 체결됨
- 매도 시장가 → 가장 높은 매수호가부터 순서대로 체결됨
단점은
가격을 직접 통제하지 않기 때문에
예상보다 비싸게 사거나 싸게 팔릴 수 있다.
체결은 어떻게 이루어지나?
실제 체결은 ‘호가가 일치하는 순간’에 거래소 서버에서 자동으로 실행된다.
누군가가 20,000원에 팔겠다고 매도호가를 내고
동시에 다른 누군가가 20,000원에 사고 싶다고 하면
→ 그 주문은 바로 체결되고 거래가 성립된다.
호가창에 보이는 숫자의 의미
호가창에 보이는 각 호가 옆 숫자는 해당 가격에서
얼마만큼의 수량이 대기 중인지를 의미한다.
예를 들어 ‘19,900 | 980’이라면
19,900원에 980주가 매수 주문으로 걸려 있다는 뜻이다.
실시간처럼 보여도 ‘지연’이 있는 이유
모바일 앱이나 웹에서 주식 거래를 보면 실시간처럼 보여도
몇 초의 지연은 항상 발생할 수 있다.
그 이유는 다음과 같다:
- 서버와 앱 간의 데이터 전송 시차
- 증권사 API 응답 속도 차이
- 시장 참여자 수 증가 시 처리 지연
- 프리마켓/애프터마켓의 낮은 유동성
특히 장 시작 직후나 마감 직전엔
호가창이 매우 빠르게 움직이며,
실시간이라고 해도 반영에는 미세한 시차가 생긴다.
정리 – 거래는 ‘서로의 가격이 맞아야만’ 가능하다
주식 거래는 단순한 버튼 클릭이 아니다.
매수자와 매도자가 동일한 가격에 서로 만나야만 체결이 성립한다.
그리고 그 가격대별로 누가 몇 주를 주문했는지를 보여주는 것이
바로 ‘호가창’이다.
이 구조를 이해하면
- 왜 주문이 대기 상태로 멈춰 있는지
- 어떤 주문이 실시간으로 체결되는지
- 시장가와 지정가의 차이는 무엇인지
등을 더 명확하게 이해할 수 있게 된다.