Strasmore Research
Deep Dives · Matt ConnorBy Matt Connor ·

가격-시간 우선순위와 비례 배분 체결 방식 비교

동일한 가격대의 주문이 서로 다른 체결 결과를 얻는 이유를 분석합니다. 가격-시간 우선순위(price-time priority)와 비례 배분(pro-rata) 알고리즘의 작동 원리를 실제 호가창 데이터를 통해 상세히 설명합니다.

가격-시간 우선순위(price-time priority)와 비례 배분(pro-rata)은 동일한 가격대에 여러 주문이 쌓여 있을 때, 거래소가 어떤 주문을 체결시킬지 결정하는 두 가지 규칙입니다. FIFO(First-In, First-Out, 선입선출)라고도 불리는 가격-시간 우선순위 방식에서는 가장 먼저 도착한 주문이 요청한 수량이 모두 채워질 때까지 우선적으로 체결됩니다. 반면 비례 배분 방식에서는 해당 가격대의 모든 주문이 각자의 주문 규모에 비례하여 물량을 배분받으며, 도착 시간은 거의 고려되지 않습니다. 같은 호가창(order book)이라도 적용되는 규칙에 따라 체결 결과는 크게 달라집니다.

단일 호가창에서의 가격-시간 우선순위와 비례 배분 비교

특정 가격대를 고정해 보겠습니다. 100.00 가격에 5개의 매수 주문이 다음과 같은 순서로 들어와 있습니다: 10랏(lot), 200랏, 5랏, 50랏, 35랏. 총 300랏이 한 가격에 머물러 있습니다. 이때 100랏 규모의 시장가 매도 주문이 들어옵니다. 가격만으로는 우선순위를 가릴 수 없습니다. 매칭 엔진의 배분 알고리즘이 이를 결정하는데, 이 알고리즘은 자연법칙이 아닌 거래소의 규칙입니다.

100랏의 매도 주문이 세 가지 모델에 따라 어떻게 나뉘는지 살펴보겠습니다. 호가창과 체결 내역은 가상의 예시입니다.

  • 매수 1번, 10랏, 대기열 첫 번째: FIFO에서는 10랏, 비례 배분에서는 4랏, 하이브리드에서는 10랏 체결.
  • 매수 2번, 200랏, 대기열 두 번째: FIFO에서는 90랏, 비례 배분에서는 67랏, 하이브리드에서는 63랏 체결.
  • 매수 3번, 5랏, 대기열 세 번째: 세 모델 모두에서 체결 없음.
  • 매수 4번, 5랏, 대기열 네 번째: FIFO에서는 체결 없음, 비례 배분에서는 17랏, 하이브리드에서는 16랏 체결.
  • 매수 5번, 35랏, 대기열 다섯 번째: FIFO에서는 체결 없음, 비례 배분에서는 12랏, 하이브리드에서는 11랏 체결.

매수 1번은 가장 먼저 도착한 소규모 주문입니다. FIFO는 100만 분의 1초 차이로 밀렸을지 모를 200랏 주문보다 이 주문을 먼저 완전히 체결시킵니다. 비례 배분에서는 300랏 중 10랏의 비중을 가지므로 100랏 거래 시 3.33랏을 배정받고, 소수점 절사 후 남은 1랏을 시간 순서에 따라 추가로 가져가 총 4랏이 체결됩니다. 매수 4번과 5번은 정반대의 경우로, FIFO에서는 전혀 체결되지 않지만 비례 배분에서는 물량을 배정받습니다.

매수 3번은 주목할 필요가 있습니다. 비례 배분상 1.67랏을 배정받아야 하지만 소수점 절사로 1랏이 됩니다. 비례 배분 거래소들은 통상 1~2랏의 최소 배분 단위를 설정하며, 이보다 적은 배분량은 아예 체결되지 않습니다. 최소 단위가 2랏이라면 매수 3번은 두 비례 모델 모두에서 0랏을 받게 됩니다. 비례 배분 대기열에서 아주 작은 주문은 사실상 보이지 않는 것과 같습니다.

하이브리드 모델의 특징: 상단 우선 배분

