[리뷰] 퀀트 전략을 위한 인공지능 트레이딩
in Review on Review, Book, 퀀트, 트레이딩, 인공지능, Ai, 머신러닝, 딥러닝, 파이썬, 케라스, 금융, 백테스팅
한빛미디어
출판사의"퀀트 전략을 위한 인공지능 트레이딩(김태헌, 신준호 저)"
를 읽고 작성한 리뷰입니다.
본 도서는 머신러닝과 딥러닝을 활용한 AI 트레이닝 전략 및 구현
을 다룬다.
알파고가 등장한지 4년이 넘어서일까 이제 시중에는 좋은 AI 서적들이 많이 늘어났다. 이 책 역시 그런 멋진 도서 중 하나이다. 총평을 먼저 내리자면 AI 실용서 중 으뜸인 수작
이라고 평하고 싶다.
총 379페이지에 달하는 분량안에 투자의 핵심, 퀀트 전략, 머신러닝과 딥러닝에의 접목, 알짜배기 Python 스킬, 금융 학술분야 논문 구현
에 이르기까지 상대적으로 적은 분량에 어떻게 이 모든 지식들을 다 녹여낼 수 있는 것인지 저자의 역량에 감탄을 금할 길 없다.
AI를 다루는 서적임에도 좋은 투자의 교본서 같은 느낌도 든다. 주식이나 코인 등을 투자해본 경험이 있는 분이 이 책을 읽는다면 왠만한 시중의 주식 서적보다 더 많은 인사이트와 분석법을 제공한다는 사실을 깨닫게 될 것이다.
무엇보다 저자의 전달력이 너무 뛰어나다. 저자는 AI 분야의 베스트 셀러인 단단한 머신러닝, 데이터 과학자와 데이터 엔지니어를 위한 문답집의 역자이기도 하다.
두 책 모두 읽은 독자로써 번역서임에도 읽기가 참 편하다는 느낌이 들어 저자분의 성함을 기억하고 있었는데 그런 전달력으로 본인의 내공을 전달하기 때문일까 고난도의 알짜배기 지식이 간결하고 알기 쉽게 저술되어있어 인상적이었다.
책의 구성은 크게 개요 및 파이썬, 퀀트 전략, 머신러닝 적용, 딥러닝 적용
4개의 파트로 나뉜다. 각 장의 특성에 맞게 파트별로 간단히 소개해 보겠다.
개요 및 파이썬 (1~2장)
1장 개요에서는 금융 영역 전반에 걸쳐 머신러닝이 어떤 평가를 받고 있고 어떻게 적용되고 있으며 투자에 어떤 알고리즘이 활용되는지 등의 전반적인 교양 수준의 지식을 총체적으로 다룬다. 뒷장에서 이어나갈 이론의 배경이자 실습 구현을 위한 기본 상식이기 때문에 미리 알아두는 것이 좋다.2장은
금융에 특화된 파이썬 활용법
을 소개한다. 이 장은 비록 본 도서의 핵심 내용은 아니지만 반드시 필요한 기초 중의 기초를 다루고 있으며 이 장의 파이썬 스킬들만 잘 익혀도 뒷 장의 구현에 큰 어려움이 없을만큼 알짜 지식이 잘 정리되어 있다.일반적인 다른 서적들이 두루뭉실 API 활용법과 예제의 나열로 이루어져 뒷장을 넘길수록 망각하거나 체계가 잡히지 않아 고난이도 파트를 구현하는데 애를 먹기 마련인데 이 책은 필요 지식들이 유기적으로 연결되어있어 기억이 오래 남았다. 무엇보다 파이썬으로 데이터를 처리하려는 초보자가 한 번씩 골머리 앓는 아래와 같은 문제들을 디테일하게 언급하고 있어 인상적이었다.
- 시계열에 특화된 함수들
잘 모르면 group by 등 전통적인 프로그래밍 방식으로 노가다의 지옥에 빠져들 수 있는데 이를 방지하기 위한 주요 함수들을 깔끔히 정리해준다.- shift() : 특정 시점 시프트 이동 기능. 이후 비교 등의 처리에 용이. 아래와 같이 직관적인 시각화 그림이 제시되어있어 정말 쉽게 이해할 수 있다.
- pct_change() : shift 기능 + 백분율 변화량
- diff() : shift 기능 + 변화량
- rolling() : 마치 CNN의 윈도우와 비슷한 개념으로 윈도우 크기만큼 일정 구간 데이터들의 평균, 최소, 최대 값을 계산하는 함수
- resample() : 시간 간격 조정 가능. 업 샘플링 + 다운 샘플링
- 시계열 데이터 분석 시 시점과 기간의 컨트롤 차이
- R과의 차이점 : NaN(Not a Number) 등
- dropna() 함수로 열을 제거하고 싶은 경우 axis=1 옵션에 대한 깔끔한 설명
- Pandas에서 컬럼에 접근 시 중괄호 두번 사용 등
거의 매일 쓰이는 유용한 금융 데이터 처리 기법을 익힌 후 금융 API가 소개되며 “인베스팅.com”의 API를 활용하여 차트를 그려보는 등의 실습을 진행한다. 금융 데이터를 처리할 때 사용하는 Python의 핵심 기능을 최대한 분량을 줄여 전달하는 저자의 노력과 배려가 돋보였다.
- 시계열에 특화된 함수들
퀀트 전략 (3~4장)
3장에서는 가장 기초적인 바이앤홀드 전략을 소개하고연평균 복리 수익률, 최대 낙폭, 변동성, 샤프 지수, 성과 분석 결과
를 구현해 본다. 일반인들에게도 크게 어렵지 않은 지표들이지만 데이터에 특화된 프로그래밍 언어나 라이브러리를 사용하지 않고 일반적인 프로그래밍 기법으로 구현하면 쉽지도 않을뿐 더러 코드가 복잡해진다. 나중에는 객체 지향 기법과 패턴을 동원해도 한 눈에 알아보기 힘들어 시간이 흐른 후 유지보수하기 힘들어지는 단점을 2장에서 배운 핵심 파이썬 지식을 활용해 방지할 수 있다.4장에서는 전통적인 퀀트 투자 전략을 구현해본다. 주식 투자를 한 번이라도 해 본 사람은 귀에 익은 말이 있을 것이다. 바로 기술적 투자와 가치투자.
이 장에서는 기술적 투자에 있어 대표적인 2가지 관점에 대한 지표들을 직접 구현해 본다. 먼저 “올라간 주식은 반드시 내려온다.” 관점의 대표격이라 할 수 있는 평균 회귀 지표인
볼린저 밴드
를 구현해 본다.마찬가지로 또 다른 유용한 관점 “올라가는 주식이 계속 오른다”의 방식인
듀얼(상대-절대) 모멘텀
도 구현해 본다.더불어 가치투자에 해당하는
마법의 공식
도 구현해본다. 이는 주식 실전 투자 전략서에 자주 소개되는 유명한 공식인데 조엘 그린블라트가 고안한 방법이다.주식 투자 시 각종 차트를 통해 활용했던 입장에서 직접 구현을 해봄으로써 내부 매커니즘을 익히는데 도움이되고 특히 퀀트를 목표로 하는 입문자에게는 상당한 자신감을 키워줄 수 있는 유용한 파트였다.
머신러닝 적용 (5~6장)
사실 위 4장까지만 다뤄도 충분히 부족함 없는 완성도 높은 책이라는 생각이 들텐데 본 게임은 여기에서부터 시작된다.금융 분야는 핵심 이론의 공유가 폐쇄된 분야인데 이는 수익성과 직결되어있기 때문이다. 5장에서는 조심스러운 입장에서 많이 공개되지 않은 학술자료를 바탕으로 머신러닝이 금융에서 차지하는 포지션을 다뤄본다.
더불어 머신러닝의 대표적인 기법들을 간단히 정리해 본 후
교차검증, 전처리, 측정 지표, 백테스팅
방법에 대해 다룬다. 짧은 내용이지만 머신러닝의 알짜배기를 빠르게 익힐 수 있고 특히 말로만 듣던 백테스팅 방법을 직접 구현해보며 퀀트의 실제에 대한 맛을 볼 수 있었다.6장에서는 5장에서 배운 지식들을 토대로 머신러닝을 적용한 결과물들을 직접 구현해본다.
ETFs를 활용한 주가 방향 예측
구현 파트에서는 트리 기반의 앙상블 구현을 통해 각 전문가들의 의견을 조합하는 방식을 배울 수 있다.이어 초보자도 이해하기 쉬운
k-최근접 이웃 알고리즘을 통한 지도학습
전략,비지도 학습 알고리즘인 클러스터링을 활용한 종목 분류
또한 직접 구현한다. 여기까지 이르면 사실 머리가 상당히 복잡해지지만 그럼에도 머리속에 나름의 체계가 잡히는 것이 신기했다. 아마도 저자의 뛰어난 체계적인 전달력이 책에 녹아있기 때문이 아닐까 생각한다.
딥러닝 적용 (7~8장)
드디어 대망의 딥러닝이 등장하는 파트이다.7장에는 딥러닝의 전반적인 지식을 소개하는 개요 부분이라 할 수 있다. 대표적인 딥러닝 알고리즘 소개 및 학술 분야의 연구 현황과 케라스 프레임워크를 다루는 방법까지 두루 살펴본다.
이어 8장에서는 7장의 지식들을 활용해 직접
논문의 기술들을 구현
해본다. 제일 먼저 주식 데이터의 캔들 그림을 인풋 데이터로 활용하여CNN으로 예측 분석 모델
을 구현한다. Tabular 데이터가 뻔히 있음에도 이미지로 변환하여 CNN에 적용하는 아이디어가 매우 인상적이었다.다음으로
시계열 모델에 유리한 RNN을 활용하여 주가 방향성을 분류
하는 모델을 만든다. 더불어오토인코더를 활용하여 주가 데이터를 생성
해보는 논문도 구현하게 되는데 이 부분은 나중에 GAN 같은 기술을 활용하면 더욱 의미 있을 듯 하다.그간 금융 분야에 딥러닝을 적용하는 기법들은 세간의 관심사인데 반해 정작 알려진 혹은 쉽게 이해할 수 있는 레퍼런스가 매우 드물었다. 특히 국내 서적은 말할 것도 없다. 그런점에서 본 파트가 책 중 가장 가치 있는 내용을 다룬다고 생각한다. 논문을 직접 구현해보며 학술적인 안목도 높힐 수 있고 스스로의 인사이트를 트레이닝 모델에 접목해 볼 수 있는
자생력
을 키울 수 있기에 매우 유익했다.
책 소개는 이 정도면 충분할 것 같다. 금융 분야에의 AI 기술은 수익과 직결되는 부분이기에 쉽게 공유되지 않는 소중한 지식들이다. 더욱이 일반인들이 쉽게 이해하기 어려운 영역이기도 하다.
이런 소중한 지식을 저자의 내공과 전달력이 버무러져 쉽게 떠먹을 수 있는 형태로 구성된 책이기에 도저히 추천하지 않을 수 없다. 앞에서 칭찬 일색으로 도배했듯 AI에 관심 있는 모든 분들이 반드시 읽어봐야 할 필독서
임을 강조하고 싶다. 이런 멋진 양서를 세상에 베푼 저자, 출판사 관계자 분들께 깊이 감사드린다.