Out of Print

파이썬을 이용한 딥러닝/강화학습 주식투자

파이토치와 케라스를 활용한 인공지능 퀀트 투자 시스템
$36.23
SKU
9791158393205

 

본 상품은 품절 / 절판 등의 이유로 유통이 중단되어 주문이 불가합니다.

이용에 불편을 드려 죄송합니다.

[Free shipping over $100]

Standard Shipping estimated by Fri 05/2 - Thu 05/8 (주문일로부 10-14 영업일)

Express Shipping estimated by Tue 04/29 - Thu 05/1 (주문일로부 7-9 영업일)

* 안내되는 배송 완료 예상일은 유통사/배송사의 상황에 따라 예고 없이 변동될 수 있습니다.
Publication Date 2022/03/30
Pages/Weight/Size 175*235*30mm
ISBN 9791158393205
Categories IT 모바일 > 프로그래밍 언어
Description
강화학습은 스스로 학습하는 머신러닝 기법으로서 주식 데이터 학습에 잘 적용되는 기법이다. 이 책에서는 파이썬을 이용한 강화학습 기반의 주식투자 시뮬레이션 프로그램을 개발하는 방법을 살펴보고, 이를 실전에 활용해 볼 수 있도록 이론과 코드 수준에서 상세한 설명을 덧붙였다. 이 책을 통해 딥러닝과 강화학습을 이해하고 이를 바탕으로 주식투자를 비롯한 다양한 도메인에 활용할 수 있을 것이다.
Contents
01장: 배경 이론 1 - 금융 데이터 분석

1.1 금융 데이터란?
1.2 금융 데이터 분석의 필요성
1.3 금융 데이터 분석 방법
___1.3.1 기본적 분석
___1.3.2 기술적 분석
___1.3.3 정서 분석
___1.3.4 종합 분석
1.4 전통적인 퀀트 투자 방법
___1.4.1 퀀트 투자 역사
___1.4.2 저 PER+저 PBR+저 PCR 전략
___1.4.3 조셉 피오트로스키 F-Score
1.5 퀀트 투자 트렌드
1.6 포트폴리오 평가
1.7 이번 장의 요점

02장: 배경 이론 2 - 딥러닝이란?

2.1 딥러닝 개요
___2.1.1 딥러닝의 정의와 역사
___2.1.2 딥러닝이 최근에 주목받는 이유
___2.1.3 딥러닝으로 풀고자 하는 문제
2.2 딥러닝 발전 과정
___2.2.1 퍼셉트론
___2.2.2 인공 신경망
___2.2.3 다양한 활성화 함수 출현
___2.2.4 출력층에서 활성화 함수를 사용
___2.2.5 심층 신경망
2.3 딥러닝에 필요한 핵심 기술
___2.3.1 오차 역전파 기법
___2.3.2 최적해 탐색 기법
___2.3.3 과적합 해결 기법
2.4 고급 인공 신경망 구조
___2.4.1 순환 신경망
___2.4.2 LSTM 신경망
___2.4.3 합성곱 신경망
2.5 딥러닝 적용 사례
___2.5.1 기계 번역
___2.5.2 음성 인식
___2.5.3 이미지 인식
2.6 이번 장의 요점

03장: 배경 이론 3 - 강화학습이란?

3.1 강화학습의 기초가 된 마르코프 의사 결정 과정
___3.1.1 마르코프 가정
___3.1.2 마르코프 과정
___3.1.3 마르코프 의사 결정과정
3.2 상태 가치 함수와 상태-행동 가치 함수
___3.2.1 상태 가치 함수(state-value function)
___3.2.2 상태-행동 가치 함수(action-value function)
3.3 벨만 방정식
___3.3.1 벨만 기대 방정식(Bellman expectation equation)
___3.3.2 벨만 최적 방정식(Bellman optimality equation)
3.4 MDP를 위한 동적 프로그래밍
___3.4.1 정책 반복(policy iteration)
___3.4.2 가치 반복(value iteration)
___3.4.3 동적 프로그래밍의 한계와 강화학습이 필요한 이유
3.5 주요 강화학습 개념
___3.5.1 강화학습 표기법(notation)
___3.5.2 Model-based vs. Model-free
___3.5.3 예측(prediction)과 제어(control)
___3.5.4 부트스트랩(bootstrap)
___3.5.5 On-policy vs. Off-policy
___3.5.6 이용(exploitation)과 탐험(exploration)
3.6 주요 강화학습 기법
___3.6.1 몬테카를로 학습(Monte-Carlo learning, MC)
___3.6.2 시간차 학습(temporal-difference learning, TD)
___3.6.3 Q-러닝(Q-learning, QL)과 DQN(deep Q-network)
___3.6.4 정책 경사(policy gradient, PG)
___3.6.5 액터-크리틱
___3.6.6 A2C(advantage actor-critic)
___3.6.7 A3C(asynchronous advantage actor-critic)
___3.6.8 주요 강화학습 기법 정리
3.7 강화학습 적용 사례
___3.7.1 벽돌 깨기
___3.7.2 알파고(AlphaGo)
3.8 이번 장의 요점

