서브메뉴

본문

누구나 할 수 있다. 비트코인 자동매매 (Larry Wiliams의 변동성 돌파 전략을 활용한)
누구나 할 수 있다. 비트코인 자동매매 (Larry Wiliams의 변동성 돌파 전략을 활용한)
저자 : 유부장|조대표
출판사 : 파이스탁
출판년 : 2019
정가 : 20000, ISBN : 9791196608804

책소개


본서는 최근 인기 있는 프로그래밍 언어인 파이썬을 사용하여 국내 3대 거래소(코빗, 빗썸, 업비트) 및 국외 거래소(바이넨스)에서 비트코인을 자동매매하는 프로그램을 개발하는 방법을 다룹니다. 프로그래밍 경험이 없는 일반인을 대상으로 파이썬 기초 문법부터 시작하여 24시간 실시간 자동 매매 프로그램 개발까지 핵심을 다루고 있습니다. 특히 Larry Williams의 변동성 돌파 전략을 백테스팅을 통해 검증하고, 국내 거래소 API를 사용해서 실시간 자동 매매가 가능한 프로그램 수준까지 개발합니다. 또한, GUI 프로그램 개발에 사용되는 PyQt와 최근 다양한 분야에서 사용되고 있는 웹 스크래핑을 다루고 있어 파이썬을 처음 배우는 분들이 유익하고 재미있게 프로그래밍을 배울 수 있도록 합니다. 책에서 설명하는 모든 프로젝트의 소스 코드를 제공합니다.

목차


1. 파이썬 문법-1
1.1. 파이썬 시작하기
1.1.1. 수업 소개
1.1.2. 파이썬
1.1.3. 왜 파이썬인가?
1.1.4. 파이썬 설치하기
1.1.5. Spyder 사용하기
1.1.6. 연습 문제
1.2. 변수와 문자열
1.2.1. 파이썬 계산기
1.2.2. 변수 (Variable)
1.2.3. 변수 이름 짓기
1.2.4. 파이썬 문자열
1.2.5. 변수와 문자열
1.2.6. 문자열 인덱싱
1.2.7. 문자열 슬라이싱
1.2.8. 음수 인덱싱/슬라이싱
1.2.9. 문자열 합치기
1.2.10. 문자열의 길이
1.2.11. 연습 문제
1.3. 파이썬 자료구조
1.3.1. 자료구조란?
1.3.2. 리스트 (list)
1.3.3. 리스트 인덱싱
1.3.4. 리스트 수정
1.3.5. 리스트 슬라이싱
1.3.6. 리스트 삽입
1.3.7. 리스트 데이터 삭제
1.3.8. 최댓값/최솟값/평균값
1.3.9. 파이썬 튜플 (tuple)
1.3.10. 튜플 생성
1.3.11. 튜플 인덱싱과 슬라이싱
1.3.12. 튜플 추가/삭제
1.3.13. 딕셔너리(dict)
1.3.14. 딕셔너리 생성
1.3.15. 딕셔너리 인덱싱
1.3.16. 딕셔너리에 데이터 추가하기
1.3.17. 딕셔너리 데이터 수정
1.3.18. 딕셔너리에서 데이터 삭제
1.3.19. 딕셔너리에서 key 값만 얻기
1.3.20. 딕셔너리로부터 value 얻기
1.3.21. 연습 문제

2. 파이썬 문법-2
2.1. 파이썬 조건문
2.1.1 Spyder Editor 사용하기
2.1.2 if 문
2.1.3 if/else
2.1.4 if/elif/else
2.1.5 비교연산자와 논리연산자
2.1.6 연습문제
2.2. 반복문
2.2.1 for 문
2.2.2 for 와 range
2.2.3 for 와 딕셔너리
2.2.4 반복문과 if
2.2.5 while 문
2.2.6 연습문제
2.3. 함수
2.3.1 파이썬 함수 정의하기
2.3.2 함수는 이름표
2.3.3 함수 호출 이해하기
2.3.4 연습 문제
2.4. 모듈
2.4.1 모듈이란?
2.4.2 모듈 만들기
2.4.3 모듈을 import 하는 방법
2.4.4 datetime 모듈
2.4.5 request 모듈
2.4.6 연습문제

3. 클래스와 PyQt
3.1. 클래스 (1)
3.1.1. 절차적 프로그래밍 vs. 객체 지향 프로그래밍
3.1.2. 클래스 정의 및 객체 생성
3.1.3. 클래스에 메서드 추가하기
3.1.4. 붕어빵에 앙꼬 넣기
3.1.5. 생성자
3.1.6. 연습문제
3.2. 클래스 (2)
3.2.1. 클래스 상속
3.2.2. 클래스 속성 참조 순서
3.3. PyCharm
3.3.1 PyCharm 소개
3.3.2. PyCharm 설치
3.3.3. PyCharm 실행하기
3.3.4. PyCharm 단축키 설정
3.4. PyQt 기초
3.4.1. PyQt 소개
3.4.2. 클래스 복습
3.4.3. PyQt 기초
3.4.4. 위젯과 윈도우
3.4.5. 나만의 윈도우 클래스
3.5. PyQt 윈도우 꾸미기
3.5.1. 윈도우 크기 조절
3.5.2. 윈도우 타이틀바 변경하기
3.5.3. 버튼 추가하기
3.5.4. 버튼에 클릭 이벤트 추가하기
3.6. Qt Designer
3.6.1. Qt Designer 사용하기
3.6.2. UI 파일 사용하기
3.6.3. 이벤트 추가하기
3.6.4. 코빗 시세 조회기 만들기
3.6.5. QTimer

