
기회주의적 실행: 보이지 않게 유지하며 유동성이 나타날 때 타격하고, 전체 머신을 조율하는 긴급도 다이얼.
파트 4–6의 스케줄링 및 참여 알고리즘은 한 가지 특징을 공유합니다. 바로 항상 무언가를 하고 있다는 점입니다. 기회주의형(opportunistic) 계열은 이와 정반대의 원리로 작동합니다. 업계에서 '게릴라(Guerrilla)' 또는 '스나이퍼(Sniper)'와 같은 공격적인 브랜드명으로 판매되는 숨기 및 취하기(Hide and Take) 알고리즘은 수명 주기의 대부분을 보이지 않는 상태로 보내며, 다크 풀(dark venue)에서 대기하거나 물량을 예비로 보유합니다. 그리고 시장성 주문(marketable orders)의 급증과 같이 행동할 가치가 있는 순간에만 수면 위로 나타났다가 다시 즉시 숨어버립니다.
이러한 스타일이 존재하는 이유
이 방식은 표준적인 도구들이 구조적으로 실패하는 소형주 주식에서 탄생했습니다.
스케줄은 잘못된 거래를 강제합니다: TWAP 또는 VWAP은 스프레드가 벌어지고 호가창이 텅 비어 있을 때조차도 예정된 시간표를 따릅니다. 이는 강제 거래의 비용이 가장 많이 드는 바로 그 조건입니다.
참여는 항상 늦습니다: POV 알고리즘은 거래량이 체결된 후에 반응합니다. 유동성이 드물고 짧은 순간에만 유입되는 종목의 경우, 늦게 반응한다는 것은 그 기회를 놓친다는 것을 의미합니다.
네 가지 트리거 유형
구현 방식은 다르지만, 트리거 조건은 다음 네 가지 범주로 나뉩니다.
가격 트리거(Price triggers). 시장이 기준 수준보다 유리하게 움직일 때(예: 유입 가격 또는 단기 밴드 아래로 하락) 알고리즘은 할인 혜택이 유지되는 동안 유동성을 취합니다.
유동성 트리거(Liquidity triggers). 호가창이 갑자기 개선되는 경우입니다. 예를 들어 스프레드가 비정상적으로 좁혀지거나, 최우선 호가에 이례적인 잔량이 쌓이거나, 반대편에 대규모 대기 주문이 나타나는 경우입니다.
인위적 기회 창출(Manufactured opportunities). 호가가 매우 얇은 종목의 경우, 알고리즘이 직접 시장을 자극할 수 있습니다. 몇 개의 작은 시장성 주문으로 가격을 약간 변동시켜 거래 상대방의 참여를 유도한 후, 유도된 흐름에 대항해 거래하고 시장이 안정을 찾는 동안 철수합니다.
다크 블록 탐색(Dark block discovery). 알고리즘은 사전 거래 흔적 없이 중간값(midpoint)에서 대규모 매칭이 체결되는 다크 풀에서 대형 물량을 사냥합니다 (상세 메커니즘은 파트 9 참조).
폴백 플로어 (최소 보장선)
순수 기회주의 방식에는 명백한 단점이 있습니다. 기회가 없으면 체결도 없다는 것입니다. 따라서 대부분의 구현 방식에는 안전장치인 최소 참여율(fallback floor)이 포함되어 있습니다. 유리한 순간이 전혀 나타나지 않으면, 알고리즘은 조용히 해당 기본 속도로 집행되어 느린 POV처럼 작동하므로 주문은 여전히 예정된 시간 범위 내에서 진행됩니다. 그 결과, 시장이 협조적일 때는 기회주의적으로, 그렇지 않을 때는 체계적으로 작동하는 하이브리드 형태가 됩니다.
시급성 (Urgency)
실제 거래 시 트레이더는 전체 알고리즘의 성향을 조절하는 단일 시급성(urgency) 매개변수를 설정합니다.
높은 시급성은 체결 임계값을 낮추고 폴백 플로어를 높입니다. 즉, 알고리즘은 기회를 기다리기보다 인위적으로 기회를 창출하며, 빠른 완료를 위해 더 큰 시장 충격을 감수합니다.
낮은 시급성은 임계값을 높이고 폴백 플로어를 제로(0)에 가깝게 낮춥니다. 알고리즘은 시장성 주문을 거의 완전히 피하고, 중간값 또는 그보다 유리한 가격에 숨어서 대기하며 유입되는 흐름이 스프레드를 건너와 자신에게 체결되도록 유도합니다.

진행 과정 설명
위 그림은 일반적인 순서에 따른 매수 주문의 흐름을 보여줍니다.
정적 단계(Quiet phase). 스프레드가 넓고 호가 잔량이 적습니다. 알고리즘은 시각적으로 아무것도 노출하지 않으며, 숨겨진 주문들은 매수 호가와 중간값에 대기합니다. 공격적인 매도자가 나타나지 않으면 시장은 해당 주문이 존재했다는 사실조차 알지 못합니다.
타격(Strike). 매도자가 매력적인 가격에 의미 있는 규모의 물량을 제시하여 스프레드를 좁힙니다. 알고리즘은 수면 위로 나타나 새로운 유동성의 대부분(전부는 아님)을 소비한 후 다시 숨어버립니다.
재충전(Reload). 매도자가 물량을 다시 채우면 알고리즘은 다시 타격을 가합니다. 각 왕복 과정은 정보를 가능한 한 적게 노출하면서 유동성을 확보합니다. 재충전되는 물량이 없으면 다시 대기 상태로 돌아갑니다.
리스크 및 에티켓
기회주의적 집행은 자체적인 정보 노출 면을 가지고 있습니다. 모든 유동성 이벤트에 대해 유사한 규모로 반복적인 타격을 가하면 식별 가능한 패턴이 생성되므로, 무작위 타격 비율과 냉각기(cool-down)를 설정하는 것이 도움이 됩니다. 인위적으로 창출된 기회는 이러한 자극 패턴을 감지하고 더 나빠진 가격으로 유동성을 재충전하는 포식자들의 미끼가 될 수 있습니다. 또한 다크 풀에서는 대기 물량이 핑 테스트(pinging)에 노출되지 않도록 최소 체결 수량 제한으로 보호해야 하며, 이 방어법은 파트 9에서 자세히 다룹니다. 각 타격을 조용하게 만드는 자식 주문(child-order) 전술(수량 조절, 가격 책정, 노출 방식 등)은 파트 11의 주제입니다.
지금까지의 모든 알고리즘은 단일 주문을 관리했습니다. 파트 8에서는 둘 이상의 주문이 하나의 전략으로 거래되어야 할 때 발생하는 조율 문제에 대해 소개합니다.



