jrcfore***
2020-08-17

이 책은 웹 스크레이핑으로 증권 데이터를 주기적으로 자동 수집, 분석, 자동 매매, 예측하는 전 과정을 파이썬으로 직접 구현한다. 그 과정에서 금융 데이터 처리 기본 라이브러리(팬더스)부터 주가 예측에 딥러닝 라이브러리(텐서플로)까지, 증권 데이터 분석에 필요한 핵심 라이브러리를 빠짐없이 다룬다.
[리뷰 서문]
동학 개미 혁명 이후, 대한민국 사회는 한때(지금도 그렇지만) 주식으로 한바탕 소동이 있었다. 그때 필자가 생각했던 것은 자동으로 이러한 주식 시세를 분석해주고 데이터를 수집해주고 이에 맞춰서 매매해주는프로그램이 있다면 얼마나 좋을까 하는 것이었다. (물론 시중에 금융사를 통해 제공되는 다양한 서비스들중에 이러한 서비스도 존재하는 것으로 알고 있다.) 그런데 나의 마음을 세상이 알아주는 것이였을까? 그 시기에 딱 맞춰서 출간된 책이 바로 '파이썬 증권 데이터 분석'이란 책이였다. 책의 겉표지만 봐도 아~ 이 책은 주식과 관련된 책이구나~ 라는 사실을 깨달을 수 있었다. 정말 책 겉표지에 있는 차트처럼 나의 주식도 저렇게 로켓처럼 샘솟아친다면 얼마나 행복할까라는 즐거운 마음으로이 책을 리뷰한다.
【어떤 독자를 위한 책인가】
'파이썬 증권 데이터 분석' 이 책은 첫째도 둘째도 셋째도 주식에 관해 관심이 있는 사람이 읽어야 하고 거기에 더해 프로그래밍에 대해 비교적기본적인 지식을 갖춘 사람이어야한다. 왜 첫째 부터 셋째까지 주식에 관해서 강조했냐면 주식에 관심이없는 채로 이 책을 읽기에는 책의 가치가 너무 아깝기 때문이며 덤으로 학습 효율도 여타 다른 프로그래밍 책에 비해 떨어질 것이라 생각되기 때문이다.
또한 '증권 데이터 분석' 책을읽으면서 가장 유념해야할 부분은 이 책은 우리에게 데이터 분석이라는 훌륭한 툴을 만드는 방법, 예측시스템을 만드는 방법을 가르쳐줄 뿐! 이 책이 우리에게 돈을 벌어주고 우리의 아름다운 주식을 쑥쑥 성장시켜주는역할을 하지 않는 다는 점이다. 이 부분을 분명 명심해서 공부해야 할것을 필자 역시 강조하고 싶다. (저자도 물론 강조하고 있다.)
정말 만약 이 책이 우리에게 100%의 승률로 돈을 벌어줄거라는 생각으로공부를 시작한 분이라면 당장 책을 덮고 길에있는 로또를 구매하시길 추천한다. 차라리 그 편이 손실도적고 심리적으로 안정될 수 있기 때문이다.
【책의 구성】 '파이썬 증권 데이터 분석'의 책의 구성은 어떠한가.
이제는 한빛미디어도 제이펍처럼 베타리딩 시스템을 도입해서인지, 책의 서두에 해당 도서를 사전에 읽은 사람들의 다양한 리뷰가 도입되어있다. 역시나증권(주식) 도 서 답게 주식과 관련지어 해당 책의 우수함을설명하는 커멘트가 여러개 달려있었다. (단, 이부분에서도주식에 관해서 사전 지식이 있을 것, 그리고 어느정도 CS에관한 전반적인 지식이 있을 것을 강조하고 있다.)
이제 책의 내용으로 들어가 보면 다음과 같다. 일단 책은 1장에서 증권(주식)의시작과 역사에 대해 논하고 있다. 배경지식을 안다는 것은 그만큼 학문의 기초를 알수 잇다는 것이므로해당 도서를 읽는 분이라면 꼭 읽고 넘어가지.
2장에서는 파이썬에 대해서 다룬다.기초 + 이 책에서 다루는 기술적인 내용들 중심이다. 단여타 파이썬을 다룬 전문서적들에 비해서는 깊이가 떨어지므로 파이썬을 공부하겠다는 분들은 파이썬 만을 다룬 책을 사서 공부하길 권한다.
3장에서는 넘파이와 팬더스를 이용한 데이터 분석에 대해서 배운다. 결국 주식은 어찌보면 숫자의 흐름, 논리의 흐름이다. 그만큼 수학과 데이터의 땔래야 땔 수 없는 연예를 시작해야한다는 말로 해석하면된다. 그렇기에 이장에서는 다양한 분석 방법과 해당 라이브러리들의 활용법 등을 배운다. (이 부분에서 필자는 감탄했다. 세상이 진짜 너무 쉬워졌다. 예전엔 일일이 다 만들었는데..)
4장은 웹 스크래핑을 통한 원하는 주식에 대한 수집에 관해서 다루고있다. 이 부분을 통해서 꼭 주식이 아니더라도 관련 데이터에 대한 스크래핑 기술을 익힐 수 있으므로꼭 깊게 이해하고 가도록 하자. (덤으로 '뷰티풀 수프' 라는 도구에 관해서도 학습할 수 있다.)
5장부터는 위에서 배운 것들을 모두 응용하여 API와 DB를 구축하는 것을 배운다. 전부분도 물론이지만 본격적으로 CS에 관한 기본기가 없으면 이해하기어려운 부분이다. 그러므로 반드시 CS에 관한 기본기를 어느정도익혀두고 해당 장을 공부하도록 하자.
6장은 주식에 관한 어느정도 개념이 있어야 이해하기 좋다. 필자도 이부분에서 내용을 전부 이해하는데에 시간이 걸렸다. 이를이해하기 위해서 주식책 관련 책을 7권을 공부하고 나서야 편하게 책이 읽혀졌으니말이다.(물론 7권까진 아니더라도 금융(주식)과 관련된 잘 정리된 책 1권만으로도 잘 이해할 수 있을것으로 예상된다.) 무엇보다 이번장에서 실질적인 매매전략과 관련된 다양한 함수와 시스템을 전장에서 구현했던 API를 참고하여 구현한다. 따라서5장의 내용을 꼼꼼히 잘 구현하고 학습하도록 하자.
7장은 이번 장에서는 드디어 웹서버인 장고를 붙인다. (장고에 대해서 딥하게 이해하고 싶으신 분은 한빛미디어에 다양한 장고 관련 책이 있으므로 해당 도서를 참고하시길바란다.) 이때 다양한 개발 기법 MVC MPV 등에 관해서배우게 되고 ORM 등에ㅢ 개념에 대해서 배울수 있다. (개인적으로필자는 스프링을 선호해서 나중에 해당 기능들을 스프링으로 파싱해볼까도 생각중이다. 물론 numpy와 팬더스 같은 훌륭한 기능들을 java도 재공한다면 말이다..) - 이 장은 퀀트 투자의 핵심인 밸트레이더를 활용하는 방법을 배우므로 앞부분은 그냥 넘어가도 해당 부분은꼭 읽어보도록 하자.
8장은 자동 매매 시스템을 도입하는 것을 배우게 된다. 이때 대신 증권의 크레온 API를 사용하게 된다. 그러므로 아주 신중 또 신중을 기해서 구현해야한다. 이때부터는 본인의알고리즘이 어떻냐에 따라서 순익, 순채무 등이 결정되기 때문이다. 건투를빈다 + 덤으로 스케쥴러를 붙이는(설정하는) 기능에 대해서도 배운다.
9장은 딥러닝을 이용한 주가 예측을 배운다. 솔직히 필자는 증권에 딥러닝을 붙이는건 아직은 아니라고 생각해서 해당 장은 그냥 넘어갔다. 인간들도 예측 못하는 것을. 딥러닝이 예측가능할까? 라는 부분에 있어서 필자는 회의적이기 때문에 그냥 가볍게 읽고 넘어갔다. 물론머지않은 미래에 인간들 보다 컴퓨터가 더 예측을 잘하는 순간이 오긴 올것 같다. 그때는 과연 증권(주식이)이 의미가 있을까? 아니솔직히 인간의 생존은 해있을까? 라는 의구심이 든다.
물론 그냥 지표를 분석하는 도구로 이용하는 수준이라면 아주 땡큐다~ (책도도구의 한 수단으로 사용하고 있는 수준이다.)
【파이썬 증궈 데이터 분석을 읽으며…….】
솔직히 이번 리뷰 도서는 특정 부분을 반복해서 읽었던 부분이 많았다. 무엇보다 필자도 모르는 주식 용어와 금융 용어들이 곳곳에 있었고 그럴때 마다 인터넷에서 해당 단어들을 크롤링하거나책에서 찾아 공부하며 리뷰를 작성하였기 때문이다. 그렇기에 더욱더 가치있고 배운게 많았던 도서인것 같다.
또한 금융 취약국인 우리 나라 사람들에게 큰 교훈과 가르침을 주는 도서였던 것 같다. 단순 프로그램 작성에서 끝나지 않고 프로그램에 금융을 더함으로써 프로그래머들 역시 금융에 관해 참여할 수 있는환경을 제공해주는 훌륭한 책이기 때문이다. 한국의 노인 빈곤율은 '존리의부자되기 습관'에서 언급한 것처럼 절대적으로 높은 수치를 자랑하고 있다.(물론 일본도 상당하다) 그 이유는 우리가 살아가는 자본주의 시스템사회에 대해서 재대로 이해하지 못하고 있기 때문이며, 교육 시스템이100년전의 쓸대 없는 멍청한 방식을 고수하고 있기 때문이다. 더욱이!!! 자본 주의 시스템의 꽃이자 핵심인 금융과 자본의 관리에 대해서 정규 교육과정에 포함이 안되어있으니 말이다! (요즘 교육과정은 잘 몰라서.. 만약 포함되어있다면 죄송하다는 말씀을..)
그렇기에 금융에 조금이라도 관심이 있었던 분이라면 꼭 해당 도서를 읽어봤으면 좋겠다. 솔직히 금융(주식)에관해 전문적으로 다루는 책이 아니다 보니, 해당 내용면에서는 크게 부족한 부분이 있다. 하지만 해당 도서를 학습하다보면 호기심이 생기고 호기심이 생긴다는 것은 자신도 모르게 금융에 한발짝 다가선것임을 의미한다.
이 도서를 통해 우리들(프로그래머들)의자본적 독립을 쟁취하는 발판으로 삼았으면 한다.