04장: 배경 이론 4 - 강화학습을 이용한 주식투자란?

4.1 직관적으로 강화학습 전략 알아보기
___4.1.1 강화학습을 이용한 주식투자 구조
___4.1.2 차트 데이터 이해하기
___4.1.3 차트 데이터를 바탕으로 강화학습을 하는 방식
___4.1.4 거래 수수료와 거래세
___4.1.5 무작위 행동 결정(탐험)과 무작위 행동 결정 비율(엡실론)
4.2 강화학습 효과를 차별화하는 요인들
___4.2.1 차별화 요인 1: 학습 데이터 구성
___4.2.2 차별화 요인 2: 에이전트 상태 종류
___4.2.3 차별화 요인 3: 에이전트 행동 종류
___4.2.4 차별화 요인 4: 신경망
___4.2.5 차별화 요인 5: 강화학습 기법
4.3 차트 데이터와 학습 데이터 살펴보기
___4.3.1 차트 데이터
___4.3.2 학습 데이터
4.4 주식투자 강화학습 절차
___4.4.1 주식투자 강화학습 순서도
___4.4.2 행동 결정
___4.4.3 결정된 행동 수행
___4.4.4 배치 학습 데이터 생성 및 신경망 업데이트
4.5 주식투자 강화학습 과정 및 결과 확인 방법
___4.5.1 강화학습 과정 확인의 필요성
___4.5.2 강화학습 과정을 로그로 남기기
___4.5.3 강화학습 과정을 이미지로 가시화하기
4.6 이번 장의 요점

05장: 모듈 개발 - 강화학습 기반 주식투자 시스템 개발

