손가락 하나 까딱하지 않는 주식 거래 시스템 구축

파이썬을 이용한 데이터 수집과 차트 분석, 매매 자동화까지

매일 주식만 바라보던 일상에서 해방되어 가족 또는 친구들과 행복한 시간을 보내길 바랍니다!

24시간 자동으로 주식을 분석하고 거래하는 시스템을 구축하는 방법을 배우고 나머지 시간은 더 멋지게 보내고 싶은 분들을 위한 책입니다. 프로그램을 처음 접하는 초보자부터 IT 업계에 종사하는 개발자까지 모두가 볼 수 있게 쉽게 구성하였으며, 저자가 실제로 사용 중인 주식 자동화 알고리즘을 기반으로 설명하고 있습니다.

 

★ 이 책에서 다루는 내용 ★

  • 증권사에서 제공하는 API로 주식을 분석하고 24시간 자동으로 매매하는 프로그램을 구축한다.
  • HTS의 조건검색식을 파이썬에서 사용하는 방법을 배운다.
  • 주식을 처음 접하는 독자를 위해서 시스템 구축에 필요한 내용을 기초부터 살펴본다.
  • 예제 코드와 함께 제공되는 동영상 강의를 통해서 빠르고 쉽게 학습할 수 있다
  • 매수 신호를 포착하는 백테스팅 분석법도 다룬다.

 

도서 상세 이미지

장용준

