행위

파이썬 케라스 인공지능

DB CAFE

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

3.1 직관적으로 강화학습 전략 알아보기

__3.1.1 강화학습을 이용한 주식투자 구조 __3.1.2 차트 데이터 이해하기 __3.1.3 차트 데이터를 바탕으로 강화학습을 하는 방식 __3.1.4 거래 수수료와 거래세 __3.1.5 무작위 행동 결정(탐험)과 무작위 행동 결정 비율(엡실론)

3.2 강화학습 효과를 차별화하는 요인들

__3.2.1 차별화 요인 1: 학습 데이터 구성 __3.2.2 차별화 요인 2: 보상 규칙 __3.2.3 차별화 요인 3: 행동 종류 __3.2.4 차별화 요인 4: 정책 신경망 __3.2.5 차별화 요인 5: 강화학습 기법인 Q 러닝과 정책 경사

3.3 차트 데이터와 학습 데이터 살펴보기

__3.3.1 차트 데이터 __3.3.2 학습 데이터

3.4 주식투자 강화학습 절차

__3.4.1 주식투자 강화학습 순서도 __3.4.2 행동 결정 __3.4.3 결정된 행동 수행 __3.4.4 배치 학습 데이터 생성 및 정책 신경망 업데이트

3.5 주식투자 강화학습 과정 및 결과 확인 방법

__3.5.1 강화학습 과정 확인의 필요성 __3.5.2 강화학습 과정을 로그로 남기기 __3.5.3 강화학습 과정을 이미지로 가시화하기

3.6 이번 장의 요점
모듈 개발 - 강화학습 기반 주식투자 시스템 개발 
4.1 RLTrader 개발에 필요한 환경

__4.1.1 아나콘다 설치 __4.1.2 텐서플로와 케라스 설치

4.2 RLTrader의 구조

__4.2.1 모듈 구조 __4.2.2 디렉터리 구조 __4.2.3 에이전트 모듈 개요 __4.2.4 환경 모듈 개요 __4.2.5 정책 신경망 모듈 개요 __4.2.6 가시화기 모듈 개요 __4.2.7 정책 학습기 모듈 개요

4.3 환경 모듈 개발

__4.3.1 환경 모듈의 주요 속성과 함수 __4.3.2 코드 조각: 환경 클래스의 전체 소스코드

4.4 에이전트 모듈 개발

__4.4.1 에이전트 모듈의 주요 속성과 함수 __4.4.2 코드 조각 1: 에이전트 클래스의 상수 선언 부분 __4.4.3 코드 조각 2: 에이전트 클래스의 생성자 부분 __4.4.4 코드 조각 3: 에이전트 클래스의 함수 부분

4.5 정책 신경망 모듈 개발

__4.5.1 정책 신경망 모듈의 주요 속성과 함수 __4.5.2 정책 신경망에서 사용하는 LSTM 신경망의 구조 __4.5.3 코드 조각 1: 정책 신경망 클래스의 생성자 부분 __4.5.4 코드 조각 2: 정책 신경망 클래스의 함수 선언 부분

4.6 가시화기 모듈 개발

__4.6.1 가시화기 모듈의 주요 속성과 함수 __4.6.2 가시화기 모듈이 만들어 내는 정보 __4.6.3 코드 조각 1: 가시화기 클래스의 생성자 부분 __4.6.4 코드 조각 2: 일봉 차트 가시화 함수 부분 __4.6.5 코드 조각 3: 전체 차트 가시화 함수 선언 부분 __4.6.6 코드 조각 4: 에이전트 상태 가시화 부분 __4.6.7 코드 조각 5: 정책 신경망 출력 결과 및 탐험 수행 가시화 부분 __4.6.8 코드 조각 6: 포트폴리오 가치 및 기타 정보 가시화 부분 __4.6.9 코드 조각 7: 차트 초기화 및 저장 함수 부분

4.7 정책 학습기 모듈 개발

__4.7.1 코드 조각 1: 정책 학습기 모듈의 의존성 임포트 부분 __4.7.2 코드 조각 2: 정책 학습기 클래스의 생성자 부분 __4.7.3 코드 조각 3: 에포크 초기화 함수 부분 __4.7.4 코드 조각 4: 학습 함수 선언 부분 __4.7.5 코드 조각 5: 학습 함수 초반 부분 __4.7.6 코드 조각 6: 학습 함수의 로컬 변수 초기화 부분 __4.7.7 코드 조각 7: 학습 함수의 연관 객체 초기화 및 탐험 비율 설정 부분 __4.7.8 코드 조각 8: 학습 함수의 에포크 수행 while 문 초반부 __4.7.9 코드 조각 9: 학습 함수의 행동과 그 결과를 저장하는 부분 __4.7.10 코드 조각 10: 학습 함수의 반복 정보 갱신 부분 __4.7.11 코드 조각 11: 학습 함수의 정책 신경망 학습 부분 __4.7.12 코드 조각 12: 에포크 결과 가시화 부분 __4.7.13 코드 조각 13: 에포크 결과 로그 기록 부분 __4.7.14 코드 조각 14: 학습 통계 정보 갱신 부분 __4.7.15 코드 조각 15: 최종 학습 결과 통계 정보 로그 기록 부분 __4.7.16 코드 조각 16: 미니 배치 데이터 생성 함수 부분 __4.7.17 코드 조각 17: 학습 데이터 샘플 생성 부분 __4.7.18 코드 조각 18: 투자 시뮬레이션을 하는 trade() 함수 부분

4.8 이번 장의 요점

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

5.1 방법 1. 증권사 HTS 사용

