2020년 8월 22일 토요일

Reading MLF(Machine Learning in Finance) - 1. Introduction

 최근에 책을 한 권 샀습니다. 

Machine Learning in Finance (From Theory to Practice)라는 책인데, 읽으면서 느낀 점이나 드는 생각들, 앞으로 공부할 점들을 까먹지 않게 이 곳에 조금씩 적어보려고 합니다. 물론 개인적인 정리를 위한 것이기 때문에, 잘 알고 있거나 내가 느끼기에 당연한 내용들은 패스할 겁니다.

책 가격이 조금 부담스러워서 (13만원..ㅠ) 살까 말까 고민했으나 감사하게도 국방부에서 자기개발비용 지원을 해줘서 약 5만원 정도 지원을 받고 8만원에 구매했습니다! (+공부할 때 돈 아끼는 거 아니라고 더 보태주신 아빠 사랑합니다ㅎ)

책의 구성은 총 12챕터로, 다음과 같이 되어있습니다. 

1. Intro

2. Probabilistic Modeling

3. Bayesian Regression and Gaussian Processes

4. Feedforward Neural Nets

5. Interpretability

6. Sequence Modeling

7. Probabilistic Sequence Modeling

8. Advanced Neural Networs

9. Introduction to Reinforcement Learning

10. Applications of Reinforcement Learning

11. Inverse Reinforcement Learning and Imitation Learning

12. Frontiers of Machine Learning and Finance


딥러닝이나 RL쪽은 그래도 공부를 좀 했는데 ML 방법론 중에서 잘 모르는 것들도 있고 해서 천천히 정리를 해나가려고 합니다.

챕터별로 끊어서 정리해볼까 하는데 분량이 많다면 조금 나누어서 해야할 것 같습니다.

아무튼! 이번에는 Ch.1 Introduction 내용입니다.

- 시간이 갈수록 Alternative data에 대한 관심이 증대되고 있다. Alternative data란 금융 전반에서 사용되는 일반적인 정보 범주 밖의 것들을 의미한다. 뉴스, SNS, 음성 정보, 위성 사진 등이 Alternative data에 포함된다. 뉴스나 SNS에 올라오는 글들이야 뭐 Sentimental 분석을 해서 이용하려는 시도들이 굉장히 많았고 아직도 계속되고 있다. 음성 정보같은 경우 예전에 자교 대학원에서 열리는 딥러닝 강의를 들을 때 교수님과 면담을 하면서 들었던 건데, 한 10년 전쯤인가 교수님 지인 중 NLP 분야 사람이 골드만삭스(정확히 기억은 안나는데 대형 금융사 중 하나였음)에서 고용되어 연준 의장의 연설을 실시간으로 분석하여 금리 변동이나 뒤에 이어질 정보를 미리 예측하는 연구를 했었다고 한다. 정말 정보로 쓸 수 있는 모든 걸 정제하려는 시도를 하나보다. 위성 사진도 작물 수확 상태를 바탕으로 Commodity 가격을 예측하는 시도 등 정말 이런 것까지? 하는 것들도 다 시도를 해본다고 한다.

- Supervised ML의 적용 예시들: Algo Trading / High-Frequency Trade Execution / Mortgage Modeling

Algo Trading을 설명하기 위해 예시로 사용한 것은 MLP였다. 데이터는 S&P 500 유니버스의 일별 종가 변동률을 사용하였고, Threshold를 넘는지 안 넘는지 구분하는 Classifier를 예시로 들었다. 내가 개인적으로 시도할 때는 거의 항상 Regressor를 만들었던 것 같은데 Classifier로 하는 것보다 더 많은 정보를 얻을 수 있을 거라고 생각했기 때문이다. Regressor에서 높은 값을 뱉으면 실제로 더 높지는 않더라도 확률상 더 높을수도 있지 않을까 하는, 조금이라도 더 활용해보고자 하는 생각이 든다. 근데 생각해보니 Classifier로 만들면 Threshold를 조정해서 위를 간접적으로 구현할 수는 있을 것 같다. 근데, 이 책에서는 Threshold를 높이면 Classification 문제가 아니라 Outlier Prediction Problem이 된다고 말한다. 어차피 Outlier Prediction도 Classification의 일종이니까 큰 상관은 없을 것 같은데... 여기서 Threshold를 조정하는 문제는 아마 Frequency - Winning ratio trade-off에 관한 문제가 아닐까? 물론 Threshold를 높인다고 해서 Winning ratio가 올라간다는 보장은 없는데 그래도 모델이 잘 작동한다는 가정 하에 어느 정도 상충관계가 존재할 것 같다. 아마도 실전에서는 Threshold 또한 베팅이 가능한 빈도수와 그에 따른 승률을 적절히 가져가는 수준에서 최적화가 될 것이다. 예상되는 승률에 따라 베팅 금액도 다르게 가져가도록 최적화하는 작업도 추가할 수 있을 것 같다.(켈리 베팅이라던지) 

High-Frequency Trade Execution의 경우 마켓 메이킹 모델을 만드는 예시가 나왔다. 구체적으로 어떤 모델을 사용했는지는 나오지 않았지만, Dixon(2018)의 논문(Sequence classification of the limit order book using recurrent neural networks)에서 RNN을 사용하여 다른 시계열 모델들보다 우수한 퍼포먼스를 얻었다고 한다. Input으로는 queue sizes / properties of market orders 정도를 사용했다고 한다. 마켓 메이킹을 할 때 손해보는 경우는 가격이 지속적으로 상승하거나, 지속적으로 하락하는 경우이다. 결국 마켓 메이킹 전략의 수익률을 높인다는 것은 손실이 나는 부분을 최소화한다는 것으로, 틱데이터를 이용해 주가의 이동방향을 어느 정도 예측할 수 있다는 뜻이다. 개인적으로는 RNN을 사용하는 것보다 DQN이나 A3C 등 RL이 가미된 딥러닝 방법론을 사용하는 것이 효과가 좋을 것 같다. 틱데이터를 구할 방법이 없어서 시험하지 못해보고는 있지만 기회가 된다면 이것저것 돌려보고 싶은 마음가득이다ㅠ.

Mortgage Modeling의 경우 Borrower의 채무 이행 상태를 Paid / Current / Delinquent / Foreclosure / Real-Estate-Owned / Default로 구분하여 다음 state를 예측하는 모델을 구성하였다. (Current는 현재까지는 잘 갚은 상태) 여기서는 Transition Probability Matrix(특정 상태에서 다른 상태로 갈 확률을 나타내는 행렬)를 구성하고, 이를 Approximate하는 모델을 예시로 들었다. 그런데 궁금한 점은 왜 하필 Transition Probability Matrix를 사용한 것일까? 위에서처럼 바로 RNN을 사용해서 직접 구할 수도 있었을 텐데 굳이 이런 간접적인 방법을 사용한 이유가 무엇인지 궁금했다. 예상 답변으로는 1. 성능이 잘 나와서 2. 전통적 방법의 개량이라서 정도일 것 같은데, 정확히는 잘 모르겠다. 

- Feedforward Networks 다룰 때 한 layer의 통과는 semi-affine function이라는 내용이 제시되었는데, affine transformation을 선형변환 + 평행이동 정도로만 알고 있어서 정확히 무엇을 의미하는 건지는 잘 모르겠다. 대충 찾아서 그런지 설명이 잘 안 나오는데 좀 더 공부해보고 추가해야겠다.

댓글 없음:

댓글 쓰기