4. 웹스크래핑과 판다스
4.1. 웹스크래핑-1
4.1.1. 웹크롤링과웹스크래핑
4.1.2. IP주소
4.1.3. 웹의 3요소
4.1.4. HTML
4.1.5. CSS 및 CSS Select
4.1.6. 연습문제
4.2. 웹스크래핑-2
4.2.1. HTML 문서 다운로드 및 파싱
4.2.2. ID가 없는 태그에 대한 스크래핑
4.2.3. RestfulAPI
4.2.4. JSON
4.3. Pandas Seris
4.3.1. 판다스(Pandas) 란?
4.3.2. Series 생성
4.3.3. Series 생성할때 인덱스를 지정하기
4.3.4. Series 인덱싱/슬라이싱
4.3.5. Series 추가/삭제
4.3.6. Series의 연산
4.4. Pandas DataFrame
4.4.1. DataFrame 생성
4.4.2. DataFrame 생성-2
4.4.3. DataFrame 인덱싱/슬라이싱
4.4.4. DataFrame 추가하기
4.4.5. 칼럼 시프트
4.4.6. 연습문제

5. 상승장 알리미
5.1. pybithumb
5.1.1. pybithumb 모듈
5.1.2. 가상화폐 티커 목록 얻기
5.1.3. 현재가 얻기
5.1.4. 거래소 거래정보
5.1.5. 호가
5.1.6. 여러 가상화폐에 대한 정보 한 번에 얻기
5.1.7. 예외처리
5.1.8. 연습문제
5.2. 상승장 알리미(1)
5.2.1. 이동평균을 사용한 상승장/하락장 구분
5.2.2. 거래소 과거 시세 얻어오기
5.2.3. 이동평균 계산하기
5.2.4. 상승장/하락장 구분하는 함수 구현하기
5.2.5. 가상화폐별 상승장/하락장 판단하기
5.3. 상승장 알리미(2)
5.3.1. QT Designer를 이용한 UI 만들기
5.3.2. UI 불러오기
5.3.3. 타이머 만들기
5.3.4. 가상화폐 이름 출력하기
5.3.5. 나머지 데이터 추가하기
5.4. 상승장 알리미(스레드버전)
5.4.1.스레드 기본코드
5.4.2.스레드 적용하기

6. 변동성 돌파 전략구현
6.1. 빗썸 Private API
6.1.1. Bithumb API 신청하기
6.1.2. Bithumb 클래스생성
6.1.3. 잔고조회.
6.1.4. 매수
6.1.5. 매도
6.1.6. 주문 취소
6.2. 변동성 돌파 전략 구현
6.2.1. 변동성 돌파전략
6.2.2. 단계-1: 주기적으로 현재가 얻어오기
6.2.3. 단계-2: 목표가 계산하기
6.2.4. 단계-3: 자정에 목표가 갱신하기
6.2.5. 단계-4: 매수 시도
6.2.6. 단계-5: 매도 시도
6.2.7. 단계-6: 보안 및 예외처리
6.3. 변동성 돌파 + 상승장 투자전략 구현
6.3.1. 이동평균
6.3.2. 매수조건 업데이트

7. 백테스팅
7.1. 백테스팅을 위한 데이터 준비하기
7.1.1.가상화폐 일봉 데이터 얻기
7.1.2. DataFrame 객체를 엑셀로 저장하기
7.2. 변동성 돌파 전략 백테스팅
7.2.1. 레인지 계산하기
7.2.2. 목표가 계산하기
7.2.3. 매수, 매도 그리고 수익률
7.2.4. 수수료 및 슬리피지
7.2.5. 가장 좋은 k 값구하기
7.2.6. MDD(Maximum Draw Down) 계산하기
7.3. 변동성 돌파+상승장 전략 백테스팅
7.3.1. 변동성 돌파+상승장 전략 백테스팅
7.3.2. 2018년도 기간수익률이 높은 코인찾기

8. 가상화폐 거래소
8.1. 업비트(Upbit)
8.1.1. API 사용신청
8.1.2. pyupbit 설치하기
8.1.3. 티커 조회
8.1.4. 현재가 조회
8.1.5. 과거 데이터 조회
8.1.6. 호가 조회
8.1.7. 잔고 조회
8.1.8. 매수/매도
8.1.9. 주문 취소
8.2. 코빗(Korbit)
8.2.1. API 사용신청
8.2.2. pykorbit 설치하기
8.2.3. 티커 조회
8.2.4. 현재가 조회
8.2.5. 과거 데이터 조회
8.2.6. 호가 조회
8.2.7. 잔고 조회
8.2.8. 매수/매도
8.2.9. 주문 취소
8.3. 바이낸스(Binance)
8.3.1. API 사용신청
8.3.2. ccxt 설치하기
8.3.3. 티커 조회
8.3.4. 현재가 조회
8.3.5. 과거 데이터 조회
8.3.6. 호가 조회
8.3.7. 잔고 조회
8.3.8. 매수/매도
8.3.9. 주문 취소