5.1 RLTrader 개발에 필요한 환경
___5.1.1 아나콘다 설치
___5.1.2 PyTorch 설치
___5.1.3 텐서플로 설치
___5.1.4 plaidML 설치
5.2 RLTrader의 설계
___5.2.1 모듈 구조
___5.2.2 디렉터리 구조
___5.2.3 클래스 다이어그램
___5.2.4 환경 모듈 개요
___5.2.5 에이전트 모듈 개요
___5.2.6 신경망 모듈개요
___5.2.7 학습기 모듈 개요
___5.2.8 데이터 관리 모듈 개요
___5.2.9 가시화 모듈개요
___5.2.10 실행 모듈 개요
5.2.11 기타 모듈
5.3 환경 모듈 개발
___5.3.1 환경 모듈의 주요 속성과 함수
___5.3.2 코드 조각: 환경 클래스
5.4 에이전트 모듈 개발
___5.4.1 에이전트 모듈의 주요 속성과 함수
___5.4.2 코드 조각 1: 에이전트 클래스의 상수 선언
___5.4.3 코드 조각 2: 에이전트 클래스의 생성자
___5.4.4 코드 조각 3: 에이전트 클래스의 함수
5.5 신경망 패키지 개발
___5.5.1 딥러닝 프레임워크 선정
___5.5.2 신경망 구조
___5.5.3 신경망 모듈의 주요 속성과 함수
___5.5.4 코드 조각: 딥러닝 프레임워크에 따라 신경망 모듈 구현체 선택
5.6 PyTorch를 이용한 신경망 모듈 개발
___5.6.1 코드 조각 1: PyTorch 등의 의존성 임포트
___5.6.2 코드 조각 2: PyTorch를 이용한 Network 클래스
___5.6.3 코드 조각 3: PyTorch를 이용한 DNN 클래스
___5.6.4 코드 조각 4: PyTorch를 이용한 LSTMNetwork 클래스
___5.6.5 코드 조각 5: PyTorch를 이용한 CNN 클래스
5.7 Keras를 이용한 신경망 모듈 개발
___5.7.1 코드 조각 1: Keras를 이용한 Network 클래스
___5.7.2 코드 조각 2: Keras를 이용한 DNN 클래스
___5.7.3 코드 조각 3: Keras를 이용한 LSTMNetwork 클래스
___5.7.4 코드 조각 4: Keras를 이용한 CNN 클래스
5.8 가시화 모듈 개발
___5.8.1 가시화 모듈의 주요 속성과 함수
___5.8.2 가시화 모듈이 만들어 내는 정보
___5.8.3 코드 조각 1: 가시화기 클래스의 생성자
___5.8.4 코드 조각 2: 가시화 준비 함수
___5.8.5 코드 조각 3: 가시화 함수
___5.8.6 코드 조각 4: 가시화 정보 초기화 및 결과 저장 함수
5.9 학습기 모듈 개발
___5.9.1 학습기 모듈의 주요 속성과 함수
___5.9.2 코드 조각 1: 학습기 모듈의 의존성 임포트
___5.9.3 코드 조각 2: 학습기 클래스의 생성자
___5.9.4 코드 조각 3: 가치 신경망 생성 함수
___5.9.5 코드 조각 4: 정책 신경망 생성 함수
___5.9.6 코드 조각 5: 에포크 초기화 함수
___5.9.7 코드 조각 6: 가치 신경망 및 정책 신경망 학습
___5.9.8 코드 조각 7: 에포크 결과 가시화
___5.9.9 코드 조각 8: 강화학습 실행 함수
___5.9.10 코드 조각 9: DQN 강화학습 클래스
___5.9.11 코드 조각 10: 정책 경사 강화학습 클래스
___5.9.12 코드 조각 11: Actor-Critic 강화학습 클래스
___5.9.13 코드 조각 12: A2C 강화학습 클래스
___5.9.14 코드 조각 13: A3C 강화학습 클래스
5.10 데이터 관리 모듈 개발
___5.10.1 코드 조각 1: 자질 벡터 정의
___5.10.2 코드 조각 2: 데이터 전처리 함수
___5.10.3 코드 조각 3: 차트 데이터 및 학습 데이터 로드 함수
5.11 강화학습 주식투자 실행 모듈 개발
___5.11.1 코드 조각 1: 프로그램 인자 설정
___5.11.2 코드 조각 2: 파라미터 설정
___5.11.3 코드 조각 3: 강화학습 설정
___5.11.4 코드 조각 4: 강화학습 실행
5.12 기타 모듈 개발
___5.12.1 코드 조각 1: 설정 모듈
___5.12.2 코드 조각 2: 유틸리티 모듈
5.13 개발 참여
5.14 이번 장의 요점

06장: 데이터 준비 - 주식 데이터 획득

6.1 방법 1. 증권사 HTS 사용
___6.1.1 증권사 HTS 다운로드
___6.1.2 증권 계좌 개설
___6.1.3 종목 차트 데이터 확인
___6.1.4 엑셀에서 일별 데이터 CSV 파일 저장
6.2 방법 2. 증권사 API 사용
___6.2.1 증권사 API 설치
___6.2.2 대신증권 크레온 API 사용 환경 준비
___6.2.3 대신증권 크레온 HTS 실행
___6.2.4 대신증권 크레온 API를 이용한 차트 데이터 획득 프로그램 작성
6.3 방법 3. 웹 크롤링
___6.3.1 pandas-datareader로 주식 데이터 획득하기
___6.3.2 금융 포털 크롤링으로 주식 데이터 획득하기
6.4 방법 4. 퀀티랩 데이터베이스 사용
6.5 이번 장의 요점

07장: 강화학습 실행

7.1 RLTrader 실행 방법
___7.1.1 학습 모드 실행 방법
___7.1.2 테스트 모드 실행 방법
___7.1.3 업데이트 모드 실행 방법
___7.1.4 예측 모드 실행 방법
___7.1.5 강화학습 과정 및 결과 확인
___7.1.6 학습이 잘 되지 않을 때의 체크리스트
7.2 학습 모드 예시
___7.2.1 학습 모드 결과 1: 삼성전자(005930)
___7.2.2 학습 모드 결과 2: 현대차(005380)
___7.2.3 학습 모드 결과 3: 카카오(035720)
___7.2.4 학습 모드 결과 정리 및 원숭이 투자와의 비교
7.3 테스트 모드 예시
___7.3.1 테스트 모드의 특징
___7.3.2 테스트 모드 결과 1: 삼성전자(005930)
___7.3.3 테스트 모드 결과 2: 현대차(005380)
___7.3.4 테스트 모드 결과 3: 카카오(035720)
___7.3.5 테스트 모드 결과 정리 및 원숭이 투자와의 비교
7.4 업데이트 모드 예시
___7.4.1 업데이트 모드의 특징
___7.4.2 업데이트 모드 결과 1: 삼성전자(005930)
___7.4.3 업데이트 모드 결과 2: 현대차(005380)
___7.4.4 업데이트 모드 결과 3: 카카오(035720)
___7.4.5 업데이트 모드 결과 정리 및 원숭이 투자와의 비교
7.5 예측 모드 예시
___7.5.1 예측 모드의 특징
___7.5.2 예측 모드 결과 1: 삼성전자(005930)
___7.5.3 예측 모드 결과 2: 현대차(005380)
___7.5.4 예측 모드 결과 3: 카카오(035720)
7.6 이번 장의 요점