__5.1.1 증권사 HTS 다운로드 __5.1.2 증권 계좌 개설 __5.1.3 종목 차트 데이터 확인 __5.1.4 일별 데이터 엑셀 파일 저장

5.2 방법 2. 증권사 API 사용

__5.2.1 증권사 API 설치 __5.2.2 대신증권 크레온 API 사용 환경 준비 __5.2.3 대신증권 크레온 HTS 실행 __5.2.4 대신증권 크레온 API를 이용한 차트 데이터 획득 프로그램 작성

5.3 방법 3. 포털 사이트 사용

__5.3.1 pandas-datareader, fix_yahoo_finance 설치하기 __5.3.2 Google Finance에서 주식 데이터 획득하기 __5.3.3 Yahoo Finance에서 주식 데이터 획득하기

5.4 이번 장의 요점

· 06장: 모델 구축 - 투자 시뮬레이션

6.1 주식 데이터 전처리

__6.1.1 코드 조각 1: CSV 파일을 읽는 부분 __6.1.2 코드 조각 2: 종가와 거래량의 이동 평균 구하기 __6.1.3 코드 조각 3: 주가와 거래량의 비율 구하기 __6.1.4 코드 조각 4: 주가와 거래량의 이동 평균 비율 구하기

6.2 주식 데이터 학습

__6.2.1 코드 조각 1: 강화학습을 실행하는 메인(main) 모듈 __6.2.2 코드 조각 2: 강화학습에 필요한 주식 데이터 준비 부분 __6.2.3 코드 조각 3: 데이터를 차트 데이터와 학습 데이터로 분리하는 부분 __6.2.4 코드 조각 4: 강화학습을 시작하는 부분

6.3 학습 과정 및 결과 확인

__6.3.1 콘솔에 출력되는 로그의 의미 __6.3.2 가시화 결과가 저장되는 그림 파일

6.4 이번 장의 요점

· 07장: 모델 검증 - 투자 시뮬레이션

7.1 투자 시뮬레이션 결과 1
삼성전자(005930)

__7.1.1 종목의 개요 __7.1.2 주식 데이터 전처리 __7.1.3 학습 파라미터 설정 __7.1.4 에포크 10일 때의 결과 __7.1.5 에포크 200일 때의 결과 __7.1.6 에포크 600일 때의 결과 __7.1.7 에포크 1000일 때의 결과 __7.1.8 총평

7.2 투자 시뮬레이션 결과 2
SK하이닉스(000660)

__7.2.1 종목의 개요 __7.2.2 주식 데이터 전처리 __7.2.3 학습 파라미터 설정 __7.2.4 에포크 10일 때의 결과 __7.2.5 에포크 200일 때의 결과 __7.2.6 에포크 600일 때의 결과 __7.2.7 에포크 1000일 때의 결과 __7.2.8 총평

7.3 투자 시뮬레이션 결과 3
현대차(005380)

__7.3.1 종목의 개요 __7.3.2 주식 데이터 전처리 __7.3.3 학습 파라미터 설정 __7.3.4 에포크 10일 때의 결과 __7.3.5 에포크 200일 때의 결과 __7.3.6 에포크 600일 때의 결과 __7.3.7 에포크 1000일 때의 결과 __7.3.8 총평

7.4 투자 시뮬레이션 결과 4
LG화학(051910)

__7.4.1 종목의 개요 __7.4.2 주식 데이터 전처리 __7.4.3 학습 파라미터 설정 __7.4.4 에포크 10일 때의 결과 __7.4.5 에포크 200일 때의 결과 __7.4.6 에포크 600일 때의 결과 __7.4.7 에포크 1000일 때의 결과 __7.4.8 총평

7.5 투자 시뮬레이션 결과 5
NAVER(035420)

__7.5.1 종목의 개요 __7.5.2 주식 데이터 전처리 __7.5.3 학습 파라미터 설정 __7.5.4 에포크 10일 때의 결과 __7.5.5 에포크 200일 때의 결과 __7.5.6 에포크 600일 때의 결과 __7.5.7 에포크 1000일 때의 결과 __7.5.8 총평

7.6 투자 시뮬레이션 결과 6
KT(030200)

__7.6.1 종목의 개요 __7.6.2 주식 데이터 전처리 __7.6.3 학습 파라미터 설정 __7.6.4 에포크 10일 때의 결과 __7.6.5 에포크 200일 때의 결과 __7.6.6 에포크 600일 때의 결과 __7.6.7 에포크 1000일 때의 결과 __7.6.8 총평 __7.7 투자 시뮬레이션 결과 정리 및 원숭이 투자와의 비교

7.8 이번 장의 요점

· 08장: 모델 활용 - 학습된 정책 신경망 모델을 사용한 투자 시뮬레이션

8.1 모델 학습과 모델 활용의 차이점

__8.1.1 시뮬레이션 과정 차이점 __8.1.2 소스코드의 차이점

8.2 학습된 정책 신경망 모델을 사용한 투자 시뮬레이션

__8.2.1 학습된 모델 적용 1: 삼성전자(005930) __8.2.2 학습된 모델 적용 2: SK하이닉스(000660) __8.2.3 학습된 모델 적용 3: 현대차(005380) __8.2.4 학습된 모델 적용 4: LG화학(051910) __8.2.5 학습된 모델 적용 5: NAVER(035420) __8.2.6 학습된 모델 적용 6: KT(030200) __8.2.7 총평

8.3 투자 시뮬레이션 결과 정리 및 원숭이 투자와의 비교
8.4 이번 장의 요점

</nowiki>