저는 여유가 있을 때마다 프로그래밍을 취미 수준으로 즐겨온 직장인 입니다. 증권 투자에 관심을 갖고 증권사 API를 통해 시스템 트레이딩을 시도해 본 경험이 있습니다. 특별한 알고리즘이 없이 거래를 했더가, 큰 돈은 아니지만 수십만원을 손해보고 느낀 바가 있어서 잠시 접어두었습니다. 이후 알고리즘 트레이딩에 대해 조금 더 공부를 하고자 했지만, 그럴만한 시간을 찾기 힘들었습니다.
그러던 중, 이 책 “머신러닝을 이용한 알고리즘 트레이딩 시스템 개발”을 접할 수 있었습니다.
이 책은 크게 3부분으로 구성되는데, 1부는 머신러닝 개요, 2부는 통계지식, 3부는 실제 트레이딩 시스템 구현을 다루고 있습니다.
1부 머신러닝 개요에서는 머신러닝의 개념을 설명합니다. 머신러닝이 무엇이고, 무엇을 할 수 있는지를 설명합니다. 아무런 배경지식이 없어도 어려움 없이 술술 읽힙니다. 내가 모르는 것이 무엇이고, 어떤 것을 공부해야 할 지 감이 옵니다.
2부는 본격적으로 시작하기 전에 통계를 설명합니다. 책에서도 상당한 부분을 할애하여 설명했지만, 일정 수준의 통계지식은 머신러닝을 활용하는데 반드시 필요합니다. 저자는 적당한 그림과 함께 쉽게 설명하려 노력합니다. 참고로 이 책에서 사용하는 ‘parameter’는 통계학에서 ‘모수’라고 쓰기도 합니다. 여담이지만, 통계학을 공부할 때는 용어를 정확하게 정의하고, 공부하는 것이 큰 도움이 되었습니다.
3부는 본격적으로 알고리즘 트레이딩 시스템을 구축하기 시작합니다. 저자는 프로그램 코드를 하나하나 모두 설명하지는 않고, 다만, 어떤 역할을 하는지 설명하는데 초점을 둡니다. 일반 독자들이 어쩌면 제일 관심있어 할 수 있는, 즉 증권사 시스템에 접속하여 데이터를 받고 특정 알고리즘을 적용한 실전 트레이딩하는 프로그램은 없습니다. 다만, 그 전 부분과 그 이후 사후관리(성능 평가, 최적화 등)에 대한 내용을 다룹니다. 저자의 이런 접근은 당연하다 할 수 있습니다. 실제 증권사 시스템에 접속해서 실제 거래를 하는 것은 알고리즘 트레이딩과 무관한 내용이기 때문입니다.
요약하자면, 이 책은 머신러닝을 활용한 알고리즘 트레이딩 시스템 개발을 설명합니다. ‘실제 증권사 API를 이용하는 부분’은 다루지 않지만, 그것을 제외한 모든 부분을 다루고 있습니다.(그러한 접근이 맞다고, 저 또한 생각합니다.)
이 책에서 설명하는 머신러닝은 애초에 그렇게 만만한 내용은 아니었습니다. 예상컨대, 통계학은 아마도 수학은 싫지만 프로그래밍은 좋아하는 독자들에게 첫 번째 어려움으로 다가올 것입니다. 통계학의 관문을 통과했다면, 이젠 수 많은 머신러닝 관련 방법론에 압도당 할 것입니다. 이 책은 필요한, 혹은 많이 쓰이는 머신러닝 방법론을 최대한 설명하려고 노력하는 것으로 보입니다. 덕분에 앞으로 어떤 분야를 공부해야할 지 좋은 참고가 되었습니다.
개인적으로는, 머신러닝, 알고리즘 트레이딩 시스템이라는 2가지 주제에 대해서 입문 수준으로 잘 작성된 한 권의 책인것 같습니다.