
가장 단순한 예약 일정 전략과 함께, 실행 대역(execution band)에서부터 어뷰징 방지 무작위화(anti-gaming randomization)에 이르기까지 이 전략이 야기하는 모든 설계 문제를 다룹니다.
시간가중평균가격(TWAP) 알고리즘은 가장 단순한 일정 기반 전략이자 가장 먼저 배워야 할 가장 좋은 전략입니다. 분할, 수동성, 일정 대역, 안티 게이밍 등 이 알고리즘이 제기하는 모든 설계 문제는 더 정교한 모든 알고리즘에서 다시 나타납니다. 이 알고리즘의 목표는 아주 기본적입니다. 즉, 주문을 시간에 따라 고르게 분산시키는 것입니다. 예를 들어, 4시간짜리 TWAP는 첫 1시간 후에 25%가 완료되어야 하고, 절반 시점에 50%, 목표 시간 종료 시점에 완료되어야 합니다.
나이브 버전이 실패하는 이유
가장 뻔한 구현 방식인 일정 간격으로 미세한 시장가 주문을 실행하는 것은 실제로는 세 가지 이유로 빠르게 무너집니다.
메시지 부하. 30분 동안 180만 단위의 알트코인을 체결해야 한다고 가정해 보겠습니다. 단위 크기로 분할하면 매 밀리초마다 주문이 발생하게 됩니다. 이는 하드웨어에 상당한 부하를 주고 거래소의 요청 제한(rate-limit) 문제를 야기할 것입니다. 분할 크기를 더 크게(예: 수백 단위의 블록) 설정하면 이상적인 일정을 추적하는 정확도가 약간 떨어지는 대신 메시지 수를 합리적인 수준으로 줄일 수 있습니다. TWAP는 경험적 방법(heuristics)에 불과하므로, 약간의 추적 오차는 거의 항상 올바른 절충안이 됩니다.
공격성 비용. 시장가 주문으로만 구축된 TWAP는 모든 개별 분할 주문에 대해 스프레드 비용을 지불해야 하며, 대부분의 거래소에서는 여기에 수취인 수수료(taker fee)까지 추가됩니다(가상자산 수수료 체계는 이 격차를 특히 더 넓게 만듭니다). 잘 구축된 TWAP는 기본적으로 수동적(passive)으로 작동합니다. 스프레드를 취하기 위해 지정가 주문을 대기시키고, 일정이 뒤처졌을 때만 교차 거래(cross)를 수행합니다.
체결 위험. 그러나 완전히 수동적으로만 전환하면 반대의 실패를 겪게 됩니다. 지정가 주문은 체결을 보장하지 않으므로 수동 전용 TWAP는 종료 시점에 체결되지 않은 대량의 잔여 주문(최악의 경우 주문 전체)을 남겨둘 수 있습니다. 명령은 목표 시간까지 완료하는 것이므로 완전한 수동성 역시 허용되지 않습니다.
체결 대역(Execution Bands): 표준 솔루션
기관용 TWAP는 시간 기반 목표 주위에 한 쌍의 경계선, 즉 상한 대역(주문이 일정보다 얼마나 앞서갈 수 있는지)과 하한 대역(얼마나 뒤처질 수 있는지)을 두어 이러한 긴장 관계를 해결합니다. 대역은 시간의 분할(일정의 ±2분) 또는 수량의 분할(상위 주문의 ±2%)로 표현됩니다.
TWAP 일정 밴드
200,000개 생산을 위한 100분 일정
상한선
작업 수량
하단 밴드
수량
시작 시간 이후 경과 시간(분)
20만
150K
100K
50K
0
25
50
100
상한 대역
상한 대역은 알고리즘의 작동 허용 범위입니다. 100분 동안 200,000 단위를 체결하며 2%(4,000 단위)의 선행 허용 한도를 둔 경우를 생각해 보겠습니다. 시작 시점에 최대 4,000 단위까지 수동적으로 게시될 수 있습니다. 목표선이 상승함에 따라(분당 2,000 단위), 상한선도 함께 상승하므로 알고리즘은 계획보다 너무 앞서가지 않으면서도 안정적인 수동적 참여를 유지할 수 있습니다.
하한 대역
하한 대역은 강제 집행 메커니즘입니다. 초기에는 0에서 제한됩니다(목표가 없을 때는 뒤처질 수 없기 때문입니다). 목표가 버퍼를 초과하게 되어 대역 아래로 떨어지면 주문을 다시 일정대로 되돌리기 위한 시장가 주문이 트리거됩니다. 이 순간이 바로 알고리즘이 일정을 준수하기 위해 의도적으로 스프레드 비용을 지불하는 순간입니다.
작동 수량 규모 설정
거래량이 적은 시장에서는 한 가지 미묘한 차이가 매우 중요합니다. 허용된 총 작동 수량을 그대로 노출해서는 안 된다는 점입니다. 호가창에 일반적으로 작은 수량만 나타나는 자산(롱테일 가상자산 페어에서는 흔한 일)의 경우, 대규모 가시적 주문을 게시하면 거래가 전혀 체결되지 않더라도 시장을 왜곡하게 됩니다. 설계자들은 자산의 유동성(심지어 시간대별 유동성)에 따라 대역의 크기를 조절하거나, 명확한 최대 노출 수량을 추가하거나, 작동 수량을 실시간 조건에 따라 분할하여 내보내는 별도의 수동 배치 엔진에 전달하는 방식으로 이 문제를 해결합니다. 하위 주문에 대한 자세한 내용은 파트 11에서 다룹니다.
탐지로부터 TWAP 방어하기
교과서적인 TWAP는 예측하기가 매우 쉽습니다. 정기적인 간격으로 규칙적인 크기의 주문이 발생하는 패턴은 감시 알고리즘이 정확히 사냥하려는 표적입니다. OrderX의 구현을 포함한 프로덕션용 구현은 다음과 같은 여러 방어 레이어를 적용합니다.
크기 무작위화: 대역 내에서 게시 및 시장가 주문 크기를 다양하게 변화시켜 거래 기록(tape)에 반복적인 지문이 나타나지 않도록 합니다.
대역 무작위화: 각 간격마다 경계선이 진행되는 방식을 변경하여 활동이 눈에 띄게 선형적으로 증가하는 것을 방지합니다.
시간 지터(Jitter): 정각에 행동하지 않고, 실행 시간을 무작위로 미세하게 분산시킵니다.
기회주의적 급증(Burst): 유리한 가격 임계값(예: 매수의 경우 최근 거래 범위보다 2표준편차 낮은 가격)을 정의하고, 시장이 왜곡된 기회를 제공할 때 일시적으로 일정을 이탈하여 유동성을 취합니다.
하드 제한 가격: 설정된 가격을 벗어나면 작동을 완전히 일시 중지하고 시장이 복귀할 때만 재개합니다. 이는 급격한 움직임을 추격하지 않도록 하는 서킷 브레이커 역할을 합니다.
TWAP가 빛나는 곳과 그렇지 않은 곳
강점. TWAP는 대규모 주문을 소화 가능한 조각으로 분할하므로 한 번에 블록을 덤핑할 때 발생하는 충격을 방지합니다. 거래량 데이터가 필요하지 않기 때문에, 신뢰할 수 있는 거래량 이력이 없는 신규 상장 자산이나 거래량이 적은 자산에 대한 기본 전략이 됩니다. 수량, 시작 시간, 종료 시간이 투명하여 감사하기 쉽습니다. 또한 시간 평균화를 통해 단기적인 가격 변동 속에서 진입 가격을 평탄하게 만듭니다.
약점. 무작위화하지 않으면 그 규칙성 때문에 악용될 수 있습니다. 유동성을 감지하지 못하므로 거래량이 없는 시장에 수량을 밀어 넣거나 깊이(depth)의 급증을 활용하지 못합니다. 방향성에 대한 관점이 없기 때문에 추세 시장에서는 계속해서 더 나쁜 가격으로 평균 단가를 형성하게 됩니다. 그리고 일중 거래량 패턴이 안정적인 유동성 자산에서는 일반적으로 유동성이 실제로 존재하는 곳에 거래를 집중시키는 VWAP에 뒤처집니다.
이 거래량 인지형 업그레이드가 바로 다음 장인 파트 5: VWAP에서 다룰 내용입니다.



