알고리즘 실행 입문 - 제6부: 거래량 비율 (POV)

게시자: 오더X

uc2e4ud604ub41c uac70ub798ub7c9uc758 uace0uc815ub41c ube44uc728ub85c ucc38uc5ecud558uae30 - uba54uce90ub2c9uc2a4, uadf8ub85cuc2a4uc5c5 uc0b0uc220, uadf8ub9acuace0 uc790uac00 ucd94uc11d(self-chasing) ud2b8ub7a9.

거래량 대비 비율(POV, Percent of Volume) 알고리즘(거래량 참여 알고리즘이라고도 함)은 고정 스케줄을 완전히 배제합니다. "오후 4시까지 완료" 대신 "수행 완료 시까지 시장의 X%를 차지할 것"이라는 지침이 적용됩니다. TWAP이 시간을 따르고 VWAP이 거래량 이력을 따르는 반면, POV는 시세 테이프를 따릅니다. 즉, 실제로 체결되는 거래량에 의해 일정이 실시간으로 그려집니다.

작동 방식

트레이더가 목표 참여율(예: 12%)을 지정하면, 알고리즘은 총 시장 거래량 대비 자신의 체결 수량이 해당 비율을 유지하도록 지속적으로 주문을 제출합니다.

  • 직관적인 공격성 제어. 이 비율은 알고리즘의 공격성을 나타냅니다. 거래량 대비 비율을 높게 설정할수록 더 공격적입니다. 5%는 은밀하게 진행되며, 30%는 눈에 띄게 진행됩니다. 다른 어떤 주요 알고리즘도 트레이더에게 이처럼 해석하기 쉬운 제어 노브를 제공하지 않습니다.

  • 스스로 그려지는 스케줄. 사전에 계산된 곡선은 존재하지 않습니다. 한산한 거래 시간대에는 목표 스케줄에 거의 더해지지 않으며, 거래량이 폭발할 때 목표치도 급격히 올라갑니다. 서로 다른 이틀 동안 실행되는 두 개의 동일한 주문은 완전히 다른 체결 경로를 그리게 됩니다.

  • 추적 밴드(Tracking bands). 스케줄 기반 알고리즘과 마찬가지로, 실제 구현에서는 목표 비율을 중심으로 허용 오차 범위 내의 편차를 허용합니다. 즉, 밴드 내부에서는 수동적(Passive) 주문을 사용하고 밴드 경계선에서는 시장성(Marketable) 주문을 사용합니다.

  • 보장된 종료 시간 없음. 완료 시간은 입력값(Input)이 아니라 출력값(Output)입니다. 시장 거래가 완전히 끊기면 주문도 중단됩니다. 이는 시장 충격을 억제하는 것이 핵심일 때는 장점이지만, 데드라인이 존재하는 경우에는 단점이 됩니다.

  • 시작 작용은 설정에 따라 다릅니다. 목표보다 앞서 나갈 수 있도록 허용된 알고리즘은 즉시 미체결 수량(Working quantity)을 게시할 수 있는 반면, 목표치로 유지가 전제된 알고리즘은 첫 주문을 내기 전에 시장 거래량이 나타날 때까지 기다려야 합니다.

실제 예시

15%의 참여 목표를 가정해 보겠습니다. 이 알고리즘이 거래 후 전체 거래량의 15%를 차지하려면, 외부 거래량 1,000단위당 약 176단위를 체결시켜야 합니다. 자신의 체결 수량이 더해져 총합이 1,176이 되고, 이 중 176은 거의 정확히 15%가 되기 때문입니다. 이러한 "그로스업(gross-up)" 연산은 대표적인 구현 디테일입니다. 1,000당 150을 제출하는 단순한 방식은 자신의 체결 자체가 분모를 키우기 때문에 체계적으로 목표치를 하회하게 됩니다.

