방금 체결된 주당 1만 원에 7주를 살 수 있을까요?
주식을 사려면 팔려는 사람과 가격·수량이 맞아야 합니다. 매수·매도 주문이 만나 실제 거래가 이뤄진 것을 체결이라고 합니다. 화면의 ‘현재가’가 가장 최근 체결 가격을 뜻한다면, 1만 원은 앞서 다른 사람이 거래한 가격입니다. 내 주문에도 그 가격을 약속하는 숫자는 아닙니다. 화면이 어떤 가격을 표시하고 시세가 지연되는지도 확인해야 합니다.
지금 내가 살 수 있는 가격을 보려면 판매자가 얼마에 몇 주를 팔겠다고 했는지 봅니다. 그 가격이 매도호가입니다. 사거나 팔겠다는 가격과 수량을 모은 목록이 주문장이고, 아래는 그중 팔겠다는 쪽만 만든 가상 예입니다.
정규 거래 시간에 조건이 맞는 주문끼리 계속 만나는 연속매매를 가정합니다. 하나의 단순한 주문장만 있고, 내 주문을 처리하는 동안 가격과 수량은 멈춰 있다고 놓습니다. 숨은 주문, 다른 거래 장소로의 주문 이동, 수수료·세금은 없습니다. 실제 종목이나 거래소 화면을 재현한 표는 아닙니다.
표를 좌우로 밀어 보세요. 키보드에서는 표를 선택한 뒤 방향키를 누르세요.
| 매도호가 | 1주당 가격 | 매도 수량 |
|---|---|---|
| 가장 낮은 가격 | 10,000원 | 3주 |
| 다음 가격 | 10,020원 | 5주 |
| 그다음 가격 | 10,050원 | 4주 |
가장 싼 1만 원에는 3주뿐입니다. 원하는 7주에는 모자랍니다. 실제로는 화면을 보고 주문이 도착할 때까지 이 3주가 팔리거나 가격이 바뀔 수 있습니다. 여기서는 그 시간차를 잠시 빼고, 표의 수량만으로 어떤 일이 생기는지 계산합니다.
시장가 주문 하나가 여러 가격으로 나뉘어 체결될 수 있습니다
시장가 매수는 내가 낼 가격 상한을 정하지 않고 그때 거래 가능한 가격으로 사겠다는 주문입니다. 표의 7주를 사려면 가장 싼 1만 원의 3주를 먼저 삽니다. 아직 4주가 부족하므로 다음 가격인 1만 20원에서 채웁니다. 그 가격에 5주가 나와 있어 4주를 채우기에 충분합니다. 1만 50원까지 올라갈 필요는 없습니다.
쓴 돈을 더하면 10,000 × 3 + 10,020 × 4 = 70,080원입니다. 이 돈을 실제 산 7주로 나눈 평균 체결 가격은 약 1만 11.43원입니다. 처음의 7만 원 예상보다 80원이 큰 것은 4주를 20원씩 비싸게 샀기 때문입니다. 시장가 주문에 따로 붙는 고정 요금이 아닙니다.
이것은 가격과 수량이 고정된 예제의 결과입니다. 실제 주문은 시장에 도착했을 때의 가격과 물량을 사용합니다. 거래가 중단되거나 팔 물량이 모자라면 원하는 순간에 전부 살 수 있다는 보장도 없습니다. 시장가가 거래를 신속히 이루려는 주문이라는 설명을, 표시 가격에 즉시 전량 산다는 약속으로 읽으면 안 됩니다.
1만 20원 지정가가 곧 ‘7주 모두 1만 20원’은 아닙니다
이번에는 한 주에 얼마까지 낼지 조건을 붙여 보겠습니다. 매수 지정가를 1만 20원으로 정하면 그 가격보다 비싸게 사지 않겠다는 뜻입니다. 이미 더 싸게 팔겠다는 사람이 있으면 낮은 가격에도 거래됩니다. 매도 지정가는 반대로 이 가격 이상을 받아야 팔겠다는 조건입니다.
아래 네 경우는 모두 7주를 사되, 주문마다 처음 호가표로 되돌려 따로 계산합니다. 앞 주문이 수량을 가져간 뒤 다음 주문을 넣는 순서가 아닙니다. 일반 지정가에는 남은 수량을 즉시 취소하는 조건이 없고 주문 유효기간도 남아 있다고 가정합니다. 그래서 아직 거래되지 않은 미체결 수량은 주문장에 대기할 수 있습니다.
표는 주문이 도착해 처음 처리된 직후입니다. 좁은 화면에서는 옆으로 밀어 볼 수 있습니다. 평균가격은 실제 산 수량만으로 계산합니다.
| 주문 조건 | 체결 수량 | 체결 거래대금 | 평균 체결 가격 | 미체결 수량 |
|---|---|---|---|---|
| 시장가 7주 | 7주 | 70,080원 | 10,011.43원 | 0주 |
| 10,000원 매수 지정가 7주 | 3주 | 30,000원 | 10,000원 | 4주 |
| 10,020원 매수 지정가 7주 | 7주 | 70,080원 | 10,011.43원 | 0주 |
| 9,990원 매수 지정가 7주 | 0주 | 0원 | — | 7주 |
1만 20원 지정가도 3주는 1만 원에, 4주는 1만 20원에 삽니다. 허용 가격 안에 7주가 있어 이번 시장가 결과와 같습니다. 하지만 상한을 1만 원으로 낮추면 3주만 사고 멈춥니다. 지정가는 가격에 조건을 거는 것이지, 원하는 수량 전부를 확보하는 약속은 아닙니다.
‘주문 완료’라는 글자보다 체결 수량을 봅니다
1만 원 지정가 결과는 ‘3주를 샀고 4주는 아직 못 샀다’입니다. 이런 상태가 부분체결입니다. 전부 실패한 것도 아니고 7주가 모두 계좌에 들어온 것도 아닙니다. 3만 원은 실제 산 3주의 대금이므로 평균가격을 구할 때도 3으로 나눠야 합니다. 주문한 7로 나누면 아직 사지 않은 주식까지 산 것처럼 계산하게 됩니다.
9,990원 지정가는 한 주도 못 샀습니다. 쓴 돈은 0원이지만 평균 체결 가격은 0원이 아닙니다. 거래가 없어 평균도 없다는 뜻을 표의 ‘—’로 표시했습니다.
나중에 다른 사람이 내 지정가 근처에서 거래해도 내 주문이 됐다는 증거는 아닙니다. 그때 팔려는 수량과 내 주문 도착 시점, 여러 주문 중 무엇부터 거래할지 정한 우선순위가 영향을 줍니다. 이 멈춘 호가표는 계산을 설명할 뿐 실제 체결 수량을 예측하지 않습니다.
남은 4주를 계속 기다릴지는 주문 조건에 달려 있습니다
매수 가격을 정한 다음에는 주문이 언제까지 남는지도 읽어야 합니다. 앞에서는 1만 원 지정가의 남은 4주가 대기할 수 있다고 놓았습니다. 하지만 유효기간이나 체결 조건을 다르게 붙이면 결과도 달라집니다.
IOC는 지금 가능한 수량만 즉시 거래하고 나머지는 취소하는 조건입니다. FOK는 지금 전량을 거래할 수 없으면 주문 전체를 취소하는 조건입니다. 둘 다 앞 표처럼 일부를 먼저 사고 나머지를 기다리는 조건과 다릅니다.
이 조건을 제공하는지, 어느 거래 시간에 적용하는지, 언제 끝나는지는 시장·거래소·증권사마다 다를 수 있습니다. 장 마감 뒤 넣은 주문의 시작 시각이나 취소 요청을 받는 시각도 실제 화면의 조건으로 확인해야 합니다.
전송 확인은 주문이 보내졌다는 확인이지 주식을 샀다는 확인은 아닙니다. 체결·미체결 수량을 알면 기다리는 주문을 모르고 같은 수량을 다시 주문하는 일을 줄일 수 있습니다.
체결 내역은 수량·가격·남은 주문을 나눠 읽으면 됩니다
예제의 시장가 주문 내역에 3주와 4주가 따로 적혀 있다면, 두 체결의 거래대금을 더한 뒤 총 7주로 나눠 보면 됩니다. 그다음 수수료와 세금이 별도 항목인지 확인합니다. 평균 체결 가격과 비용을 모두 반영한 계좌의 매입단가가 다를 때는 어떤 항목을 넣어 계산한 숫자인지부터 살피세요.
취소 버튼을 눌렀다면 남은 수량이 실제로 취소됐는지도 확인할 필요가 있습니다. 먼저 체결된 수량은 취소 요청을 냈다는 이유로 되돌아가지 않습니다. 전송 확인만 보고 같은 주문을 다시 넣으면 중복 주문이 될 수 있으므로 체결·미체결·취소 내역을 먼저 맞춰 보세요.
ETF를 거래할 때도 상품의 구성과 주문의 체결은 다른 문제입니다. 같은 지수를 담은 ETF끼리 비교하는 방법은 같은 지수 ETF 비교에서, 지분이 거래되는 기본 구조는 ETF 기초에서 이어 볼 수 있습니다. 가격이 낮아 보이는 이유가 주식 수 변경인지 궁금하다면 액면분할과 주식병합도 함께 읽어 보세요.
예제의 가정
호가·수량·표와 계산은 직접 구성한 가상 주문장입니다. 각 주문은 같은 호가표에서 독립적으로 시작하며, 정규 연속매매 중 하나의 단순한 주문장에서 가격과 수량이 바뀌지 않는다고 가정했습니다. 숨은 주문·다른 거래 장소로의 주문 이동·수수료·세금은 제외했습니다.
평균 체결 가격은 실제 체결 거래대금을 체결 수량으로 나누고 소수 둘째 자리까지 반올림했습니다. 미체결 주문에는 평균가격을 붙이지 않았습니다. 주문의 제공 여부와 유효기간·우선순위·취소 처리는 해당 거래소와 증권사의 조건을 확인해야 합니다. 실제 체결을 예측하거나 특정 거래를 권하는 글이 아니며 편집·검증 기준을 따릅니다.