-
[Paper Tasting] 딥러닝으로 호가창 정보를 어떻게 처리할까?Paper Tasting 2023. 12. 4. 22:40
- Motive
- 주식 가격과 거래량 정보를 중심으로 매매를 하고자 한다면 호가창의 상태는 매우 유용한 정보가 된다. 호가창은 각 매수 가격과 매도 가격에 매수/매도 하고자 하는 물량이 얼마나 있는지를 나타내는 정보로, 매수세와 매도세를 파악하고 향 후 단기간의 가격 변동을 예측할 수 있게 해주는 정보로 활용된다. 과연 이 정보를 어떻게 신경망이 처리하게 하면 더 좋은 성능을 얻을 수 있을까?
- Paper Title: [2022] The Short-term Predictability of Returns in Order Book Markets: A Deep Learning Perspective
- Arxiv Address: https://arxiv.org/abs/2211.13777
- 주요 내용 및 평가
- 이 논문은 단기간(1초 이내)의 mid-price(매수 1호가와 매도 1호가의 중간가격)의 변화를 예측하기 위해 호가창(Limit Order Book(이하 LOB))을 신경망에서 다루는 방법을 비교 실험을 통해 연구한 논문이다. 그 과정에서 LOB를 어떻게 표현할지, 그리고 이 LOB 정보를 어떤 신경망 구조로 표현하면 좋을지를 실험을 통해서 확인하고 있다.
- 여기서 다룬 LOB표현 방법 다음과 같다.
- DeepLOB: (ask_price, ask_volume, bid_price, bid_volume)의 쌍을 호가로 쌓은 후 시계열로 쌓아 2차원 배열로 만든 후, 호가 차원과 시간 차원에 대해 번갈아가며 covolution layer를 쌓아서 처리하고, 다양한 길이의 time-window에 의해 표현된 feature map을 inception layer를 통해 통합한다.
- deepOF(Order Flow): Optical flow처럼 t와 t-1사이의 호가별 volume 변화를 표현한 정보를 DeepLOB처럼 CNN과 LSTM을 거쳐서 처리하게 만들었다. LOB의 변화에 초점을 맞추어 좀 더 compact하게 표현된 feature이다.
- deepVOL: deepLOB와는 달리 price 정보를 제거하고 volume정보만으로 표현하되, 비어 있는 호가의 경우 volume을 0으로 채워서 "일관성"있는 표현을 하도록 개선된 표현방법이다. 따라서 시점 t의 Feauture는 ask와 bid의 volume을 이어 붙여 2xWxT의 배열로 표현된다. (W는 표현할 호가 레벨 범위, T는 시간), 참고로 volume은 배열내 값 중 최대값으로 나누어 줌으로써 0~1사이의 값을 가지도록 정규화하고 bid와 ask는 sign으로 구분하도록 한다. 이후 처리는 동일하게 CNN+LSTM이다.
- 이 논문은 가격의 변화를 classification 문제로 접근하였다. 또한 LSTM output으로 부터 다양한 time-scale에서의 가격 변화를 결정하고자 하였고, 그 과정에서 Sequence-to-Sequence 구조를 활용하였다. 즉, 단기 예측에 활용된 latent vector를 다시 recurrent 입력으로 feeding하여 장기 예측에 활용하는 방식을 적용하여 단기~장기간 연관성을 활용하고자 하였다. 단순한 Multi-head 구조보다는 꽤 똑똑한 접근방식이라는 생각이 든다.
- 결과적으로 예측 성능은 deepLOB보다는 deepOF나 deepVOL이 확연히 좋았다. 종목 independent한 예측 실험(universal model로 부름)도 하였는데, 이 경우는 deepVOL이 가장 좋은 성능을 보였다.
- universal model의 경우 학습에 경험하지 않은 종목에 대해 잘 예측하기도 하고 형편없는 예측을 하기도 하였는데, 종목별 dynamics 특성이 학습 데이터와 비슷한 종목은 잘 예측할 수 있지만 dynamics 특성이 다른 종목도 있음을 짐작할 수 있다. 즉 common한 특징도 있지만 종목 specific한 특징도 있다고 이야기할 수 있겠다.
- 좋은 성능을 보인 deepVOL은 가격의 변화 자체는 표현하고 있지 못하다. 가격 변화도 같이 신경망에 입력으로 준다면 좀 더 성능 개선이 되지 않을까 싶다. 그럼에도 불구하고 이 논문에서 제안한 deepVOL은 LOB 데이터처리를 하고자 한다면 검토해 봐야할 방법이라고 생각한다.
- 기타 참고 사항
- Target mid-price는 전후 일정 기간의 mid-price를 averaging하여 계산하였다. noise를 줄이기 위한 방법으로 합리적인 접근 방법이다.
'Paper Tasting' 카테고리의 다른 글
LLM-based agent로 강화학습 agent의 한계를 극복해보자. (1) 2023.12.26 Policy Distillation으로 강화학습의 일반화 성능 개선 (2) 2023.12.09 [Paper Tasting] RL로 게임 콘텐츠를 만들수 있을까 (0) 2023.11.26 [Paper Tasting] Average reward와 Discounted Reward에 대해 좀 더 깊이 이해하고 싶다면 (0) 2023.10.30 [Paper Tasting] 강화학습으로 무한히 즐길 수 있는 게임 환경을 만들기 (0) 2023.10.22 - Motive