News & Events
시장미시구조론 (Market Microstructure) – (4)
시세 (틱) 데이터
시장 참여자들의 거래 흐름을 분석하여 시장의 특성을 파악하기 위해서는 거래소에서 제공하는 거래내역 데이터를 분석해야 한다. 거래소의 거래내역 데이터는 시세 데이터라고 하기도 하고, 간단히 틱 데이터라고 하기도 한다. 앞으로 몇 편의 포스트를 통해 틱 데이터를 분석하여 시장의 흐름을 파악해 보기로 한다.
최근 수년 동안 시장에서 고빈도매매라 불리는 HFT (High Frequency Trading)에 대한 관심이 많아졌다. 알고리즘을 이용한 HFT 거래자들도 많이 늘어났고, HFT가 아닌 일반 거래자들도 그들이 사용하는 전략에 많은 관심을 기울이고 있다.
HFT 하면 우선, 빠른 속도를 이용하여 하루에 수백 번 (혹은 수천 번)의 거래를 통해 한 거래에 한 틱씩 정도의 수익을 내는 것을 떠올린다. 따라서 빠른 속도만 확보할 수 있다면 쉽게 수익을 낼 수 있다는 생각을 하게 된다. 그러나 이것은 잘못된 생각이다. 과거 ELW 같은 시장에서는 빠른 속도와 간단한 전략 (LP가 적용하는 내재변동성이 시장에 노출되어 시장에 Hole이 발생함) 만으로 일부 수익을 낸 사례도 있긴 하다. 하지만 일반적인 효율적 시장에서는 (선물, 옵션 같은) 참여자들의 무한 경쟁으로 인해 Hole이 존재하기 어렵다. 따라서 빠른 속도만으로 HFT를 연상하는 것은 문제가 있다. HFT의 가장 핵심 요소는 바로 전략이다. 시장의 연속적인 흐름을 통계적으로 파악하고 최적의 가격이나 위치를 선점하는 전략이 더 중요하다. 빠른 속도는 개발된 전략을 안전하게 시장에 전달하기 위한 하나의 도구로 이해하는 것이 맞을 것이다.
HFT 전략을 개발한다는 것은 결코 쉬운 일이 아니다. 시장의 연속적인 흐름을 파악하기도 어렵고 어떤 방식으로 파악해야 하는지 조차도 알기가 어렵다. 틱 데이터나 호가창을 이용하여 잔량의 변화, 주문의 강도, 주가의 변화 등을 경험적으로만 관찰하여 HFT 전략을 수행하는 것에도 한계가 있다. 여기서는 여러 학자들이 시장의 흐름을 파악하기 위해 연구해 놓은 모형들과, 실제 틱 데이터 분석을 통한 실증분석으로 시장을 파악해 보기로 한다. 사실 이러한 과정이 시장미시구조론의 흐름이기도 하다.
본론으로 들어가기 전에 우선, 틱 데이터를 통해 시장의 대강의 모습을 훑어보기로 한다 (이후 몇 편의 포스트를 통해). 거래를 위해서는 실시간으로 틱 데이터를 분석해야 하겠지만, 실증 분석을 위해서는 과거의 틱 데이터를 분석하는 것이 필요하다. 그리고 데이터 분석을 위한 별도의 툴 (Tool)도 만들어야 한다. 아래 동영상은 수집해 놓은 틱 데이터를 읽어서 호가창을 재현하고, 시장에 유입된 주문들을 유형별로 분류하여 집계하는 모습을 보인 것이다.
http://blog.naver.com/chunjein/100182733274
틱 데이터는 크게 호가정보, 체결정보, 체결+호가정보로 구분된다. 호가정보는 각 호가 (Order Book)의 가격, 잔량, 주문 건수 등의 정보를 포함하고 있다. 지정가 주문이 유입되면 해당 호가의 잔량이 증가하고, 취소 주문이나 시장가 주문이 유입되면 해당 호가의 잔량이 감소한다. 각 호가의 잔량의 변화를 관찰하면 지정가 주문과 취소 주문의 흐름을 파악할 수 있다. 체결정보는 시장가 주문의 체결가격과, 체결수량 그리고 누적 체결수량 등의 정보를 포함하고 있다. 체결+호가정보는 체결정보와 호가정보를 모두 포함하고 있다. 시장가 주문 수량이 최우선 호가의 잔량보다 작아, 주문 수량이 모두 동일 가격에 체결되는 경우는 잔량의 변화를 포함한 호가+체결정보가 발생하고, 주문 수량이 최우선 호가의 잔량보다 많아, 주문 수량이 여러 가격에 체결되는 경우는 우선 체결정보가 발생하고, 마지막에 잔량정보가 포함된 체결+호가정보가 발생한다. 아래 그림은 하루 동안 발생한 틱 데이터를 분류해 본 것이다 (09:00:00 ~ 15:00:00).
임의로 2일 간의 틱 데이터를 분류해 보았더니 (코스피 지수 선물), 일일 평균 약 56만 개의 틱 데이터가 발생하였다. 이 중 호가정보가 89.90%를 차지했고, 체결+호가정보가 9.94%를 차지했다. 그리고 체결정보는 0.17%에 불과했다. 체결정보 비중이 작은 것은 한 주문자의 주문이 여러 가격대에 걸쳐 체결되는 경우가 매우 적기 때문이다. 그리고 대부분의 정보가 호가정보로, 거래가 체결되는 정보에 비해 상대적으로 많은 것을 알 수 있다. 이것은 실제 체결되는 주문보다 지정가 주문이 발생한 후 취소 주문으로 체결되지 못하는 것이 더 많기 때문이다.
시간대 별 틱 데이터의 발생 건수를 보면, 장 개장 직후 틱 데이터가 많이 발생하고 있음을 알 수 있다. 이 시간대에 거래 활동성 (Trading activity)이 높고, 주가의 변동성도 크게 된다. 그리고 장 중,후반으로 갈수록 틱 데이터의 발생 건수가 일정하게 유지되는 것을 볼 수 있다 (장 후반에는 약간 증가하는 모습임). 장 중반이라도 시장에 특정 이벤트가 발생하면 틱 데이터의 발생 건수가 높게 나타나기도 한다.
일일 주문을 유형별로 분류해 보면 위의 그림과 같다. Bid, Ask 측의 호가 별로 유입된 주문을 유형별로 분류해 보면 위의 그림과 같이 지수 분포와 유사한 모습이 된다. 시장에 가까운 우선 호가 (1 번 호가)에 지정가 주문이 가장 많이 들어오고, 시장에서 멀어질수록 (5번으로 갈수록) 지정가 주문이 덜 들어온다. 또한, 취소 주문은 지정가 주문이 취소되는 것이므로, 지정가 주문이 높은 곳에서 높게 나타난다. 시장가 주문 발생량은 그림과 같이 매수, 매도가 유사한 비율로 나타난다. 이것은 주가가 마팅게일 (Martingale) 성질이 있으므로 어느 시점에서나 (주가가 많이 오르던지, 떨어지던지 상관없이), 매수자와 매도자의 비율이 유사하게 나타나기 때문이다.
이 날은 지정가 주문이 총 65만개 (Bid + Ask)개 발생했으며, 이 중 약 43만개는 취소되었고, 22만개는 체결되었다. Ask 측의 경우 지정가 주문의 약 35%가 시장가 매수 주문에 의해 체결되었고, 약 65%의 주문은 취소되었다. Bid 측의 경우는 약 32%의 지정가 주문이 시장가 매도 주문에 의해 체결되었고 약 68%의 주문이 취소되었다. 평균적으로 약 66.5%의 주문이 취소된 것이다. 주문 취소율이 꽤 높아 보이지만, 실제로는 이보다 더 높을 것으로 생각된다. 가끔 거래소에서 제공하는 자료를 보면 파생 시장에서의 주문 취소율은 이보다 훨씬 더 높다 (선물보다 옵션의 경우가 더 높다). 실제 시장의 주문 취소율이 위에서 집계된 것 보다 더 높은 이유는 호가 정보가 연속적이지 않기 때문인 것으로 보인다. 거래소의 틱 데이터가 각 호가의 잔량의 변화를 모두 반영하는 연속 데이터가 아니라 스냅샷 형태로 끊어서 제공되는 이산 데이터 이므로, 잔량 변화의 정보가 빠지게 된다. 이전의 호가 정보와 현재의 호가 정보 사이에, 지정가 주문과 취소 주문이 있을 수 있고, 서로 상쇄되어 결과적인 것만 현재의 호가 정보에 반영된다. 따라서 실제 지정가 주문과 취소 주문 수량은 위에 집계된 것 보다 많을 것이다.
이번 시간에는 틱 데이터 발생 상황에 대해서만 간단히 살펴보았다. 다음 시간부터는 틱 데이터를 통해 좀 더 세부적으로 시장의 모습을 들여다보기로 한다.
[출처]4. 시세 (틱) 데이터|작성자아마퀀트