증권사 API 사용, 매매 전략 구현, 실전 투자 전환까지
누구나 파이썬을 이용하여 주식 자동매매 시스템을 만들 수 있다!
쉽게 따라 만드는 파이썬 주식 자동매매 시스템
(박준성 지음, 길벗)
내가 파이썬, 그리고 주식, 자동매매에 관심을 갖게된 이유가 몇 가지 있다.
- 재정적으로 힘겹게 살고 싶지 않다. 여기서 탈출할 뭔가가 필요한데...
- 주식투자를 시작하고 싶은데 잘 모르겠다. 어설프게 시작하여 심리 싸움에 말려들어 뇌동매매하고 싶지 않다.
- 주식 장이 열리는 시각은 보통 본업에 종사하고 있을 시간. (지금은 잠시 쉬고 있지만) 본업에 충실하려면 두 가지를 병행하기 어렵다.
- 특정 조건에 도달하면 컴퓨터가 알아서 매매를 해준다면...
- 그리고 가장 중요한 이유! 학생들을 위한 재미있는 교육 컨텐츠를 만들어볼 수 있을 것 같다는 기대감 때문이다. 파이썬(컴퓨터, 과학, 기술) + 경제(주식, 증권, 혹은 가상화폐) + 수학, 통계(이평선, RSI 같은 각종 통계 지표)를 통합적으로 다뤄볼 수 있지 않을까 하는 기대가 있다.
그래서 파이썬 주식 자동매매, 파이썬 가상화폐 자동매매에 관심을 갖고 여러 책들과 자료들을 찾아서 보고 있다. 그러다 좋은 기회가 생겨 <쉽게 따라 만드는 파이썬 주식 자동매매 시스템> 책을 살펴볼 수 있게 되었다.
이 책에서 다루는 내용은 크게 다음의 네 가지이다.
- 개발 환경 구축 및 파이썬 기초 문법
- 키움증권 API 사용 방법
- 실전매매 전략 설명
- 전략을 구현한 프로젝트
1장에서는 개발 환경 구축에 대해 설명하고 있다. 파이썬 관련 책들마다 조금씩 파이썬 사용환경이 다른데 이 책에서는 아나콘다와 파이참(+ 아나콘다 가상 환경)을 사용한다.
2장에서는 파이썬의 기초 문법을 다룬다. 변수, 자료형, 조건문, 반복문, 함수, 클래스, 모듈과 패키지, 예외 처리 등 파이썬의 기초적인 내용을 전반적으로 쭉 훑어준다. 파이썬 프로그램을 처음 접하는 사람들도 1장과 2장을 보면서 기초적인 내용을 충분히 익혀볼 수 있다. 조금 더 파이썬의 기초를 쉽게 익혀보고 싶으면 "모두의 파이썬" 같은 책을 먼저 참고해봐도 좋을 것 같다. (물론 "모두의 파이썬" 만으로는 한계가 있다. 오히려 파이썬 주식 자동매매 시스템이 더 고급이자 필수 요소들을 더 많이 다루고 있어서 여러 방법으로 파이썬의 기본기를 잘 갖춰두면 좋을 것 같다.)
3장에서는 키움증권에서 제공하는 Kiwoom API 사용법에 대해 다룬다. 친절하게 키움증권 계좌개설 방법을 설명해주늑 것부터 시작하여 Open API 내려받는 법, KOA Studio (Kiwoom Open API+ : API를 테스트해볼 수 있는 환경을 제공하는 프로그램), PyQt5, 키움증권 로그인 등 키움증권 자동매매 프로그램 개발을 시작하기 위한 준비 작업들을 해볼 수 있다. 이어서 가격 정보(일봉), 예수금 정보를 얻어오고, 주문 접수 및 체결 확인, 주문 정보, 잔고, 실시간 체결 정보 등을 얻어오는 방법들을 배워볼 수 있다. 책 전체를 통틀어 3장의 분량이 가장 많다. 여기까지 오면 실전매매 프로그램을 개발할 준비는 끝난다.
4장은 아주 짧은 장이다. 이 책에서 개발할 매매프로그램의 실전매매 전략을 소개한다. 이 책에서는 RSI(2)를 기반으로 한 역추세 전략을 사용한다. RSI (Relative Strength Index) 지표를 활용하여 매수, 매도 조건을 설정하고 이에 따른 백테스팅 결과를 소개한다. (* 물론 이 전략이 수익을 보장하지는 않는다!)
마지막 5장에서는 이 책의 최종 목적인 매매프로그램을 완성한다. 이를 위해 SQLite 데이터베이스 사용법, 데이터 크롤링도 간단히 익힌다. 프로그램 개발 전반의 과정을 익히고 마지막에 라인(LINE)을 통한 알림 기능까지 구현해본다. 와우!
책 제목에 "쉽게 따라 만드는" 이라는 말이 붙어서 '정말 쉽게 만들 수 있는가?'라는 질문을 해보면 반은 맞고 반은 틀린 말 일수 있겠다는 생각을 해본다. 차근차근 책을 읽으면서 책의 설명대로 따라하다보면, 또는 출판사에서 제공하는 예제 소스들을 받아서 공부해보면 하나의 완성된 프로그램을 만들어 볼 수 있다. 이런 관점에서는 정말 쉽게 만들 수 있는 것 같다.
그러나 자동매매 프로그램을 만드는 프로젝트 자체가 큰 편이라 코드를 정교하게 구조적으로 만드는 것, 유지, 보수, 개선하는 것, 다양한 매매 알고리즘을 적용해보는 것 등 프로그램을 온전히 나의 것으로 만들기 위해서는 많은 경험과 공부가 필요하다. 아마도 퀀트투자 관련 책들을 같이 공부하다보면 어느 정도 나에게 맞는 투자법도 찾아볼 수 있지 않을까한다. 그러다보면 파이썬 실력도 늘어있겠지...
그리고 저자가 운영하는 개인 블로그(https://jsp-dev.tistory.com/)를 통해서도 궁금한 점들을 묻고 답할 수 있는 것도 좋았다.
이 서평은 길벗 출판사 17차 개발자 리뷰어 활동을 통해 책을 제공받아 작성하였습니다. 평소에 관심을 가지고 있던 분야라 즐겁게 읽고 솔직하게 작성하였습니다.
댓글