본문 바로가기
한빛미디어

파이썬을 활용한 금융 분석 - 이브 힐피시

by 두재 2022. 4. 20.

모두들 알겠지만, 파이썬은 굉장히 대단한 언어이다. 간결히 말해 "사용하기 편하다"라는 장점만으로 이렇게까지 커질 수 있다는 것에 놀랍다. 파이썬의 간결함은 컴퓨터 공학을 전공하지 않은 많은 사람들이 코딩에 입문하고, 자신의 분야에 사용할 수 있도록 하였으며 이와 함께 어느 언어에서도 찾아볼 수 없는 수많은 다양한 패키지들이 존재한다. 덕분에 파이썬은 소위 못하는 게 없는 언어가 되었다. 내가 주로 사용하는 분야로만 보아도 머신 러닝과 데이터 사이언스는 물론이고 웹 크롤링, 텔레그램 봇을 만들거나 귀찮고 반복적인 일을 자동화하는 데 사용하기도 한다.

특히, 컴퓨터를 활용한 트레이딩은 굉장히 매력적이었었고 나도 한 때 빠져 있었던 분야이기도 하다. 쉽게 말하자면, 주식이나 코인을 컴퓨터가 대신해준다는 것인데, "나보다 기계가 더 잘하겠는데?"라는 생각이 들 쯔음 관심을 자동 매매에 관심을 가지게 된다. 그리고 저 생각은 감정에 휘둘리며 무지성 매매를 통한 파란불을 볼 때 주로 생각나게 된다.

물롤 거대한 금융회사들은 오래전부터 쓰고 있었을 것인데, 우리 개인 컴퓨터가 우리가 원하는 알고리즘대로 자동 매매를 수행한다는 것이 수익을 보든 손실을 보든 매력적인 것은 분명하다. 수익을 보면 나의 실력에 감탄하며 컴퓨터를 찬양할 것이고 손실을 보면 어차피 잃을 돈이었다고 합리화가 충분히 가능하기 때문이다.

위 책은 정말 바이블이다. 어쩌면, 지나치게 자세하다고 할 수 있다. 파이썬이라는 언어와 필요한 패키지들을 설명할 때에는 정말 언어를 아예 모르는 사람도 이해할 수 있을 정도로 설명을 해놓아 나에게는 불필요하다고 느껴졌다. 또, 퀀트 투자를 위한 여러 수학적/경제적인 지식을 전달할 때에는 자세해서 좋긴 한데, 정말 공부를 해야 하는 느낌이었다. 정말 나의 주관대로 써놓았는데, 어찌 되었건 설명이 자세한 것은 좋은 것이다. 나 같은 경우는 코딩과 자동 매매에 대해 어느 정도 지식이 있지만, 또 경제적인 지식은 단 하나도 없는 사람이라 저렇게 느낀 것이다.

 

 


목차가 정말 길다. 내용이 참 많다는 뜻이다. 목차가 너무 길어 몇 장의 사진으로 가져와 보았다.

 

우선 파이썬에 대해 소개하는 부분인데, 2장이나 더 있다!

파이썬 부분은 설명이 꽤나 자세해서 사실 나도 읽어볼 만한 부분이 조금 있었다. 도커에 대한 설명과 사용법, 그리고 최근에는 자주 사용하지 않아 잊어버린 pandas의 많은 함수들은 도움이 되었다. 게다가 마지막 부분에서는 머신 러닝까지 짤막하게 다루는 것이 꽤 놀라웠다. 물론 이 부분은 4장 정도로 가볍게 훑고 가지만, 어찌 되었건 최신 트렌드를 빠르게 반영하고 있다고 느껴졌다.

 

이제 본격적인 알고리즘 트레이딩에 대한 내용이다.

매매 전략은 자동 매매에서 제일 핵심이라고 할 수 있다. 어차피 코딩이나 데이터 다루는 것은 부가적인 것이고 그렇게 어렵지 않은데, 좋은 매매 전략을 짜는 것은 어려우면서 수익과 직결되는 요소이기 때문이다. 그리고, 매매 전략이 참 그런 것이, 내가 만들려고 하면 내가 아는 것이 없고 인터넷에서 좀 찾아보더라도 따라서 만들거나 바로 사용할 수 없는 경우가 많다. 블로그나 유튜브의 강좌를 보려고 해도 내용이 중간에 끝나버린다거나 너무 루즈한 등.. 아무튼 여러 핑계들이 많다.

위 책에서는 다양한 전략을 정확하고 쉽게 설명해 놓았다. 충분히 읽고 이해할 만하다고 할 수 있다. 여기서 아까 전 머신 러닝에 대해 간략하게나마 짚은 이유가 나오는데, 15.7 심층 신경망이라는 챕터가 있다. 이곳에서 실제 코드와 함께 설명을 하게 되는데, scikit-learn과 TensorFlow를 사용한다. scikit-learn이 파이썬을 활용한 머신 러닝을 정말 입문하는 사람이 다루기 쉽다는 것은 알지만, PyTorch가 없다는 점과 설명이 이곳에서도 조금 부족한 점이 아쉬웠다. 전반적으로 머신 러닝 부분은 맛보기 수준으로 들어 있는 것 같고 뭔가 넣어야 되어서 넣어놓은 느낌이 있었다. 한 가지 생각해볼 점은, 아직 머신 러닝이 그렇게 알고리즘 매매에서 주로 사용되지 않을 수는 있다는 점이다. 수학과 경제학적인 지식을 바탕으로 기존의 정교하게 설계된 여러 알고리즘들에 비해 아직 이 분야에서 인공 지능은 많이 연구가 되지 않은 것 같다.

 

마지막 챕터는 시뮬레이션과 평가 등의 내용을 다루고 있는데, 사실 조금 어려웠다. 배경 지식이 전혀 없는 상태에서 읽기는 조금 어려운 것 같다. 물론 내용 자체가 어려워서 그렇지 설명이 부실하거나 난해한 것은 아니다.

 


"파이썬을 활용한 금융 분석"은 컴퓨터 공학에서 굉장히 유명한 오레일리 회사에서 나온 책을 번역한 것으로 믿을 만하다고 할 수 있다. 위 책을 읽으면 일단 자동 매매를 구현할 수준이 될 수 있다. 내용은 충분히 자세하지만, 후반부의 경제학적인 내용은 원래가 어려운 편이라 자동 매매를 공부하고자 하는 의지가 있어야 할 것 같다.

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."