순수 비례 배분은 드뭅니다. 세 번째 열은 가격-시간 우선순위와 비례 배분을 혼합한 하이브리드 방식입니다. 특정 주문에 고정된 물량을 먼저 배분한 뒤 나머지를 공유합니다. 매수 1번은 대기열 첫 번째 주문으로서 유입된 거래량의 최대 40퍼센트까지 가져가되, 자신의 주문량인 10랏을 넘지 않도록 제한됩니다. 나머지 90랏은 앞서와 같은 절사 규칙과 최소 단위 규칙을 적용하여 나머지 4개 주문에 비례 배분됩니다. 거래소들은 이 고정 배분 물량을 TOP(새로운 최우선 가격을 제시한 주문)에 부여합니다. 순수 비례 배분에서는 가격을 개선해도 추가 이득이 없기에 아무도 시장 호가를 좁히려는 노력을 하지 않습니다. 가격 제시자에 대한 고정 배분은 FIFO의 인센티브를 일부 복원합니다.

FIFO에서 대기열 위치는 자산이다

가격-시간 우선순위 호가창에서 중요한 것은 적정 가격 여부가 아닙니다. 해당 가격에 내 앞에 몇 개의 주식이 대기 중인지, 그리고 앞선 대기열이 얼마나 빨리 소진되는지가 관건입니다. 체결은 작은 단위로 이루어집니다.

조회평균 거래당 주식 수, 2026년 6월
모든 수치 뒤에 숨겨진 정확한 SQL
SELECT
    ticker                                    AS symbol,
    round(sum(volume) / sum(transactions), 1) AS avg_shares_per_print
FROM global_markets.stocks_daily_aggs
WHERE ticker IN ('AAPL', 'MSFT', 'NVDA', 'SPY', 'KO', 'JNJ', 'T', 'F')
  AND date >= '2026-06-01'
  AND date <  '2026-07-01'
GROUP BY ticker
HAVING sum(transactions) > 0
ORDER BY avg_shares_per_print DESC
Run this yourself

8 종목 전반에서 F336.5주로 가장 큰 평균 체결 규모를 기록했고, MSFT53.2주로 가장 작았습니다. 이 정도 규모라면 500주 지정가 주문은 수많은 소규모 거래 상대방과 차례로 체결되며, 앞에 있는 모든 주식이 먼저 소진되어야 합니다.

속도가 곧 수익입니다. 메시지를 한 번이라도 먼저 보내면 동일 가격대에서 뒤에 오는 모든 사람보다 앞설 수 있기 때문입니다. 주문 취소 후 재제출은 비용이 큽니다. 거의 모든 가격-시간 우선순위 거래소에서 가격을 변경하거나 수량을 늘리면 타임스탬프가 초기화되어 대기열 맨 뒤로 밀려나기 때문입니다. 수량을 줄이는 것은 보통 우선순위를 유지해 줍니다. 트레이더들이 대기열 위치를 재고처럼 관리하는 이유가 바로 이것입니다.

조회초당 호가 업데이트 및 평균 호가 스프레드, 2026년 6월 17일 10분간
모든 수치 뒤에 숨겨진 정확한 SQL
SELECT
    ticker                    AS symbol,
    round(count() / 600.0, 1) AS quote_updates_per_second,
    round(avg(toFloat64(ask_price) - toFloat64(bid_price))
          / avg(toFloat64(bid_price)) * 10000, 2) AS avg_spread_bps
FROM global_markets.cache_stocks_quotes
WHERE ticker IN ('AAPL', 'MSFT', 'NVDA', 'SPY', 'KO')
  AND sip_timestamp >= '2026-06-17 14:00:00'
  AND sip_timestamp <  '2026-06-17 14:10:00'
  AND bid_price > 0
  AND ask_price > bid_price
GROUP BY ticker
ORDER BY quote_updates_per_second DESC
Run this yourself

대기열 위치는 소멸하기 쉽습니다. 가격 수준이 유지되지 않을 수 있기 때문입니다. SPY는 10분 동안 296.4번 호가를 갱신했고, KO28.8번 갱신했습니다. 평균 호가 스프레드는 0.32 베이시스 포인트(1베이시스 포인트는 0.01퍼센트)였습니다. 2초간 유지되는 가격에서의 대기열 가치는 2초만큼의 가치뿐입니다. 이러한 빈번한 변동은 마켓 메이커가 수익을 내는 방식의 핵심 기제 중 하나입니다.

비례 배분에서 주문 규모는 자산이다

