파이썬으로 만드는 암호화폐 자동 거래 시스템

24시간 운영되는 나만의 스마트 트레이딩 시스템 만들기

암호화폐 트레이딩을 24시간 자신만의 방법으로 운영해 보고 싶은 분을 위한 책입니다.

트레이딩을 위한 데이터를 저장, 가공, 분석하는 방법까지 한 번에 배울 수 있으며, 파이썬을 이용해 시스템 개발에 필요한 내용을 암호화폐 트레이딩 사례를 통해 익힐 수 있습니다. 이 책의 내용을 처음부터 끝까지 따라 하다 보면 자신만의 트레이딩 시스템을 완성할 수 있으며, 암호화폐를 통한 재테크 노하우와 파이썬 프로그래밍이라는 두 마리 토끼를 모두 잡을 수 있습니다.

박재현

개발에 관련된 주제면 무엇이든 관심이 많습니다. 프로그래밍 언어로 자바, C, 파이썬, 그루비, 자바스크립트, 타입스크립트 등 다양한 언어를 사용하고 있습니다. 프로그래밍 경력이 늘면서 이제는 파이썬과 타입스크립트로 백엔드와 프런트엔드를 개발하는 데 중점을 두고 있습니다. 특히 파이썬은 저에게 개발자로서 중요한 전환점이 됐습니다. 이제까지 훌륭한 개발자가 만들어 둔 오픈소스를 사용해서 많은 도움을 받았다면 이제부터는 오픈소스에 기여하고자 합니다. 그리고 최근 몇 년 사이 유행하고 있는 머신러닝, 딥러닝에 많은 관심을 가지고 있습니다. 머신러닝은 개발자에게 또 다른 기회를 줄 것이라 생각합니다.

  • ▣ 1장: 암호화폐 자동 거래 시스템 프로젝트
    • 프로젝트의 진행 방향 설정
    • 개발 환경 구성
      • 버추얼박스 설치
      • 리눅스 설치
      • Virtualenv, virtualenvwrapper 설치
    • 파이썬 개발 환경 구성
      • Virtualenv 사용법과 가상 환경에서 패키지 설치
      • PyCharm 설치
      • 데이터 분석 도구 주피터
      • 소스코드 관리
    • 암호화폐 자동 거래 시스템의 기능
      • 시스템에 필요한 모듈 및 기능 구성
      • 전체 시스템의 구성
    •  
  • ▣ 2장: 프로젝트 시작하기
    • 프로젝트 생성
      • PyCharm에서 Virtualenv 사용하기
      • 설정에 필요한 내용은 config.ini로 모으자
    • 거래소 모듈 구현
      • tests 디렉터리 구성
      • 거래소 선택 전 고려사항
      • REST 소개
      • 코빗 거래소 구현
      • 코인원 거래소 모듈 구현
      • 빗썸 거래소
    •  
  • ▣ 3장: 정보의 저장, 삭제, 업데이트, 가공
    • MongoDB 설치
    • MongoDB에 저장 공간 생성
    • 데이터 가공
      • 데이터 입력
      • 데이터 조회
      • 데이터 업데이트
      • 데이터 삭제
      • 데이터의 집계 연산
    • MongoDB 파이썬 모듈 구현
      • MongoDB 환경설정 및 PyMongo 설치
      • MongoDB 모듈 구현
    •  
  • ▣ 4장: 거래 정보를 메신저로 보내기
    • 슬랙을 활용한 메시지 전송
      • API 키 발급
      • 오픈소스 패키지를 활용한 손쉬운 개발
      • 메신저 모듈 구현
      • 슬랙 테스트 케이스 구현
    • 텔레그램을 활용한 메시지 전송
      • 패키지 설치와 API ID 발급받기
      • 텔레그램 모듈 구현
      • 텔레그램 테스트 케이스 구현
    •  
  • ▣ 5장: 트레이딩 모듈 구현
    • 암호화폐 가격 데이터 분석을 위한 데이터 수집
    • 트레이딩 전략 구현
      • 트레이딩 모듈 구현 - 준비 작업
      • 트레이딩 모듈 구현하기 - 주문 상태 체크
      • 트레이딩 로직 구현 - 매수주문
    •  
  • ▣ 6장: 암호화폐 데이터 분석 및 백테스팅
    • pandas를 이용한 데이터 가공
      • pandas 자료구조
      • 기본적인 함수를 이용한 데이터 가공
    • 암호화폐 데이터를 활용한 차트 그리기
    • 백테스팅
      • zipline 설치
      • zipline 사용법
    •  
  • ▣ 7장: 시스템 구동 및 프로세스 관리
    • 주기적으로 잡을 실행하는 방법
      • 크론탭
      • 셀러리
      • 작업 생성
    • 셀러리를 이용한 암호화폐 데이터 수집
      • 액세스 토큰 호출 방식 개선
      • Supervisord
    • 프로세스 관리
      • Supervisord.conf 설정
      • 프로세스 상태 관리
    •  
  • ▣ 부록A: 클라우드 환경에서 프로젝트 운영하기
    • 애저에서 서버 생성
    • 구글 클라우드 플랫폼에서 서버 생성
    •  
  • ▣ 부록B: 소스 패키징
    •  
  • ▣ 부록C: 서버에 비밀번호 없이 SSH 로그인하기
    • 키 생성
    • 키 등록
    • SSH 연결
    • 애저에서 키 등록하기 c
    •  
  • ▣ 부록D: 코빗, 코인원, 빗썸 모듈 개선