08장: RLTrader 커스터마이징

8.1 에이전트 모듈 커스터마이징
___8.1.1 코드 조각 1: 매매 수수료 및 세금 커스터마이징 사례
___8.1.2 코드 조각 2: 행동 결정 로직 커스터마이징 사례
8.2 신경망 모듈 커스터마이징
___8.2.1 코드 조각 1: 신경망 커스터마이징 사례
___8.2.2 코드 조각 2: 최적화 방법 커스터마이징 사례
___8.2.3 코드 조각 3: 공유 신경망 적용 커스터마이징 사례
8.3 강화학습 학습기 커스터마이징
___8.3.1 코드 조각 1: 배치 학습 데이터 생성 커스터마이징 사례
___8.3.2 코드 조각 2: 가시화 파일 생성 수 조절
8.4 학습 데이터 커스터마이징
___8.4.1 ‘기관 순매수’ 및 ‘외국인 순매수’ 데이터 획득 사례
___8.4.2 코드 조각 1: 주식 데이터 전처리 커스터마이징 사례
___8.4.3 코드 조각 2: 학습 데이터 자질 구성 커스터마이징 사례

부록A: 프로그래밍, 머신러닝, 주식투자 용어

A.1 파이썬 프로그래밍 기본 용어 정리
A.2 머신러닝 기본 용어 정리
A.3 주식 기본 용어 정리

부록B: 딥러닝에서 TensorFlow+GPU 사용하기

B.1 GPU 사용을 위한 하드웨어 준비
___B.1.1 그래픽카드 인식 확인
___B.1.2 호환되는 그래픽카드 확인
B.2 GPU 사용을 위한 소프트웨어 준비
___B.1.1 CUDA 툴킷 설치
___B.2.2 cuDNN 라이브러리 설치
___B.2.3 TensorFlow의 GPU 사용 최종 확인

부록C: 딥러닝에서 plaidML+GPU 사용하기

C.1 plaidML 사용을 위한 Visual C++ 2015 설치
C.2 plaidML 설치 및 확인

부록D: RLTrader의 딥러닝 프레임워크 적용기

부록E: RLTrader 학습 데이터 명세

E.1 RLTrader 학습 데이터 v1
E.2 RLTrader 학습 데이터 v1.1
E.3 RLTrader 학습 데이터 v2
E.4 RLTrader 학습 데이터 v3
E.5 RLTrader 학습 데이터 v4
Author
퀀티랩
금융 데이터 분석 그룹. 머신러닝, 딥러닝, 강화학습 등의 다양한 기술을 연구하고 금융 데이터를 분석하여 금융 투자에 도움이 될 의미 있는 정보를 만들어 내기 위한 일을 하고 있다. 최근에는 이 책에서 다루고 있는 「파이썬 기반의 강화학습 주식투자 프로젝트」와 더불어 「딥러닝 주식 포트폴리오 관리 프로젝트」, 「자동 주식투자 시스템 개발 프로젝트」등을 진행하고 있다. 관련 프로젝트 일부를 퀀티랩 Github에서 공유하고 금융 데이터 분석 결과를 퀀티랩 웹사이트와 퀀티랩 블로그에서 제공하고 있다.
금융 데이터 분석 그룹. 머신러닝, 딥러닝, 강화학습 등의 다양한 기술을 연구하고 금융 데이터를 분석하여 금융 투자에 도움이 될 의미 있는 정보를 만들어 내기 위한 일을 하고 있다. 최근에는 이 책에서 다루고 있는 「파이썬 기반의 강화학습 주식투자 프로젝트」와 더불어 「딥러닝 주식 포트폴리오 관리 프로젝트」, 「자동 주식투자 시스템 개발 프로젝트」등을 진행하고 있다. 관련 프로젝트 일부를 퀀티랩 Github에서 공유하고 금융 데이터 분석 결과를 퀀티랩 웹사이트와 퀀티랩 블로그에서 제공하고 있다.