규칙을 바꾸면 인센티브도 뒤집힙니다. 체결량이 표시된 주문 규모에 비례한다면, 더 많이 체결받기 위해서는 더 큰 규모를 표시해야 합니다. 20랏을 원하고 전체의 약 3분의 1이 체결될 것으로 예상하는 선물 트레이더는 60랏을 호가합니다. 해당 가격대의 모든 참여자가 같은 계산을 하면 호가창은 부풀려지고, 각 참여자의 배분 비율은 다시 낮아집니다. 비례 배분 호가창에 표시된 깊이(depth)는 실제 시장 참여자들이 원하는 규모보다 과장되어 있습니다. 과다 호가는 속임수가 아니라 해당 규칙 하에서의 균형 상태이며, 여기에는 실질적인 비용이 따릅니다. 대규모 매도자가 해당 가격대의 물량을 전부 가져가면, 부풀려진 모든 호가가 한꺼번에 체결될 수 있기 때문입니다.

조회AAPL 옵션 계약 수별 체결량, 2026년 6월 17일
모든 수치 뒤에 숨겨진 정확한 SQL
SELECT
    multiIf(size = 1,    '1 contract',
            size <= 5,   '2 to 5 contracts',
            size <= 25,  '6 to 25 contracts',
            size <= 100, '26 to 100 contracts',
                         'over 100 contracts')       AS size_bucket,
    round(100.0 * count() / sum(count()) OVER (), 1)  AS share_pct
FROM global_markets.options_trades
WHERE underlying_symbol = 'AAPL'
  AND sip_timestamp >= '2026-06-17 13:30:00'
  AND sip_timestamp <  '2026-06-17 20:00:00'
GROUP BY size_bucket
ORDER BY share_pct DESC
Run this yourself

옵션 시장은 일반적인 FIFO가 아닌 배분 규칙이 적용되는 대표적인 곳입니다. 많은 옵션 거래소가 고객 주문을 최우선으로 처리한 뒤, 나머지에 대해 비례 배분이나 패리티(parity) 방식을 적용합니다. 옵션은 주문 규모가 작아 최소 배분 규칙이 소규모 주문에 가장 큰 영향을 미칩니다. 해당 세션에서 AAPL 옵션 체결의 48.5퍼센트가 5개 구간 중 1 contract 구간에 해당했습니다. 행사가격당 수천 계약이 대기 중인 상황에서 1계약에 대한 비례 배분은 0으로 절사됩니다. 고객 우선순위와 최소 배분 규칙은 소규모 주문이 체결될 수 있게 하는 핵심 요소이며, 이것이 바로 옵션 주문이 체결되지 않는 이유 중 큰 비중을 차지합니다.

가격-브로커-시간 방식과 각 모델의 적용처

두 방식 사이에는 제3의 모델이 존재합니다. 보통 패리티라고 불리는 가격-브로커-시간 방식에서는 엔진이 해당 가격대에 참여한 브로커들에게 거래를 먼저 배분한 뒤, 각 브로커 내부 주문들 사이에서 시간 우선순위를 적용합니다. NYSE는 오랫동안 이러한 패리티 모델을 운영해 왔습니다. 해당 가격에 1개의 주문을 가진 브로커가 10개의 주문을 가진 브로커와 동일한 물량을 받을 수 있으므로, 어떤 브로커를 통해 주문을 라우팅하는지가 순수 모델에서는 없는 가치를 창출합니다.

대체로 미국 주식 거래소는 가격-시간 우선순위를 기본으로 하되 표시 우선순위나 일부 패리티를 혼용합니다. 대부분의 미국 옵션 거래소는 고객 우선순위를 최우선으로 하는 가격-시간 우선순위를 사용하며, 그 아래에 비례 배분이나 패리티를 추가합니다. 주가지수 선물은 일반적으로 FIFO를 따르지만, 많은 CME 금리 상품은 비례 배분이나 TOP 배분을 포함한 하이브리드 방식을 사용합니다. 이러한 알고리즘은 상품별로 설정되고 시간이 지나며 수정되므로, 거래하는 계약의 현재 규칙을 확인하는 것이 좋습니다.

숨김 주문과 아이스버그 주문은 표시 우선순위를 잃는다

위의 모든 모델은 표시된 주문 규모를 먼저 배분합니다. 숨김 주문이나 아이스버그 주문의 표시되지 않은 잔량은, 아무리 일찍 도착했더라도 대부분의 거래소에서 동일 가격대의 모든 표시된 주문보다 뒤에 위치합니다. 5,000주 중 100주만 표시하는 아이스버그 주문은 표시된 100주에 대해서만 시간 우선순위를 가지며, 이후 물량이 새로 채워질 때마다 타임스탬프가 갱신되어 대기열 맨 뒤로 밀려납니다. 규모를 표시하는 것은 우선순위를 사는 행위이며, 숨기는 것은 대기열 위치를 포기하는 대가를 치르는 것입니다.

