News & Events
[알고리즘 트레이딩/전략편] 26. 시장 재현 시뮬레이터 (Market Simulator) – 서버 기능
- 2019년 1월 9일
- Posted by: 인사이트캠퍼스
- Category: 금융/AI/IT 기사
알고리즘 트레이딩 (Algorithmic Trading) – 전략 (26)
시장 재현 시뮬레이터 (Market Simulator) – 서버 기능
이번 시간에는 지난 시간에 설계한 시장 시뮬레이터 (Market Simulator or Order Matching Engine Simulator : OMES)의 서버 기능에 대해 알아보기로 한다. 서버의 주요 기능은 매매 체결 시스템 (Order matching engine), 가상 트레이더, 그리고 클라이언트의 주문 처리 기능이다. 실제 시장을 재현하기 위해서는 가상 트레이더들의 행위가 가장 중요하며, 실제 시장으로부터 추출한 Market factor 들을 어떻게 가상 시장에 적용하는 가가 서버의 핵심 기능이다. 아래 그림은 가상 트레이더들이 매매 체결 시스템을 통해 경쟁적으로 매매하고 있는 모습이다.
주요 기능 설명
(1) 매매 체결 시스템의 호가창 (Limit Order Book) : 가상 트레이더들과 클라이언트의 주문을 실제로 처리하는 부분이다. 화면에는 호가와 호가별 잔량, 그리고 주문 건수가 표시되어 있고, 거래가 체결될 때마다 실시간으로 업데이트된다. 또한 매 거래마다 시세데이터 (호가 정보, 체결 정보)를 생성한다.
(2) 가상 트레이더 : 매매 체결 시스템으로 실제로 주문을 내는 가상 거래자들이다. 가상 거래자용으로 총 27개의 쓰레드가 돌고 있으며, 각 쓰레드는 Market factor 들을 참조하여 자신들의 전략을 수행한다. Market factor들의 한 예로는, 주문 유형별 분포 (7)를 들 수 있다. 주문의 유형은 Power law 분포를 하는 것으로 알려져 있으므로, Power law의 파라메터를 참조하여 지정가 주문, 취소 주문, 상대호가 주문 (시장가 주문)이 발생한다.
(3) 매매 체결 시스템을 통해 체결된 체결 틱이다. 체결 데이터는 상대호가 주문 (시장가 주문)에 의해 즉시 체결된 데이터이며 매수, 매도 주문의 연속성이 존재한다. 실제 시장에서 체결 주문의 연속성은 약 70%로 관측되고 있으므로, 시뮬레이션도 70%의 연속성을 갖도록 하였다.
(4) 매매 체결 시스템을 통해 형성된 현재가의 변화, 즉 주가의 변화이다. 몬테카를로 시뮬레이션은 이자율이나 변동성을 이용해서 가상의 주가를 만들지만, 시장 시뮬레이션은 Market factor들에 의해 가상으로 만들어진다.
(5) 매매 체결 시스템에 의해 생성된 시세데이터 (틱 데이터)의 요약 상황이다. 위 그림에서 호가 데이터 (B6)는 20,062 틱이 생성되었고, 체결 데이터 중 A3는 191 틱, G7은 4,135틱이 발생하였다. 전체 틱 중에 호가 틱이 82.26%로 가장 많고 체결 데이터는 (A3 + G7) 약 17% 정도 발생하였다 (10분 33초 동안).
(6) 초 당 발생하는 시세데이터 틱 수의 변화이다. 거래가 몰릴 때는 시세데이터가 많이 발생하고, 거래가 뜸할 때는 시세데이터가 적게 발생한다. 시세데이터 발생 강도는 주가의 변동성과 밀접한 관계가 있고, 시장 미시 전략에서는 이 강도를 주가 변동성의 대용치로 사용하기도 한다.
(7) 가상 트레이더들에 의해 형성된 주문의 유형별 분포이다. 실제 시장에서 관측되는 분포와 유사하게 만들어졌다. 시장에 가까울수록 지정가 주문 강도 및 취소 주문 강도가 높고, 시장에서 멀어질수록 강도가 점차 낮아진다.
(8) 호가창의 잔량의 분포이다. 잔량은 시장에 가까울수록 적어지고, 시장에서 멀어질수록 많아진다. 이것도 실제 시장의 관측치와 유사하다.
(9) 상대호가 주문 수량의 분포이다. 이 분포도 Power law 분포와 유사하며, 1~2 개의 수량이 전체의 60% 이상을 차지한다. 즉, 소량의 주문이 빈번한 특징을 가지고 있고, 실제 시장의 특성을 재현한 것이다.
(10) 호가별 잔량의 분포이다. 위의 그림은 2번째 호가창의 분포를 표시한 것으로, Ask 호가는 평균적으로 약 50개의 잔량이 있고, Bid측은 약 40개의 잔량이 있었다.
(11) 클라이언트의 접속을 처리하는 부분이다. 위 그림은 TCP 포트 3000, UDP 포트 4000에서 클라이언트의 접속을 대기하는 상태이다.
여기까지 시장 시뮬레이터의 서버 기능에 대해 간략히 살펴보았다. 다음 시간에는 클라이언트 기능에 대해 살펴보기로 한다.