HFT Speed Issue

속도의 문제는 근본적으로 현재 호가에 대한 체결(혹은 정정/취소) 문제입니다.

따라서 HFT에서 속도 문제를 따질 때 우선 다음 사항을 고려해 보시면 좋을 것 같습니다.

  1. 현재 호가가 과연 진정으로 현재 시점의 호가인가?
  2. 가장 빠르면 100% 체결 가능한가?
  3. 체결이 수익과 연결되는가?

가정

특정 시점에 내 시스템 상에 어떤 Quote Revision Event가 발생하였다고 가정합니다. 예를 들어 t = t3 이란 시점에 내 컴퓨터에서 최우선 매도호가가 100.00 x 50 이 되었다고 하겠습니다. (가격 100.00에 물량 50개)

현재 호가가 과연 진정으로 현재 시점의 호가인가?

우선 Quote Revision Event 가 내 시스템에 도달하기까지의 시간을 고려해야 합니다.
실제로 거래소에서 이 이벤트가 발생한 시점이 t0 (t0 < t3) 이고 가장 빨리 이 정보를 받은 트레이더의 시스템에 도착한 시간이 t2 (t0 < t2 < t3) 라면 내 시스템의 반응속도가 아무리 빠르더라도 이미 출발부터 늦은거겠죠. 따라서 증권사 FEP 근처에 시스템을 집어넣는 Broker Collocation 이나 외국의 경우와 같은 거래소 Collocation 이 필요합니다.

가장 빠르면 100% 체결 가능한가?

Quote Revision Event 가 누구의 시스템에도 도달하기 이전에, t1 ( t1 < t0 혹은 t0 < t1 < t2) 시점에 이 이벤트 정보와 전혀 상관없는 이유로 100.00 에 누군가가 50개 이상의 매수 주문을 내는 경우도 있을 수 있습니다. 다만 이 주문은 거래소 Matching System 의 Input Queue 에서 대기하고 있거나 아직 처리 중입니다. 이 경우에는 내가 가장 빠르게 이벤트를 받고 (t2 시점) 가장 빠르게 주문을 냈다고 하더라도 체결이 불가능합니다.

매매 시스템은 거래소의 체결 시스템과 내 매매 시스템이 상호 연결되는 Feedback Loop 시스템입니다. 시스템이나 제어공학을 전공하신 분이라면 아시겠지만 결국 제어 성능은 루프 안의 가장 phase가 느린 시스템에 좌우됩니다. 현재 거래소의 체결 속도가 (거래소에 의하면) 10 - 20 msec 이라고 합니다. 즉 내 매매 시스템이 이 보다 빨라도 제 성능을 제대로 발휘할 가능성이 적어진다는 이야기 입니다. 일본 TSE에서 ArrowHead 를 개장한 후 알고 매매가 늘어난 것도 이러한 이유입니다.

체결이 수익과 연결되는가?

개인적으로 이 부분이 가장 중요하다고 생각합니다. 빠르게 주문을 내면 수익이 증가하는가?

제가 100.00 이란 가격에 20개 물량을 반드시 사야 하는 경우라면 속도가 유일한 문제입니다. Institutional Brokerage Algo 에서는 이런 경우가 많습니다. 외국인 한도가 차 있는 종목인 경우 한도가 빌때마다 호가가 발생하고 그 이전에는 주문을 무시한다고 합니다. 일단 외국 클라이언트에게서 매수 주문을 받아논 경우, 호가 발생 이벤트가 발생하자마자 빨리 주문을 낼 수록 이 50개 물량 중 20개를 따낼 수 있을 것입니다.

그러나 일반적인 speculation 매매인 경우, 이는 전략에 따라 달라지므로 체결이 수익과 직결되는지는 전략을 짠 본인이 가장 잘 알거라고 생각합니다.
일반적으로는 가격을 정확하게 예측할수록 속도와 수익은 상관성이 높아집니다. 그러나 가격 예측의 성공 확률 자체가 낮다면 속도와 수익의 상관성은 떨어집니다.

또한 시그널이 나오면 무조건 어떤가격에라도 사겠다는 전략(시장가 주문 전략)을 사용하는 경우 속도는 슬리피지와 직결될 가능성이 높습니다. 이 경우에는 전략의 return variance 와 슬리피지 값, 그리고 시스템 구축 비용을 비교해서 결정하여야 합니다.