NBBO에서 시장가 주문이 체결되지 않는 이유

NBBO(최우선 매수·매도 호가)는 미국 전체 거래소의 최선 호가를 나타내지만, 주문이 도달할 때쯤이면 이미 낡은 정보가 될 수 있는 스냅샷입니다.

조회AAPL 주식 수별 체결량, 2026년 6월 17일
모든 수치 뒤에 숨겨진 정확한 SQL
SELECT
    multiIf(size <  100,  'under 100 shares',
            size =  100,  'exactly 100 shares',
            size <= 500,  '101 to 500 shares',
            size <= 1000, '501 to 1,000 shares',
                          'over 1,000 shares')        AS size_bucket,
    round(100.0 * count() / sum(count()) OVER (), 1)  AS share_pct
FROM global_markets.stocks_trades
WHERE ticker = 'AAPL'
  AND sip_timestamp >= '2026-06-17 13:30:00'
  AND sip_timestamp <  '2026-06-17 20:00:00'
GROUP BY size_bucket
ORDER BY share_pct DESC
Run this yourself

해당 세션에서 AAPL의 가장 흔한 단일 체결 규모는 under 100 shares이었으며, 이는 5개 규모 구간 전체 체결의 88.9퍼센트를 차지했습니다. 최우선 호가에 표시된 규모는 종종 수백 주에 불과합니다. 표시된 것보다 큰 주문은 해당 물량을 소진한 뒤, 전송한 주문 유형에 따라 다음 가격으로 넘어가거나 대기하게 됩니다. NBBO에 맞춰 지정가 주문을 냈더라도 해당 물량이 이미 소진된 뒤 도착하면 대기열 맨 뒤에 서서 기다려야 합니다.

데이터 참고

상단의 호가창은 가상의 예시입니다. 매수 규모, 100랏 매도, 2랏 최소 단위, 40퍼센트 상단 배분은 배분 차이를 명확히 보여주기 위해 선택된 수치이며 특정 거래소의 매개변수를 의미하지 않습니다. 모든 패널은 고정된 기간을 기준으로 합니다. 평균 체결 규모는 2026년 6월, 나머지 세 항목은 2026년 6월 17일 하루 세션을 기준으로 합니다. 규모는 통합 테이프(consolidated tape)에 보고된 수치입니다.

자주 묻는 질문(FAQ)

가격-시간 우선순위란 무엇인가요?

가격-시간 우선순위는 대기 중인 주문을 가격순으로 먼저 정렬하고, 동일 가격 내에서는 도착 시간순으로 정렬하는 방식입니다. 같은 가격대에서는 가장 먼저 도착한 주문이 완전히 체결된 후에야 다음 주문이 물량을 배분받습니다. 미국 주식 거래소의 기본 규칙입니다.

비례 배분이란 무엇인가요?

비례 배분은 최우선 가격대의 모든 주문에 대해 주문 규모에 비례하여 유입된 거래량을 나누어 주는 방식입니다. 도착 시간은 남은 물량을 처리할 때만 사용됩니다. 대부분의 비례 배분 거래소는 최소 배분 단위를 설정하므로, 배분량이 이에 미치지 못하는 주문은 체결되지 않습니다.

선물 트레이더들은 왜 실제 거래하고 싶은 것보다 더 크게 호가를 내나요?

비례 배분 호가창에서는 표시된 규모에 따라 배분이 이루어지기 때문에, 전체의 일부만 체결될 것을 예상하는 트레이더는 원하는 규모의 배수를 호가합니다. 해당 가격대의 모든 참여자가 똑같이 행동하므로 호가창의 깊이는 실제 수요보다 부풀려지게 됩니다.

주문을 취소하고 다시 제출하면 대기열 순번을 잃나요?

가격-시간 우선순위 거래소에서 주문 가격을 변경하거나 수량을 늘리면 해당 가격대 대기열의 맨 뒤로 밀려나 새로운 타임스탬프를 받게 됩니다. 수량을 줄이는 것은 일반적으로 기존 순번을 유지해 줍니다. 정확한 동작 방식은 거래소별로 다릅니다.


위의 모든 패널에는 해당 데이터를 생성한 SQL이 포함되어 있으므로, 종목이나 기간을 변경하여 다시 실행할 수 있습니다. 동일한 질문을 Strasmore 터미널에서 평이한 영어로 입력하여 확인할 수도 있습니다.

#market structure#order book#matching engine#pro-rata#execution#queue priority