
가장 단순한 예약 일정 전략과 연장선상에서의 실행 밴드부터 어뷰징 방지 무작위화에 이르기까지 이 전략이 야기하는 모든 설계 문제입니다.
시간가중평균가격(TWAP) 알고리즘은 가장 단순한 일정 기반 전략이자 가장 먼저 배워야 할 최고의 전략입니다. 분할, 수동성, 일정 대역, 차단 방지(anti-gaming) 등 이 알고리즘이 제기하는 모든 설계 문제는 더 정교한 모든 알고리즘에서 다시 나타납니다. 그 목표는 아주 단순합니다. 주문을 시간에 따라 고르게 분산시키는 것입니다. 예를 들어, 4시간 짜리 TWAP는 첫 1시간 후에 25%가 완료되고, 절반 지점에서 50%가 완료되며, 마감 시간에 완료되어야 합니다.
단순한 버전이 실패하는 이유
가장 뻔한 구현 방법인 '일정한 간격으로 아주 작은 시장가 주문을 실행하는 것'은 실제 상황에서 세 가지 이유 때문에 빠르게 무너집니다.
메시지 부하. 30분 동안 180만 단위의 알트코인을 체결해야 한다고 가정해 보겠습니다. 1단위 크기로 분할하면 매 밀리초(ms)마다 주문을 넣어야 합니다. 이는 하드웨어에 상당한 부하를 주고 거래소의 API 요청 제한(rate limit) 문제에 직면하게 만듭니다. 더 큰 단위(예: 수백 단위의 블록)로 분할하면 이상적인 일정의 추적 정확도를 약간 희생하는 대신 메시지 수를 합리적인 수준으로 줄일 수 있습니다. TWAP는 하나의 휴리스틱(heuristic)일 뿐이므로, 적당한 수준의 추적 오차는 거의 항상 올바른 절충안이 됩니다.
공격적 주문비용. 순수하게 시장가 주문(marketable orders)으로만 구성된 TWAP는 모든 개별 분할 주문마다 스프레드 비용을 지불해야 하며, 대부분의 거래소에서는 여기에 수수료(수취인 수수료)까지 추가됩니다(가상자산 수수료 체계는 이 격차를 특히 크게 만듭니다). 잘 설계된 TWAP는 기본적으로 수동적(passive)으로 작동합니다. 즉, 스프레드를 취하기 위해 지정가 주문(limit orders)을 대기시키고, 일정이 뒤처졌을 때만 시장가로 체결(cross)시킵니다.
완료 리스크. 그러나 완전히 수동적인 방식으로만 전환하면 반대의 실패를 겪게 됩니다. 지정가 주문은 체결 보장이 없기 때문에 수동 전용 TWAP는 마감 시간에 도달했을 때 미체결 잔량이 많이 남을 수 있으며, 최악의 경우 주문 전체가 미체결 상태로 남을 수 있습니다. 알고리즘의 운영 원칙은 지정된 시간까지 완료하는 것이므로 완전히 수동적인 방식 또한 수용할 수 없습니다.
집행 대역(Execution Bands): 표준 해결책
기관용 TWAP는 시간 기준 목표 주변에 한 쌍의 경계를 설정하여 이 긴장 관계를 해결합니다. 바로 상한 대역(주문이 일정보다 얼마나 앞서 나갈 수 있는지)과 하한 대역(일정보다 얼마나 뒤처질 수 있는지)입니다. 대역은 시간 단위(일정의 ±2분) 또는 수량 단위(모주문의 ±2%)로 표시됩니다.
TWAP 일정 밴드
200,000개 생산을 위한 100분 일정
상단 밴드
작업 수량
하단 밴드
수량
시작 시간 이후 경과 시간(분)
20만
15만
10만
50K
0
25
50
100
상한 대역(Upper Band)
상한 대역은 알고리즘의 작동 여유치입니다. 100분 동안 200,000 단위를 주문하되 2%(4,000 단위)의 선행 허용치를 둔 경우를 생각해 봅시다. 시작 시점에 최대 4,000 단위까지 수동적으로 호가를 제출할 수 있습니다. 목표선이 올라감에 따라(분당 2,000 단위) 상한선도 함께 올라가므로, 알고리즘은 계획보다 너무 앞서가지 않으면서도 안정적인 수준의 수동적 노출을 유지할 수 있습니다.
하한 대역(Lower Band)
하한 대역은 강제 집행 메커니즘입니다. 초기에는 0에서 고정되지만(목표가 없을 때는 뒤처질 수도 없기 때문입니다), 목표가 버퍼를 초과하게 되어 주문이 하한 대역 아래로 떨어지면 시장가 주문을 발동하여 강제로 일정을 맞추게 합니다. 이 순간이 바로 알고리즘이 일정을 준수하기 위해 의도적으로 스프레드 비용을 감수하는 때입니다.
작동 수량 규모 관리
거래량이 적은 시장(thin markets)에서 매우 중요한 미묘한 차이가 있습니다. 허용된 최대 작동 수량을 그대로 다 보여주어서는 안 된다는 점입니다. 호가창에 평소 아주 적은 물량만 노출되는 자산(롱테일 가상자산 페어에서는 흔한 일)의 경우, 실제로 거래되지 않더라도 거대한 주문을 노출하는 것 자체가 시장을 왜곡합니다. 설계자들은 자산의 유동성(심지어 시간대별 유동성)에 맞추어 대역을 조정하거나, 명시적인 최대 노출 수량을 추가하거나, 작동 수량을 실시간 시장 상황에 맞춰 조금씩 내보내는 별도의 수동 배치 엔진에 맡기는 방식을 통해 이 문제를 해결합니다. 자식 주문(child orders)에 대한 자세한 내용은 파트 11에서 다룹니다.
감지되지 않도록 TWAP 보안 강화하기
교과서적인 TWAP는 예측하기가 매우 쉽습니다. 일정한 간격으로 규칙적인 크기의 주문을 넣는 것은 시장 감시 알고리즘이 추적하는 전형적인 패턴입니다. OrderX의 솔루션을 포함하여 실제 시장에서 사용되는 구현 방식은 여러 방어 조치를 적용합니다.
수량 무작위화: 대역 내에서 제안 및 시장가 주문 크기를 다양화하여 거래 기록(tape)에 반복적인 패턴이 나타나지 않도록 합니다.
대역 무작위화: 각 간격마다 경계가 전진하는 방식을 변경하여 활동이 눈에 띄게 선형적으로 증가하는 것을 방지합니다.
시간 미세 조정(Jitter): 정각이나 정해진 분 단위 시간에 절대 실행하지 않고, 실행 시간을 무작위로 분산시킵니다.
기회주의적 급증(Opportunistic bursts): 유리한 가격 임계값(예: 매수의 경우 최근 거래 범위보다 2표준편차 아래)을 정의하고, 시장이 일시적인 괴리를 보일 때 일정을 일시 정지하고 유동성을 흡수합니다.
엄격한 한계 가격(Hard limit price): 설정된 가격을 벗어나면 작동을 완전히 멈추고 시장이 다시 돌아올 때만 재개합니다. 이는 시장이 급변할 때 추격 매수/매도를 방지하는 서킷 브레이커 역할을 합니다.
TWAP가 탁월한 효과를 발휘하는 곳 — 그리고 그렇지 않은 곳
장점. TWAP는 큰 주문을 소화하기 쉬운 작은 조각으로 나누어 주므로 한 번에 대량의 물량을 쏟아낼 때 발생하는 가격 충격을 피할 수 있습니다. 거래량 데이터가 필요 없기 때문에, 신규 상장되었거나 거래량이 적어 신뢰할 수 있는 거래량 이력이 없는 자산에 기본값으로 사용하기 좋습니다. 주문 크기, 시작 시간, 종료 시간이 투명하여 감사하기 편리합니다. 또한 시간 평균화를 통해 단기적인 가격 변동 속에서도 매입 단가를 고르게 평탄화해 줍니다.
단점. 무작위화되지 않은 단순한 TWAP는 규칙성 때문에 역이용당하기 쉽습니다. 유동성을 감지하지 못하므로, 거래가 완전히 끊긴 시장에 대량의 주문을 밀어 넣거나 깊은 호가창의 급증 기회를 활용하지 못할 수 있습니다. 시장 방향성에 대한 판단이 없기 때문에, 추세 시장 속에서는 계속해서 더 불리한 가격으로 평균 단가를 형성하게 됩니다. 그리고 일중 거래량 패턴이 안정적인 유동성 자산에서는 일반적으로 실제 유동성이 집중되는 곳에서 거래를 집중시키는 VWAP에 비해 효율성이 떨어집니다.
이러한 거래량 인식형 업그레이드가 바로 다음 장의 주제입니다: 파트 5: VWAP.


새로운 거래 방식이
여기에 있습니다.
OrderX는 세련된 트레이더들이 그동안 기다려온 도구인 구조화된 실행, 통합 시스템 및 내장된 인텔리전스를 제공합니다.