규모를 키워보겠습니다. 15% 비율의 40,000단위 주문에서 외부 거래량이 120,000단위인 세션은 주문을 약 21,200단위만큼 소화시키는 반면, 거래가 거의 없는 세션은 주문을 거의 진행시키지 못합니다. 20,000단위의 단일 블록이 시장에 노출되는 즉시 목표치는 대략 3,500단위만큼 점프하게 되며, 알고리즘은 유동성이 나타나는 바로 그 순간에 실행 속도를 올립니다.

트레이더들이 POV를 선택하는 이유

POV는 VWAP의 논리를 실시간으로 적용한 것입니다. VWAP은 거래량이 대체로 존재해 온 곳에서 거래하지만, POV는 거래량이 지금 현재 실제로 존재하는 곳에서 거래합니다. 이러한 차이는 미묘한 리스크 예방 효과를 가져옵니다. 시장 거래량과 시장 리스크는 양의 상관관계를 가집니다(즉 변동성이 큰 시기가 거래량이 많은 시기입니다). 따라서 POV 주문은 노출 상태를 유지하는 것이 가장 위험한 변동성 시기에 정확히 자동으로 거래 속도를 높입니다. 알고리즘은 별도의 명령 없이도 폭풍 속에서 스스로 리스크를 축소합니다.

설계 시의 함정

모든 POV 구현 시 반드시 처리해야 할 세 가지 함정은 다음과 같습니다.

  • 스스로를 쫓는 무한 루프(Self-chasing loop). 알고리즘이 자신의 체결 수량을 포함한 전체 거래량을 기준으로 무조건 참여율을 측정하면, 자신의 거래가 거래량을 늘리고, 이것이 목표치를 높이고, 다시 더 많은 거래를 촉발하게 됩니다. 올바르게 구현된 경우에는 외부 거래량만을 기준으로 측정하거나, 위에서 설명한 그로스업 연산을 의도적으로 적용합니다.

  • 거래 필터링(Print filtering). 보고된 모든 거래량이 접근 가능한 유동성인 것은 아닙니다. 장외에서 협상된 블록딜, 종가/시가 매칭 거래, 그리고 (가상자산의 경우) 감시가 소홀한 거래소의 부풀려지거나 가장매매된 거래량 등은 실제 유동성이 없음에도 목표치를 급등시킬 수 있습니다. 실거래 시스템용 알고리즘은 분모에 반영할 실제 체결 건들을 필터링합니다.

  • 클립 규율(Clip discipline). 체결이 일어날 때마다 수많은 소액 주문들로 목표치를 쫓아가는 방식은 정보 유출(Information leakage)을 야기합니다. 보다 우수한 구현체는 체결 편차를 누적시켰다가 불규칙하게 무작위 클립으로 분할해 시장에 방출하며, 파트 4에서 설명한 역이용 방지 도구 모음을 적용합니다.

POV가 적합한 영역

POV는 체결의 확실성보다 시장 충격 제어가 더 중요한 상황에서 가장 잘 작동합니다. 시장 영향에 민감한 종목, 호가 스프레드가 넓은 자산, 유동성이 유기적으로 일시 공급되는 자산, 그리고 "호가의 X%를 넘지 말 것" 자체가 규정 요건인 모든 상황(일반적인 컴플라이언스 제약 조건)이 이에 해당합니다. 약점은 데드라인 문제와 완전한 사후 반응적(Reactive) 성격에 있습니다. 조치를 취하기 전에 거래량이 먼저 터져야 하므로, 유동성 이벤트에는 항상 한발 늦게 대처하게 됩니다.

자연스러운 다음 단계는 이러한 반응성을 보완하는 것입니다. 즉, 숨어서 기회를 엿보다가 유동성이 나타나는 순간 낚아채는 알고리즘입니다. 이것이 바로 기회주의적 알고리즘 계열인 파트 7: 숨기와 가져가기입니다.

새로운 거래 방식이
여기에 있습니다.

OrderX는 세련된 트레이더들이 그동안 기다려온 도구인 구조화된 실행, 통합 시스템 및 내장된 인텔리전스를 제공합니다.