국립한국교통대학교에서 정보처리통신공학을 전공했고, 창작의 세계에 관심이 많아서 프로그램으로 창작물 구현하는 것을 좋아한다. SQL/NOSQL DB, 웹/앱, 빅데이터 시각화, 자동화 시스템 설계 등을 다루며 유튜브 ‘프로그램 동산’을 운영하고 있다.

  • ▣ 0장: 시작하기 전에
    • 0.1 프로젝트 소개
    • 0.2 프로젝트의 목표
    • 0.3 프로그램에 진행에 필요한 사항
    • 0.4 책의 구성
    • 0.5 책에서 다루지 않는 내용
    •  
  • ▣ 01장: 개발 환경 구성
    • 1.1 아나콘다 설치 및 가상환경 설정
      • 1.1.1. 64비트 버전의 아나콘다에서 32비트 가상환경 설정하기
    • 1.2 파이참 설치 및 설정
      • 1.2.1. 파이참 설치
      • 1.2.2. 파이참과 아나콘다 연동
    •  
  • ▣ 02장: 파이썬 기초 배우기
    • 2.1 파이참에서 폴더와 파일 생성하기
    • 2.2 데이터 출력, 변수와 포맷, 산수 익히기
      • 2.2.1. print로 데이터 출력하기
      • 2.2.2. 변수
      • 2.2.3. 산술 연산
      • 2.2.4. 연습 문제
    • 2.3 제어문
      • 2.3.1. if 조건문
      • 2.3.2. for 반복문
      • 2.3.3. while 조건문
      • 2.3.4. 연습 문제
    • 2.4 여러 개의 데이터를 리스트로 관리하기
      • 2.4.1. 튜플
      • 2.4.2. 리스트
      • 2.4.3. 딕셔너리
      • 2.4.4. 연습 문제
    • 2.5 클래스와 함수
      • 2.5.1. 함수(define)
      • 2.5.2. 클래스(Class)
      • 2.5.3. 연습 문제
    • 2.6 프로젝트 관리
      • 2.6.1. 프로젝트 생성 및 폴더 관리
    •  
  • ▣ 03장: 키움 API
    • 3.1 키움 API 설치
    • 3.2 API를 이용하는 데 필요한 PyQt5
      • 3.2.1. PyQt5를 왜 사용할까?
      • 3.2.2. 이벤트 루프가 만들어진 개념
      • 3.2.3. 싱글 쓰레드의 이벤트 루프란?
      • 3.2.4. PyQt5를 사용한 코드 구성 및 키움 API 사용하기
      • 3.2.5. 24시간 자동화 시스템의 동작 원리
    •  
  • ▣ 04장: 계좌 정보 가져오기
    • 4.1 키움 API로 키움증권에 로그인하기
    • 4.2 계좌번호 가져오기
    • 4.3 예수금 정보 가져오기
      • 4.3.1. KOA에서 예수금 싱글데이터 확인하기
      • 4.3.2. 예수금 정보 가져오기
    • 4.4 계좌에서 계좌평가잔고내역 가져오기
      • 4.4.1. 싱글데이터로 정보 처리하기
      • 4.4.2. 멀티데이터로 보유 종목 정보 처리하기
    • 4.5 계좌에서 미체결 종목 가져오기
      • 4.5.1. 미체결 종목 가져오기
      • 4.5.2. 시간 간격 주기
    •  
  • ▣ 05장: API를 이용해 투자 방식에 맞는 종목 분석하기
    • 5.1 코스닥 종목 가져오기
    • 5.2 일봉데이터 정보 가져오기
      • 5.2.1. 이벤트 루프의 시간 간격 체크
      • 5.2.2. 각 종목의 전체 정보 가져오기
    • 5.3 포트폴리오로 종목 분석
      • 5.3.1. 그랜빌의 매수 신호 제 4법칙으로 종목 분석
      • 5.3.2. 조건을 통과한 종목을 파일로 저장
    •  
  • ▣ 06장: 보유한 종목, 미체결 종목, 분석된 종목 합치기
    • 6.1 분석한 종목 가져오기
    • 6.2 보유 종목, 미체결 종목, 분석된 종목을 하나의 딕셔너리로 구성
      • 6.2.1. 하나의 딕셔너리에 모든 종목 합치기
      • 6.2.2. 종목별로 스크린 번호 할당하기
    •  
  • ▣ 07장: 실시간 종목 분석 및 매매
    • 7.1 자동으로 주식 시장의 시작과 종료 확인
      • 7.1.1. 장 시간을 체크하기 위한 이벤트 등록
      • 7.1.2. 장 시작과 종료 체크하기
      • 7.1.3. 스크린 번호의 상세 원리
    • 7.2 종목들을 실시간 등록할 때 스크린 번호 사용하기
    • 7.3 종목정보 실시간 체크
      • 7.3.1. 실시간 정보 데이터 가져오기
    • 7.4 실시간 매매조건 구성
      • 7.4.1. 지정가로 종목 매수하기
      • 7.4.2. 미체결 수량 매수 취소하기
      • 7.4.3. 시장가로 종목 매도하기
    • 7.5 종목 주문 후에 체결상태 구성하기
      • 7.5.1. 실시간 체결정보를 확인하기 위한 이벤트 등록
      • 7.5.2. 체결정보 데이터 받기
      • 7.5.3. 변경된 잔고내역 데이터 받기
      • 7.5.4. 서버에서 메시지 받기
    • 7.6 장 종료 후의 처리 구성하기
      • 7.6.1. 실시간 연결 모두 끊기
      • 7.6.2. 다음 날을 위한 종목 분석 들어가기
      • 7.6.3. 프로그램 종료하기
    •  
  • ▣ 08장: 문제해결 및 시스템 자동화
    • 8.1 로깅
      • 8.1.1. 로그의 기본 개념
      • 8.1.2. 커스텀 로그(Custom Log) 설정하기
    • 8.2 프로그램 운영 상황을 슬랙 메시지로 받기
    • 8.3 프로그램 실행 파일 만들기
      • 8.3.1. 파이썬 프로그램의 배치 파일 생성
      • 8.3.2. 배치 파일이 자동으로 실행되게 만들기
    • 8.4 프로그램 자동 실행 설정
    • 8.5 컴퓨터가 자동으로 켜지게 만들기
    •  
  • ▣ 09장: 조건검색 활용과 알고리즘 흐름도
    • 9.1 파이썬에서 조건검색 활용하기
      • 9.1.1. 조건검색에 필요한 함수 확인하기
      • 9.1.2. 조건식을 위한 이벤트 모음
      • 9.1.3. 조건검색 단일 조회 요청하기
      • 9.1.4. 조건검색 실시간으로 사용하기
    • 9.2 알고리즘 흐름도의 전체 모습 확인
      • 9.2.1. 구간별 함수 흐름도 파악하기
      • 9.2.2. 전체 도면 확인
    •  
  • ▣ 10장: 연습 문제 풀이
    •  

슬랙의 정책 변경으로 인한 내용 변경

이전까지는 슬랙에서 곧바로 토큰을 받아서 사용하도록 만들었는데, 해당 정책은 보안상의 이유로 더는 사용할 수 없습니다. 그래서 기존에 생성된 슬랙 채팅방에 슬랙 API를 연결하고 API에서 사용할 수 있는 권한을 직접 설정해서 토큰을 받아야 합니다. 다음은 기존에 봇을 생성하던 방식에서 여러 권한 가운데 메시지 전송 권한을 설정하는 방법으로 변경된 내용을 설명합니다.