목차
이 글은 퀀트 투자를 위한 머신러닝 딥러닝 알고리즘 트레이딩 2/e 1장의 내용을 바탕으로 작성되었습니다.
https://github.com/stefan-jansen/machine-learning-for-trading
0. 들어가며
퀀트 공부를 제대로 시작해야겠다고 항상 생각은 하고 있었지만 실천을 못하고 있었는데 마침 블라인드 금융 라운지에서 알고리즘 트레이딩 스터디를 구하는 글이 올라왔다. 프로젝트도 막바지라 야근도 많아지고, 글또 글도 계속 써야해서 사실 더 시간 내기가 쉽지 않을 것 같기는 했지만, 스터디를 하려고 모인분들이 대부분 증권사에 다니시는 분들이어서 이이럴때 아니면 언제 증권사 현업 분들이랑 스터디를 할까 싶어 눈 딱감고 스터디를 해보기로 했다. 스터디 교재는 최근 2판이 번역된 퀀트 투자를 위한 머신러닝 딥러닝 알고리즘 트레이딩 2/e으로 하기로 했는데, 스터디를 준비하면서 좀 읽다보니 번역투 문장들이 거슬리는 부분이 많고 의미전달이 분명하지 않은 경우가 있어 킨들 버전을 추가로 구매했다. 책이 너무 무거워서(1100페이지 정도 됨) 들고다니기는 힘들것 같기도 했고. 스터디를 하고 내용을 정리해 두는 것이 나중에 다시 볼 때 도움이 될 것 같아 스터디 내용을 계속 정리해보려고 한다.
1. 책의 구성
이 책은 크게 4부로 나누어지고 부록을 포함하여 총 24장으로 구성되어 있다. 1부에서는 초과수익을 얻기 위한 알파 팩터를 찾고 포트폴리오는 최적화 하는 방법을 다루고 있고, 2부에서는 선형모형을 이용한 전통적인 방법에서 출발하여 XGBoost, LightGBM, Catboost 같이 비교적 최근에 나온 방법론의 적용(12장)까지 다루고 있다. 3부는 자연어 처리, 4부는 딥러닝과 강화학습을 커버하는데 텍스트나 이미지 데이터 등의 대체 데이터(alternative data)를 어떻게 트레이딩에 활용할 수 있는지 설명하고 있다. 강화학습은 트레이딩 실행 단계(excution)에서 적용을 고려해 볼 수 있는 방법이다.
1부. 데이터, 알파 팩터, 포트폴리오
1장. 트레이딩용 머신러닝: 아이디어에서 주문 집행까지
2장. 시장 데이터와 기본 데이터: 소스와 기법
3장. 금융을 위한 대체 데이터: 범주와 사용 사례
4장. 알파 팩터 리서치
5장. 포트폴리오 최적화와 성과 평가
2부. 트레이딩을 위한 ML: 기본
6장. 머신러닝 프로세스
7장. 선형 모델: 리스크 팩터에서 수익률 예측까지
8장. ML4T 작업 흐름: 모델에서 전략 백테스트까지
9장. 시계열 모델
10장. 베이지안 머신러닝: 동적 샤프 비율과 페어 트레이딩
11장. 랜덤 포레스트: 일본 주식 롱/숏 전략
12장. 거래 전략 강화
13장. 비지도학습을 활용한 데이터 기반 리스크 팩터와 자산 배분
3부. 자연어 처리
14장. 트레이딩을 위한 텍스트 데이터: 감성 분석
15장. 토픽 모델링
16장. 어닝 콜과 SEC 공시 보고서를 위한 단어 임베딩
4부. 딥러닝과 강화학습
17장. 딥러닝
18장. 금융 시계열과 인공위성 이미지를 위한 CNN
19장. 순환 신경망
20장. 조건부 위험 요인과 자산 가격 결정을 위한 오토인코더
21장. 합성 시계열 데이터를 위한 적대적 생성 네트워크
22장. 심층 강화학습: 트레이딩 에이전트의 구축
23장. 결론과 다음 단계
부록. 알파 팩터 라이브러리
2. 1장 내용 요약
(1) 알고리즘 트레이딩이란?
알고리즘 트레이딩이란 트레이딩 전략의 일부나 전부를 자동화할 목적으로 알고리즘(목표를 달성하기 위한 규칙이나 절차)을 이용하는 트레이딩 방식으로, 데이터 수집부터 실제 주문 집행까지의 일련의 과정을 포괄한다. 1장에서 얻어갈 수 있는 주요 내용 중 하나는 트레이딩을 위한 end to end 머신러닝 워크플로우이다.
목차를 기준으로 보면 알고리즘 트레이딩은
- 자신의 목표(ex. 벤치마크를 초과하는 수익률 달성)를 정하여 평가방법을 세우고(5장, 8장),
- 데이터를 이용해서(2장, 3장)
- 피쳐를 뽑아내고(4장, 13장, 20장, 3부 텍스트, 4부 이미지)
- 예측 모델에 피쳐를 투입하여 얻어진 결과값(7장, 9~12장, 19장)으로
- 포트폴리오를 최적화하고(5장)
- 시뮬레이션으로 테스트 해본 다음(21장)
- 효과적으로 주문하는(22장)
일련의 과정을 통해 수행할 수 있다.
(2) 투자업계에서 머신러닝의 부상
팩터 투자와 스마트 베타 펀드
책에서는 투자업계에서 머신러닝을 사용하려는 동인을 ML 모형을 이용한 새로운 리스크 팩터의 발견과 수익률에 대한 뛰어난 예측력 때문으로 보고있다. 기존의 자본 자산 가격 결정 모델(Capital Asset Pricing Model; CAPM)에서는 기대수익(Expected Return; Ri)을 무위험 수익(Risk Free Return; Rf, ex. 국채 금리)과 시장 포트폴리오 기대수익(Expected Market Return; Rm, ex. S&P 500 수익률)의 함수로 표현한다.
$$Ri = Rf + \beta\times(Rm-Rf)$$
여기서 베타(\(\beta\))는 전체 시장 움직임 대비 개별 종목이 얼마나 민감하게 움직이는지 측정한 지표로 S&P 500 지수가 1% 오를 때 애플이 5% 오른다면 S&P 500 지수에 대한 애플의 베타는 5가 된다. CAPM이 등장한 이후로 자산 수익률을 단일 팩터가 아닌 멀티 팩터로 설명하는 시도가 지속적으로 이루어졌고(특히 2008년 금융위기 이후), 이 과정에서 스마트 베타 펀드(smart beta fund)가 생겨났다. 스마트 베타 펀드는 다양한 팩터를 함께 고려하여 자산의 수익률을 추정한다.
알고리즘 트레이딩 기반 펀드의 성공
- 1982년 르네상스 테크놀로지를 설립하고 최고 퀀트 회사로 키운 수학자 제임스 사이먼스가 운용하영 메달리온 펀드는 1982년 이후 연평균 약 35%의 수익률을 거둠
- 3대 퀀트 헤지 펀드 디이쇼(DE Shaw), 시타델(Citadel), 투시그마(Two Sigma)는 알고리즘에 기반을 둔 시스템 전략을 사용해 2017년에 총수익 기준 TOP 20 펀드에 이름을 올림
- 이코노미스트에 따르면 2016년 시스템 펀드는 미국 시장에서 기관 거래의 가장 큰 부분을 차지하는 것으로 나타났고, 2019년에는 기관 거래 규모의 35%이상을 차지해 2010년의 18%에서 크게 증가
머신러닝과 대체 데이터
대체 데이터(alternative data): 위성 이미지, 신용카드 거래 데이터, 감성 분석, 모바일 위치 정보 데이터, 웹 사이트 스크래핑 등의 데이터를 말하며, 잠재적인 거래신호를 포함하는 모든 데이터 소스를 포괄한다. 머신러닝이 투자업계에서 사용되기 시작한 가장 큰 이유는 대체 데이터를 분석하기 위해서라고 생각하는데, 대용량의 신용카드 거래 데이터 분석이나 위치 정보 데이터 분석, 위성 이미지 분석 등은 전통적인 방법론 보다는 머신러닝을 이용하는 것이 더 효과적이기 때문이다. 미국에서는 대체 데이터 거래 시장이 빠르게 성장하고 있고, 동시에 개인정보 보호에 대한 문제에 대한 관심이 높아지면서 규제 기관이 데이터 제공업체들을 조사하기 시작했다고 한다.
(3) 책의 내용과 스터디 과정에서 인상적이었던 부분
1장의 내용을 읽고 스터디 발표자님의 설명을 들으면서 인상적이었던 부분이나 떠오른 생각들을 나열해보면
- 텍스트나 이미지 같은 대체 데이터를 이용하여 추가 수익을 얻기 위한 다양한 시도가 이루어지는 중
- 오토인코더로 피쳐 추출하는 방법으로 석사논문을 쓸 뻔 했었는데 실제로 사용되고 있는 것을 보니 이걸로 논문 썼어도 괜찮았을 것 같다는 생각이 들었다.
- look-ahead bias(선견자 편향, 선지 편향)를 고려해야 한다.
- data leakage와 유사한 맥락인데, 학습시점에서 사용할 수 없는 데이터는 학습 데이터에서 제외해야 한다는 것
- ex. 2020년 12월까지의 데이터로 모형 학습을 할 때 2020년 4분기 재무정보가 2021년 3월에 공시되었다면 학습에 사용하면 안됨
- 퀀토피안(거래 알고리즘 크라우드 소싱 플랫폼)이 망했다.
- 비즈니스 모델의 중요성을 다시 한 번 생각해보게 된다.
- 과연 zipline은 아직 멀쩡할 것인가?
3. 글을 마치며
퀀트 책만 계속 사다가 드디어 공부를 시작했다. 혼자 공부하려고 했을 때보다가 같이 공부하는 사람들이 있으니 동기부여도 더 되는 것 같고, 증권사 현업분들이랑 같이 스터디를 하니 뭔가 더 든든한 느낌이 있다. 책 목차만 봐도 이 책만 잘 정리해두면 퀀트 트레이딩에 대한 기초는 잘 잡고 갈 수 있을 것 같다. 책의 구성은 정말 알차게 되어 있는데 글 도입부에서 언급한 것처럼 번역의 아쉬움이 크긴하다. 정확한 의미를 이해하기 위해서 여러번 읽어보다가 결국엔 원문을 찾아보게 되는 불편함이 있다. 그래도 한글로 읽으면 빠르게 전반적인 내용을 파악할 수 있다는 장점이 있긴 하니(영어를 한글처럼 읽을 수 있는 분들은 예외이겠지만) 관심이 있다면 번역본을 사서 읽어보는 것도 괜찮은 선택으로 보인다.