금융 파이썬 쿡북 [금융 데이터 처리와 기술 분석부터 딥러닝 적용까지]
- 원서명Python for Finance Cookbook: Over 50 recipes for applying modern Python libraries to financial data analysis(ISBN 9781789618518)
- 지은이에릭 르윈슨(Eryk Lewinson)
- 옮긴이(주)크라스랩
- ISBN : 9791161750507
- 35,000원
- 2021년 02월 10일 펴냄
- 페이퍼백 | 500쪽 | 188*235mm
- 시리즈 : acorn+PACKT, 데이터 과학
책 소개
소스 파일은 아래 깃허브 페이지에서 내려 받으실 수 있습니다.
(https://github.com/AcornPublishing/python-finance)
본문에 쓰인 컬러 이미지는 여기에서 내려 받으세요.
요약
파이썬은 금융에서 가장 보편적으로 사용되는 언어이면서 방대한 라이브러리를 갖고 있다. 금융 데이터를 다운로드하는 다양한 방법과 모델링을 위해 준비하는 기법을 알려준다.
기술분석에 사용되는 볼린저 밴드, MACD, RSI 그리고 백테스트를 이용한 자동 거래 전략 등의 보편적 지표를 계산해 본다. 다음으로 지수 평활, ARIMA 및 GARCH (다변량 사양 포함), 인기 있는 CAPM과 파마-프렌치 3 팩터 모델 등의 시계열 분석과 모델을 다룬다.
그런 다음 자산 할당을 최적화하는 방법 알아보고 몬테 카를로 시뮬레이션을 사용해 미국 옵션 가격 계산과 VaR을 추정해 본다. 또한 금융 영역에서 전체 데이터 과학 프로젝트, 신용 카드 사기와 디포트를 해결하는 방법을 고급 분류기인 랜덤 포레스트, XGBoost, LightGBM 그리고 스택된 모델을 사용해 해결해 본다.
그 뒤 모델의 초매개변수를 조정하고 부류 불균형을 다루고, 마지막으로 금융에 딥러닝을 사용하는 방법에 집중한다. 이 책을 읽고 나면 레시피에 기반한 접근을 통해 금융 데이터를 효과적으로 분석하는 방법을 알게 될 것이다.
이 책에서 다루는 내용
■ 다양한 소스의 금융 데이터 다운로드와 전처리
■ 실제 자동 거래 전략에 대한 백테스팅
■ 파이썬으로 계량 경제학 모델 추정하고 결과 해석
■ 몬테 카를로 시뮬레이션을 사용한 다양한 파생상품 가격산정과 리스크 평가
■ 최신 파이썬 라이브러리를 사용한 금융 모델 성능 개선
■ 머신러닝과 딥러닝 기술을 다양한 금융문제 해결에 적용
■ 금융 시계열 데이터 모델에 사용되는 다양한 기법 이해
이 책의 대상 독자
금융에서 광범위한 작업을 구현하는 방법을 배우려는 재무 분석가, 데이터 분석가/과학자, 파이썬(Python) 개발자를 대상으로 한다. 효율적인 재무 분석을 수행하고자 지능형 금융 전략을 고안하려는 데이터 과학자에게도 도움이 된다. 이 책을 읽으려면 파이썬 프로그래밍 언어의 실무 지식은 필수다
이 책의 구성
1장, ‘금융 데이터와 전처리’ 머신러닝 작업에 일반적으로 사용되는 여러 유형의 데이터와 금융 데이터가 어떻게 다른지 살펴본다. 제공된 함수를 사용해 여러 소스(예: Yahoo Finance 및 Quandl)에서 재무 데이터를 다운로드하고 추가 분석을 위해 전처리할 수 있다. 마지막으로 데이터가 자산의 정형화 사실을 따르는지 조사하는 방법을 학습한다.
2장, ‘파이썬에서의 기술적 분석’ 기본적인 기술 분석의 기초와 파이썬에서 근사한 대시보드를 빠르게 만드는 방법을 보여 준다. 가장 일반적으로 사용되는 척도(예: MACD 및 RSI)에서 나오는 패턴에 대한 통찰력을 얻을 수 있다.
3장, ‘시계열 모델링’ 시계열 모델링의 기본 사항(시계열 분해와 통계적 정상성 포함)을 소개한다. 그런 다음 가장 널리 사용되는 두 가지 시계열 모델링 접근법인 지수 평활법과 ARIMA 클래스 모델을 살펴본다. 마지막으로 페이스북의 Prophet 라이브러리의 가법 모델을 사용해 시계열을 모델링하는 새로운 방법을 제시한다.
4장, ‘다팩터 모델링’ 다양한 팩터 모델을 추정하는 방법을 보여 준다. 가장 간단한 단일 요소 모델부터 시작해 고급 3-팩터, 4-팩터, 5-팩터 모델을 추정하는 방법을 설명한다.
5장, ‘GARCH 클래스 모델을 사용한 변동성 모델링’ (G)ARCH 클래스 모델을 사용한 변동성 예측 개념, 가장 적합한 모델을 선택하는 방법 및 결과 해석 방법을 소개한다.
6장, ‘금융에서의 몬테카를로 시뮬레이션’ 몬테카를로 시뮬레이션의 개념과 주가 시뮬레이션, 유럽/미국 옵션 평가 및 VaR 계산에 사용하는 방법을 소개한다.
7장, ‘파이썬으로 자산 배분’ 현대 포트폴리오 이론의 개념을 소개하고 파이썬에서 효율적 경계선을 얻는 방법을 보여 준다. 그런 다음 최소 분산 또는 최대 샤프 비율과 같은 특정 포트폴리오를 식별하는 방법을 살펴본다. 또한 이러한 포트폴리오의 성능을 평가하는 방법도 보여 준다.
8장, ‘머신러닝으로 디폴트 찾기’ 디폴트 예측을 위해 머신러닝을 사용하는 경우를 설명한다. 최신 분류 알고리즘을 배우고 모델의 초매개 변수를 조정하는 방법을 배우고, 불균형 데이터의 문제를 처리할 수 있게 된다.
9장, ‘금융에서의 고급 머신러닝 모델’ 다양한 고급 분류기(여러 모델 스태킹 포함)를 소개한다. 또한 부류 불균형을 처리하고 초매개 변수 튜닝에 베이즈 최적화를 사용하고, 모델에서 특징의 중요도를 검색하는 방법을 살펴본다.
10장, ‘금융에서의 딥러닝’ 데이터 작업에 딥러닝 기술을 사용하는 방법을 보여 준다. 네트워크는 파이토치를 사용해 훈련된다(GPU 가속 가능).
목차
목차
- 1장. 금융 데이터와 전처리
- 야후 파이낸스에서 데이터 가져오기
- 작동 방법
- 작동 원리
- 추가 사항
- 퀀들로 데이터 받기
- 준비하기
- 작동 방법
- 작동 원리
- 추가 사항
- 참고 문서
- Intrinio에서 데이터 구하기
- 준비하기
- 작동 방법
- 작동 원리
- 추가 정보
- 주가를 수익률로 변환
- 작동 방법
- 작동 원리
- 추가 정보
- 빈도 변경
- 준비 작업
- 작동 방법
- 작동 원리
- 시계열 데이터 시각화
- 준비하기
- 작동 방법
- pandas의 plot 메서드
- plotly와 cufflinks
- 작동 원리
- pandas plot 메서드
- plotly와 cufflinks
- 추가 사항
- 참고 문헌
- 특이값 식별
- 준비하기
- 작동 방법
- 작동 원리
- 추가 사항
- 자산 수익의 정형화된 사실 조사
- 준비하기
- 작동 방법
- 수익률의 비정규 분포성
- 변동성 클러스터링
- 수익률의 자기 상관 부재
- 제곱/절대 수익률에서의 작고 감소하는 자기 상관
- 레버리지 효과
- 작동 원리
- 사실 1
- 사실 2
- 사실 3
- 사실 4
- 사실 5
- 추가 사항
- 참고 문헌
- 야후 파이낸스에서 데이터 가져오기
- 2장. 파이썬에서의 기술적 분석
- 촛대 차트 만들기
- 준비하기
- 작동 방법
- 작동 원리
- 추가 문헌
- 단순 이동 평균을 기반으로 전략 백테스팅
- 작동 방법
- 신호
- 전략
- 작동 원리
- 공통 요소
- 신호
- 전략
- 추가 사항
- 참고 문헌
- 작동 방법
- 볼린저 밴드 계산과 매수/매도 전략 테스트
- 작동 방법
- 작동 원리
- 상대 강도 지수 계산 및 롱/숏 전략 테스트
- 작동 방법
- 작동 원리
- TA용 대화형 대시보드 작성
- 준비하기
- 작동 방법
- 작동 원리
- 추가 사항
- 촛대 차트 만들기
- 3장. 시계열 모델링
- 시계열 분해
- 작동 방법
- 작동 원리
- 참고 문헌
- 페이스북의 Prophet을 사용한 시계열 분해
- 작동 방법
- 작동 원리
- 추가 사항
- 시계열의 정상성 테스트
- 준비하기
- 작동 방법
- 작동 원리
- 시계열의 정상성 교정
- 작동 방법
- 작동 원리
- 추가 사항
- 지수 평활법을 사용한 시계열 모델링
- 준비하기
- 작동 방법
- 작동 원리
- 추가 사항
- ARIMA 클래스 모델을 사용한 시계열 모델링
- 작동 방법
- 작동 원리
- 추가 사항
- 참고 문헌
- ARIMA 클래스 모델을 사용한 예측
- 준비하기
- 작동 방법
- 작동 원리
- 추가 사항
- 시계열 분해
- 4장. 다팩터 모델
- 파이썬으로 CAPM 구현
- 작동 방법
- 작동 원리
- 추가 사항
- 참고 문헌
- 파이썬으로 파마-프렌치 3-팩터 모델 구현
- 작동 방법
- 작동 원리
- 추가 사항
- 참고 사항
- 자산 포트폴리오에 롤링 3-팩터 모델 구현
- 작동 방법
- 작동 원리
- 파이썬으로 4-팩터와 5-팩터 모델 구현
- 작동 방법
- 작동 원리
- 참고 문헌
- 파이썬으로 CAPM 구현
- 5장. GARCH 클래스 모델을 사용한 변동성 모델링
- ARCH 모델을 사용한 주식 수익률의 변동성 설명
- 작동 방법
- 작동 원리
- 추가 사항
- 참고 문헌
- GARCH 모델을 사용한 주식 수익률의 변동성 설명
- 작동 방법
- 작동 원리
- 추가 사항
- 조건부 평균 모델
- 조건부 변동성 모델
- 오차의 분배
- 참고 문헌
- 다변량 변동성 예측을 위한 CCC-GARCH 모델 구현
- 작동 방법
- 작동 원리
- 참고 문헌
- DCC-GARCH를 사용한 조건부 공분산 행렬 예측
- 준비하기
- 작동 방법
- 작동 원리
- 추가 사항
- 참고 문헌
- ARCH 모델을 사용한 주식 수익률의 변동성 설명
- 6장. 금융에서의 몬테카를로 시뮬레이션
- 기하 브라운 운동을 사용한 주가 역학 시뮬레이션
- 작동 방법
- 작동 원리
- 추가 사항
- 참고 문헌
- 시뮬레이션을 사용한 유럽 옵션 가격 결정
- 작동 방법
- 작동 원리
- 추가 사항
- 최소 자승 몬테카를로를 사용해 미국 옵션 가격 결정
- 작동 방법
- 작동 원리
- 참고 문헌
- Quantlib를 사용한 미국 옵션 가격 결정
- 작동 방법
- 작동 원리
- 추가 사항
- 몬테카를로를 사용해 VAR 추정
- 작동 방법
- 작동 원리
- 추가 사항
- 기하 브라운 운동을 사용한 주가 역학 시뮬레이션
- 7장. 파이썬으로 자산 배분
- 기본 1/n 포트폴리오의 성능 평가
- 작동 방법
- 작동 원리
- 추가 사항
- 참고 문헌
- 몬테카를로 시뮬레이션을 사용해 효율적 경계선 찾기
- 작동 방법
- 작동 원리
- 추가 사항
- scipy 최적화로 효율적 경계선 찾기
- 준비하기
- 작동 방법
- 작동 원리
- 추가 사항
- cvxpy 컨벡스 최적화로 효율적 경계선 찾기
- 준비하기
- 작동 방법
- 작동 원리
- 추가 사항
- 기본 1/n 포트폴리오의 성능 평가
- 8장. 머신러닝으로 디폴트 찾기
- 데이터로드 및 데이터 유형 관리
- 작동 방법
- 작동 원리
- 추가 사항
- 참고 문헌
- 탐색적 데이터 분석
- 작동 방법
- 작동 원리
- 추가 사항
- 훈련 및 테스트 집합으로 데이터 분할
- 작동 방법
- 작동 원리
- 추가 사항
- 결측값 처리
- 작동 방법
- 작동 원리
- 추가 사항
- 참고 문헌
- 범주형 변수 인코딩
- 작동 방법
- 작동 원리
- 추가 사항
- 원-핫 인코딩에 pandas.get_dummies 사용
- OneHotEncoder에 가능한 범주 지정
- Category Encoders 라이브러리
- 참고 문헌
- 의사결정 트리 분류기 적합화
- 작동 방법
- 작동 원리
- 추가 사항
- 참고 문헌
- scikit-learn의 파이프라인 구현
- 작동 방법
- 작동 원리
- 추가 사항
- 그리드 검색 및 교차 검증을 사용해 초매개 변수 조정
- 준비하기
- 작동 방법
- 작동 원리
- 추가 사항
- 참고 문헌
- 데이터로드 및 데이터 유형 관리
- 9장. 금융에서의 고급 머신러닝 모델
- 고급 분류기 조사
- 준비하기
- 작동 방법
- 작동 원리
- 추가 사항
- 참고 문헌
- 성능 향상을 위한 스태킹 사용
- 작동 방법
- 작동 원리
- 추가 사항
- 참고 문헌
- 특징 중요도 조사
- 준비하기
- 작동 방법
- 작동 원리
- 추가 사항
- 참고 문헌
- 불균형 데이터 처리에 대한 다양한 접근 방식
- 작동 방법
- 작동 원리
- 추가 사항
- 참고 문헌
- 베이즈 초매개 변수 최적화
- 작동 방법
- 작동 원리
- 추가 사항
- 참고 문헌
- 고급 분류기 조사
- 10장. 금융에서의 딥러닝
- 테이블 데이터를 사용한 딥러닝
- 작동 방법
- 작동 원리
- 추가 사항
- 참고 문헌
- 시계열 예측을 위한 다층 퍼셉트론
- 작동 방법
- 작동 원리
- 추가 사항
- 참고 문헌
- 시계열 예측을 위한 컨볼루션 신경망
- 작동 방법
- 작동 원리
- 추가 사항
- 참고 문헌
- 시계열 예측을 위한 재현 신경망
- 작동 방법
- 작동 원리
- 추가 사항
- 참고 문헌
- 테이블 데이터를 사용한 딥러닝