News & Events
알고리즘 트레이딩 (Algorithmic Trading) – 전략 (31)
SOBI 전략의 시험 (3)
SOBI 전략의 시험 (1) 글의 덧글 내용 중 Mid VWAP을 구할 때 전체 VWAP으로 계산하는 것이 타당할 것 같다는 의견이 있었다. 포스트에서는 Mid VWAP을 계산할 때 (Ask측 VWAP + Bid측 VWAP) / 2 로 계산했는데, 덧글의 내용은, Mid VWAP = (전체 호가 * 잔량 의 합) / (매수 매도 잔량의 총합)으로 계산하는 것이 타당하다는 의견이었다. 필자도 이 의견이 타당할 것 같아 Market Simulator로 시험해 보았다. 그런데 의외의 결과가 나타나서 정리해 보기로 한다.
이 방식으로 아래와 같이 스크립트를 짜서 여러 차례 돌려보았더니, 지속적으로 손실이 발생하였다. 왜 그럴까 ??
이전 글의 SOBI 전략은 아래의 자료를 참조한 것이다. 아래 자료는 필자가 Market Simulator를 만들 때 참조한 자료로, 펜실베니아 대학과 리만브라더스의 Prop. 팀이 공동으로 수행한 자동 거래 프로젝트 관련 자료였다. 이 자료에 소개된 SOBI 전략의 원문은 아래와 같다.
<참고 자료 : The Penn-Lehman Automated Trading Project : PLAT>
… known as the Static Order Book Imbalance (SOBI) strategy. This strategy computes volume-weighted average prices (VWAP) of (quartiles of) the PXS buy and sell order books, and compares them to the PXS last price. The basic idea is that if, for example, the VWAP of the buy book is much further from the last price than the VWAP of the sell book, it is a sign that buyers are less supportive of this price than are sellers, as indicated by their limit orders (statistically) standing further off. In this case, SOBI will place an order to sell shares, on the theory that the weaker buy-side support will cause the price to fall.
이 글의 의도는 Bid측 VWAP과 last price (or Mid price)의 거리 (d1)와 Ask측 VWAP과 last price와의 거리 (d2)를 측정해서 d1 > d2 라면 매도 신호로 이용한다는 것이고, 이전 글의 테스트도 이 원리를 사용했다. 즉, d1 = midPrice – bidVwap 이고 d2 = askVwap – midPrice 이므로, midPrice – bidVwap > askVwap – midPrice 이면 매도 신호이다. 즉 midPrice > (askVwap + bidVwap) / 2 이면 매도 신호이다. 이전 글에서 midVwap = (askVwap + bidVwap) / 2 이므로, midPrice > midVwap 이면 매도 신호이다. –> (방식-1)
그런데 덧글의 내용처럼 midVwap = (전체 호가 * 잔량의 합) / 전체 잔량으로 계산하여 midPrice와 비교하면 위와 같이 손실이 발생한다. –> (방식-2)
(방식-1)과 (방식-2)가 서로 다른 신호를 발생하는 예를 들어보자. 위쪽에 있는 호가창은 잔량에 대해 균형상태에 있다 (Ask와 Bid쪽의 잔량이 정확히 대칭을 이루고 있다). 이 상태에서는 (방식-1) 이나 (방식-2) 모두 균형상태를 가리킨다. 아래에 있는 호가창은 2-번째 호가에서 불균형이 발생하였고 (Ask 측이 얇아지고, Bid 측이 두꺼워 졌다), (방식-1)과 (방식-2)의 신호는 서로 반대로 나타난다 (상세 계산 방식은 첨부 파일 참조).
잔량이 불균형을 이루는 모양은 여러 형태가 있겠지만, 아래와 같이 3가지 형태를 살펴보자. (1)은 가장 간단히 생각해 볼 수 있는 균형 상태이다. (2)는 실제 시장에서 발생하는 균형상태이다. 실제 시장에서는 호가가 시장에서 멀어질수록 잔량이 커지는 분포를 하고 있다. (3)은 불균형이 발생한 상태이고, ask측 distance가 bid측 distance 보다 크므로 매수 신호로 작용한다. 물론, 실제 시장에서는 (3)과 같은 분포가 발생하기는 어렵다. 여기서는 단지 이해를 돕기 위해 과장되게 그려본 것이다.
PLAT project에 소개된 SOBI 전략 (방식-1)은 바로 위 그림의 (3)과 유사한 상태를 (혹은 반대 상태) 포착하는 전략으로 이해된다. 그리고 (방식-2)는 전체 잔량이 어느 쪽이 더 두터운지에 초점을 둔 전략으로 이해된다. Distance를 고려하지 않고 그냥 전체의 VWAP과 mid Price를 비교하려면 매수/매도 신호를 반대로 해석해야 될 것으로 생각된다. 즉, (방식-1)과 (방식-2)는 전혀 다른 의미의 전략이다.
[출처]31. SOBI 전략의 시험 (3)|작성자아마퀀트