News & Events
알고리즘 트레이딩 (Algorithmic Trading) – 전략 (32)
호가창과 취소 주문
거래소에서 제공하는 시세 데이터나 증권사의 API 틱 데이터를 이용하면 호가창에서 발생하는 지정가 주문이나 체결 주문은 분석이 용이하다. 그러나 취소 주문은 분석하기가 매우 어렵다.
취소 주문은 단순히 참여자들의 거래 의사가 변한 것 이상의 의미를 가진다. 많은 알고리즘들이 취소 주문을 전략적으로 이용하기 때문에, 주문의 흐름을 제대로 이해하기 위해서는 취소 주문을 분석할 필요가 있다. 또한, 지정가 주문을 이용한 전략 중 내 주문이 어디쯤 있는지 추적할 필요가 있는 경우에는 취소 주문 분석이 필수적이다.
거래소에서 제공하는 시세 데이터를 이용하면 어는 호가에서 몇 개의 취소 주문이 발생했는지 알 수 있다. 그러나 해당 호가의 몇 번째 잔량이 취소되었는지는 알 수가 없다. 특정 호가에 지정가 주문을 낸다면 내 주문은 맨 뒤에 접수될 것이다. 그리고 체결 주문이 발생하거나, 내 주문 앞에서 취소 주문이 발생하면 내 주문은 앞으로 이동할 것이다. 그러나 취소 주문이 내 주문 앞에서 발생한 것인지, 내 주문 뒤에서 발생한 것인지는 알 수가 없다. 따라서 내 주문의 위치를 정확히 추적하는 것은 불가하다.
취소 주문을 분석하는 도구로는 HTS의 X-Ray 서비스를 볼 수 있다. X-Ray 는 잔량을 분해해서 취소 주문이 어느 위치에서 발생했는지를 추적한다 (세부 원리는 잘 모르지만 뛰어난 기능인 것 같음). 이 기능을 이용하면 내 주문이 어디쯤 와 있는지 추적이 가능해 보인다. 아래 그림은 동양증권 HTS에 탑재된 X-Ray 서비스 화면이다.
위 화면에는 삼성전자 주식의 호가창에 있는 잔량이 모두 분해되어 있다. 이것은 각 호가에서 발생하는 지정가 주문 수량을 리스트 형태로 관리하기 때문에 가능하다. Bid측 최우선 호가는 1,274,000 이고, 주문 건수는 11 건이다. 그리고 총 잔량은 351 개로 표시되어 있다. 주문 건수 11건은 각각 26, 27,10, 21, 10, 16, 37, 23, 17, 52, 61 개로 구성되어 있다. 만약 이 상태에서 27 개의 취소 주문이 발생했다면 잔량의 2 번째에서 취소되었다고 판단할 수 있다. X-Ray는 이런 원리로 취소 주문을 분석하는 것으로 판단된다 (X-Ray 기능의 세부 사항은 http://www.myxray.co.kr 참조).
주식 (현물)의 경우는 분해된 개별 잔량의 (26, 27 등) 분포가 넓어 위의 논리를 적용해볼 수 있다. 그러나 유동성이 풍부하고 소량의 주문이 많은 선물/옵션의 경우는 위의 논리를 그대로 적용하기 어렵다. 선물/옵션의 경우 지정가 주문 수량의 분포를 조사해 보면 수량이 1 ~ 2 개인 경우가 많다 (약 60% ~ 70% 정도). 예를 들어, 특정 호가의 잔량을 분해해 보면 1, 2, 1, 1, 1, 2, 1, 1, 5 … 과 같이 나타난다. 대부분이 1 이거나 2 이고, 가끔 다른 수량이 등장한다. 이 상태에서 1 개의 취소 주문이 발생했다면 몇 번째 잔량이 취소된 것인지 알 수가 없다.
취소 주문 분석을 위해 (2011) Gao-Feng Gu 등, “The position profiles of order cancellations in an emerging stock market” 을 참조해 보았다. 이 논문의 저자는 (중국 심천) 주식 시장에서 취소 주문의 분포를 아래 그림과 같이 추정하였다. 취소 주문 분포를 추정했다는 것은 사용한 틱 데이터에 취소 주문의 위치 정보가 있었을 것으로 판단된다.
위 논문에서 (A) 동일 호가 내의 취소 주문 분포는 지수분포 형태를 띠는 것으로 분석했고, (B) 호가간 취소 주문 분포는 로그정규분포 형태를 띠는 것으로 분석했다. (A)의 경우는 잔량의 앞부분에서 취소 주문 확률이 낮고, 뒤로 갈수록 확률이 높아지는 것으로 분석했다. 그 이유는 뒤로 갈수록 지정가 주문의 체결 가능성이 낮아지기 때문에 주문 의사를 변경할 가능성이 높은 것으로 설명하고 있다. (B)의 경우는 최우선 호가에 가까울수록 취소 확률이 높고, 최우선 호가에서 멀어질수록 낮은 것으로 분석하고 있다. 이것은 최우선 호가에 가까울수록 지정가 주문 수량이 증가하고, 취소 주문 수량은 지정가 주문 수량에 비례하기 때문에 최우선 호가에 가까울수록 취소 주문 확률이 높아진다고 설명할 수 있다.
우리나라의 시세 데이터로 (B) 분포를 측정하는 것은 가능하나, (A) 분포를 측정하는 것은 매우 어렵다 (코스피 지수선물 시장에서 (B) 분포는 주문의 유형별 분포 편에서 추정해본 바 있음). (A) 분포를 추정하기 위해서는 실제 몇 차례의 거래를 통해 시세 데이터와 체결 통보를 동시에 이용해서 통계적으로 추정할 수밖에 없다.
우리나라 코스피 지수선물/옵션 시장의 취소 주문 분포식이 위 논문처럼 지수분포를 따를지 아니면 전혀 다른 분포를 따를지는 아직 모르지만, 몇 가지 가능한 분포를 가정하고 실제 몇 차례의 실거래를 통해 분석해보면 가능한 분포식을 추정할 수 있다. 아래 그림은 두 가지의 분포식을 가정해본 것이다. 만약 적당한 분포를 찾아내고 분포식에 포함된 파라메터 (α, β)를 추정한다면, 이것도 하나의 Market Factor가 될 것이다. 지수선물 시장이나 옵션 시장의 경우 참가자들의 거래 행위는 어느 정도 일정할 것이기 때문에 추정된 분포식도 어느 정도는 일정할 것으로 예상된다 (시시각각 바뀌는 것이 아님).
그림 (C)에서 취소 주문의 분포식을 2 가지로 가정해 보았다. 분포식 (1)은 시장에서 멀어질수록 취소 확률이 낮아지는 형태이고, 분포식 (2)는 시장에서 멀어질수록 취소 확률이 높아지는 형태이다.
처음에 α, β의 초기값을 적당히 설정하고 실제 몇 번의 지정가 주문 거래를 수행해 본다. 만약 그림 (C)처럼 내 주문이 중간 위치쯤에 있다고 판단하고 있는데 갑자기 체결 통보가 날아온다면 실제 내 위치는 앞부분 (빨간색)에 있었다는 것을 의미하므로 α 와 β를 적당히 수정한다. 실제 이런 추정은 기계학습 (Machine Learning) 과정으로 수행한다. 수치해석을 전공한 지인의 의견으로는 불과 몇 번 정도 수행해 보면 해에 접근할 수 있을 것 같다고 한다. 이런 논리로 내 주문의 위치를 추정하면 그 위치는 확률적 (확률 분포) 위치가 된다.
위의 방법은 실제 비용이 들어간다. 분포식의 파라메터 (α, β)를 얻기 위해서는 시세 데이터만으로는 불가하고 체결 통보를 이용해야 하기 때문이다. 그러나 파라메터 (α, β)를 한 번만 구해놓으면 어느 정도 일정할 것이고, 실제 거래 과정에서 지속적으로 조정할 것이기 때문에 추가적인 비용은 발생하지 않을 것으로 보인다.
상대호가 주문을 이용한 전략은 과거의 시세 데이터를 이용한 Replay 방식으로 테스트해도 큰 문제가 없다 (소량의 주문인 경우, 충격 비용은 무시). 그러나 지정가 주문을 이용한 전략은 취소 주문 분석이 어렵기 때문에 내 주문이 언제 체결되는지 판단할 수 없다. 아마도 증권사의 모의 거래 서비스 (모의 계좌)에서도 발생하는 문제일 것이다.
이번 시간에는 취소 주문 분석에 대해 간단히 알아보았다. 다음 시간에는 Market Simulator를 이용하여 지정가 주문을 이용한 전략 중 가장 대표적인 전략인 마켓메이킹 전략 (Market Making)을 시험해 보기로 한다. Simulator를 이용하면 주문 번호로 취소 주문을 관리하기 때문에 지정가 주문이 언제 체결될지 정확히 알 수 있다.
[출처]32. 호가창과 취소 주문|작성자아마퀀트