(Feature 2) OBI, Microprice, TFI, Transformation
시장 미시구조의 기본 피쳐인 Order Book Imbalance(OBI), Microprice, Trade Flow Imbalance(TFI, 체결강도)를 간략히 정리합니다.
이전 글: (Feature 1) Order Flow Imbalance
이 글은 금융수학 시리즈의 글입니다.
OBI는 호가창 수량 비율로 매수/매도 압력을 나타내고, Microprice는 수량 가중 가격으로 OBI를 스프레드 스케일에 반영합니다. TFI(체결강도)는 매수/매도 체결 비율의 차이입니다. 이 기본 피쳐들에 log, logistic 등의 transformation을 적용하면 피쳐 후보군을 확장할 수 있습니다.
이번 글에서는 빠르게 몇 가지 기본적인 시장 미시구조 피쳐들을 훑어보겠습니다.
Order Book Imbalance (OBI)
호가창의 특정 방향으로의 압력을 나타내는 피쳐입니다. 가장 간단한 형태는 최우선 매수호가 수량을 전체 최우선 호가 수량으로 나눈 것입니다:
\[\text{OBI} = \frac{q^B}{q^B + q^A}\]1에 가까울수록 매수 압력이 크다고 볼 수 있습니다. 이 값은 $(0, 1)$ 사이입니다.
여기서 한 단계 변형하면 $(-1, 1)$ 사이의 값으로 만들 수 있습니다:
\[\text{OBI} = \frac{q^B - q^A}{q^B + q^A}\]$-1$에 가까우면 매도 압력, $1$에 가까우면 매수 압력입니다. 이렇게 비슷한 의미의 피쳐를 변형해서 다른 피쳐를 만들어 내는 걸 피쳐 엔지니어링이라고도 합니다.
최우선 호가뿐만 아니라 멀티 레벨로 확장할 수도 있습니다:
\[\text{OBI}_L = \frac{\sum_{i=1}^{L} q_i^B - \sum_{i=1}^{L} q_i^A}{\sum_{i=1}^{L} q_i^B + \sum_{i=1}^{L} q_i^A}\]그런데 실제로 데이터 분석을 해보면, 최우선 호가 데이터는 확실히 유의미하고 2호가까지도 꽤 의미가 있지만, 3호가부터는 애매한 정도를 넘어서 역의 관계를 가지는 느낌까지 받았습니다. 저는 이걸 허수성 호가, 소위 낚시성 호가가 섞여 있기 때문이라고 이해하고 있습니다.
참고로 틱이 아주 작은 코인에서는 검토하지 않은 내용이므로, 이 부분은 참고해서 보시기 바랍니다.
Microprice
저는 기본적으로 이 피쳐가 OBI와 비슷한 의미를 가진다고 생각합니다. 일종의 피쳐 엔지니어링의 연장선입니다. Microprice는 최우선 호가의 수량으로 가중평균한 가격입니다:
\[P_{\text{micro}} = \frac{q^B \cdot P^A + q^A \cdot P^B}{q^B + q^A}\]매수 물량 $q^B$가 많으면 가격이 $P^A$ 쪽으로 끌려가고, 매도 물량 $q^A$가 많으면 $P^B$ 쪽으로 끌려갑니다.
이제 microprice에서 midprice를 빼보면:
\[P_{\text{micro}} - P_{\text{mid}} = \frac{P^A - P^B}{2} \cdot \frac{q^B - q^A}{q^B + q^A}\]스프레드의 절반에 OBI를 곱한 형태입니다. 결국 microprice - midprice는 OBI가 얼마나 쏠려 있는지를 스프레드 스케일로 표현한 값입니다.
Trade Flow Imbalance (TFI)
한국말로 체결강도입니다. 일정 시점 동안 매수 체결과 매도 체결의 차이입니다.
대부분의 거래소는 체결의 방향을 같이 보내줍니다. 다시 말해, 뜯어간 사람이 매수자인지 매도자인지를 체결 데이터에 함께 포함시켜 보내줍니다. 만약 포함이 안 되어 있을 경우, 체결 가격과 직전 midprice를 비교하여 추정할 수 있습니다.
일정 시간 구간 동안의 체결강도는 다음과 같이 정의합니다:
\[\text{TFI}_t = \frac{\sum_{k} V_k^B - \sum_{k} V_k^A}{\sum_{k} V_k^B + \sum_{k} V_k^A} \tag{1}\]$V_k^B$는 매수 체결 수량, $V_k^A$는 매도 체결 수량이고, 구간 $[t, t+\Delta t]$ 동안의 체결에 대해 합산합니다.
계속 반복해서 말해서 지겨울 수도 있겠지만, 식 $(1)$에서 합을 계산하기 위해 메모리가 사용됩니다. EWMS를 이용하면 메모리 $O(1)$로 해결할 수 있습니다.
Transformation을 이용한 추가 피쳐 엔지니어링
이제 여기서 더 해볼 수 있는 게 있는데요. 그냥 아무 함수나 취해 보는 겁니다. 저희는 지금까지 직관에 의해 피쳐를 골랐습니다. 데이터 분석을 하기 전까지는 정확히 분포를 어떻게 바꿔줘야 가장 효과적인지 모릅니다. 예를 들어 식 $(1)$도 한번 이렇게 바꿔 보는 거죠:
\[\frac{\sum_{k} \log V_k^B - \sum_{k} \log V_k^A}{\sum_{k} \log V_k^B + \sum_{k} \log V_k^A}\]저는 체결강도뿐만 아니라 OBI, OFI 등 해볼 수 있는 요소에 $\log$, identity, logistic 등을 시도해봅니다. 피쳐 셀렉션을 해보면 logistic은 잘 안 나오긴 합니다. 그래도 혹시 모르는 마음에 꼭 넣어 보긴 합니다.
결론
피쳐의 시간축(summation 등), transformation, 그리고 그 다음에 정규화를 하면 거기에 따른 시간축도 선택 대상입니다. 데이터 분석이 시작되면 어마어마한 계산 홍수에 부딪힙니다. 먼저 피쳐 후보군을 왕창 뽑아 놓고 그중에 가장 유의미한 후보군을 고릅니다. 이 작업을 피쳐 셀렉션이라고 합니다. 다음 글에서 자세히 다루도록 하겠습니다.
