Top

퀀트 투자를 위한 머신러닝 [파이썬으로 배우는 머신러닝 기반 팩터 투자]

  • 원서명Machine Learning for Factor Investing: Python Version (ISBN 9780367639723)
  • 지은이기욤 코케렛(Guillaume Coqueret), 토니 귀다(Tony Guida)
  • 옮긴이김성진
  • ISBN : 9791161759234
  • 40,000원
  • 2024년 10월 30일 펴냄
  • 페이퍼백 | 484쪽 | 188*235mm
  • 시리즈 : 금융 퀀트 머신러닝 융합

책 소개

소스 코드 파일은 여기에서 내려 받으실 수 있습니다.
https://github.com/AcornPublishing/factor-investing-python

요약

투자의 영역에서 어떻게 하면 금융 머신러닝을 올바르게 사용할 수 있는지 제시하고 있는 한 편의 안내서다. 금융 시계열 데이터 처리, 알파 신호 생성, 포트폴리오 최적화, 인과성과 해석성 등 머신러닝 기반의 퀀트 투자에 필요한 모든 단계를 일목요연하게 설명하고 있으며, 동시에 파이썬 코드 및 연습문제를 통해 이론과 실습을 결합한 실용적인 이해를 돕는다.

이 책의 대상 독자

이 책은 두 가지 부류의 독자를 대상으로 한다. 첫째, 투자 및 자산 운용을 목표로 계량 금융을 공부하고자 하는 대학원생이다. 두 번째 대상은 머신러닝에 기반한 자산배분 방법으로 피벗(pivot)하거나 단순히 이러한 새로운 도구에 관심이 있으면서 자신의 역량을 업그레이드하고자 하는 자산 운용 업계의 전문가다. 이 책은 최근 자산 가격 결정 문제와 자산 운용에 적용 가능한 머신러닝 알고리듬에 대한 광범위한 참고 자료가 필요한 학자나 연구자에게도 도움을 줄 수 있다. 대부분 일반적인 방법을 다루고 있지만 인과 그래프(14장), 베이지안 가법성 트리(9장), 하이브리드 오토인코더(7장)와 같은 좀 더 이색적인 모델을 구현하는 방법도 보여준다.
이 책은 대수학(algebra)(행렬 조작), 해석학(analysis)(함수 미분, 그래디언트), 최적화(optimization)(1계 및 2계 조건, 이중 형태), 통계학(statistics)(분포, 적률, 검정, 최우도 같은 간단한 추정 방법)에 대한 기본 지식이 있는 독자를 대상으로 한다. 최소한의 금융 도메인 지식도 필요하다. 주식과 회계 수치(예를 들어, 장부가)와 같은 간단한 개념은 따로 정의하지 않는다.

이 책의 구성

1부에서는 준비 자료를 수집하고 표기법과 데이터 표현(1장)으로 시작해 개요(2장)를 소개한다. 3장에서는 팩터 투자의 (이론적이고 실증적인) 경제학적 기초를 개괄하고 관련된 최근 문헌을 간략히 요약한다. 4장에서는 데이터 준비에 대해 다룬다. 기본적인 팁을 빠르게 리뷰하고 몇 가지 주요 이슈에 대해 경고한다.
2부에서는 지도 학습의 예측 알고리듬을 다룬다. 이러한 알고리듬은 수익률, 변동성, 샤프Sharpe 비율 등 금융 수치를 예측하는 데 사용되는 가장 일반적인 도구다. 페널티가 적용된 회귀(5장)부터 트리 기법(6장), 신경망(7장), 서포트 벡터 머신(8장), 베이지안 접근법(9장)까지를 아우르는 다양한 알고리듬을 다룬다.
3부에서는 이러한 도구와 금융 응용 분야 간의 간극을 해소한다. 10장에서는 앞서 정의한 머신러닝 엔진을 평가하고 개선하는 방법을 자세히 설명한다. 11장에서는 모델을 결합하는 방법과 그것이 종종 좋은 생각이 아닐 수도 있는 이유를 설명한다. 마지막으로, 가장 중요한 장 중 하나인 12장에서는 포트폴리오 백테스팅의 중요한 단계들을 검토하고 이 단계에서 자주 발생하는 실수에 대해 언급한다.
4부에서는 머신러닝과 관련된 다양한 고급 주제를 보다 구체적으로 다룬다. 첫 번째 주제는 해석 가능성(interpretability)이다. 머신러닝 모델은 종종 블랙박스로 간주되며, 이는 신뢰 문제를 야기한다. 머신러닝 기반 예측을 어떻게 신뢰할 수 있으며 왜 신뢰해야 할까? 13장에서는 내부에서 무슨 일이 일어나고 있는지 이해하는 데 도움이 되는 방법을 제시한다. 14장에서는 상관관계보다 훨씬 더 강력한 개념이자 최근 인공지능(AI, Artificial Intelligence) 분야에서 많은 논의의 핵심이 되는 인과성(causality)에 초점을 맞춘다. 대부분의 머신러닝 도구는 상관관계 같은 패턴에 의존하는데, 인과성과 관련된 기술의 이점을 강조하는 것이 중요하다. 마지막으로, 15장과 16장에서는 지도 학습이 아닌 다른 학습 방식에 대해 다룬다. 지도 학습이 아닌 다른 학습 방식은 유용할 수 있지만, 이것을 금융 분야에 적용할 때는 현명하고 신중하게 접근해야 한다.

저자/역자 소개

지은이의 말

머신러닝(ML, Machine Learning)은 계량 금융과 알고리듬 트레이딩 분야의 형태를 점진적으로 바꿔나가고 있다. 헤지 펀드(hedge fund)와 자산 관리자들은 점점 더 많은 머신러닝 도구들을 채택하고 있으며, 특히 이러한 도구들은 알파 신호 생성과 주식 선택 분야에서 두각을 나타내고 있다. 하지만 머신러닝이라는 주제의 기술적 복잡성은 사실 비전문가들이 뛰어들기에는 다소 어려워 보인다. 특히 이 분야에서 사용되는 각종 용어 그리고 코딩이라는 요구 사항은 비전문가들의 이해를 더욱 힘들게 만든다. 이 책은 이러한 격차를 줄이는 데 도움이 된다. 또한 기업 특성을 재료로 하는 현대적인 머신러닝 기반 투자 전략에 대한 종합적인 여정을 제공한다.
경제학적 근거에서부터 엄격한 포트폴리오 백테스팅(back-testing), 데이터 전처리, 모델 해석성에 이르기까지 이 책은 실로 다양한 주제들을 다룬다. 스타일 투자의 맥락에 입각해 트리 모델(tree model)과 인공 신경망 같은 일반적인 지도 학습(supervised learning) 알고리듬을 설명하고, 또한 오토인코더(autoencoder) 자산 수익률, 베이지안(Bayesian) 가법성 트리 모델, 인과 모델 등의 더 복잡한 기법들까지도 깊게 파고든다.
이 책의 모든 주제는 관련된 파이썬(Python) 코드 예제 및 스니펫(snippet)을 수록하고 있으며, 해당 코드는 90개 이상의 예측 변수를 포함하는 대규모 공개 데이터셋에 적용이 가능하다. 또한, 모든 내용과 관련 자료는 온라인에도 게재돼 있어 독자들은 편리하게 책에 수록된 예제를 재현해보고 개선할 수 있다. 만약 계량 금융에 대한 기본적인 지식이 있다면, 이러한 이론적 개념과 실용적 예시의 결합을 통해 빠르게 학습하고 금융과 기술에 대한 전문성의 깊이를 더할 수 있다.

지은이 소개

기욤 코케렛(Guillaume Coqueret)

EM리옹 경영대학(EMLyon Business School)의 금융 및 데이터 과학 부교수다. 최근 연구는 금융 경제학에서의 머신러닝 응용을 중심으로 이뤄지고 있다.

토니 귀다(Tony Guida)

RAM 액티브 인베스트먼트(RAM Active Investments)에서 퀀트 매크로 부문의 공동 대표를 맡고 있다. 또한, 『Big Data and Machine Learning in Quantitative Investment』(Wiley, 2018)의 편집자이자 공동 저자다.

옮긴이의 말

이제 머신러닝을 활용하는 것은 금융투자업의 영역에서도 필수적인 사항이 됐다. 왜냐하면 머신러닝은 빅데이터상에서 우리 인간이 쉽사리 탐지하기 어려운 복잡한 비선형 패턴을 발견해 새로운 투자 인사이트나 전략에 대한 힌트를 제공할 수 있기 때문이다. 물론 한편으로 이는 새로운 위험 요인으로 작용한다. 특히 신호 대 잡음비가 낮으며 동시에 비정상성을 지닌 금융 시계열 데이터의 영역에서 머신러닝을 맹목적으로 사용한다면 표본 외에서 실질적인 금전적 손실을 입을 확률이 매우 높다. 즉, 이를 부주의하게 잘못 사용한다면 그 대가는 매우 클 수 있다.
이런 맥락에서 이 책은 처음부터 금융 머신러닝은 절대로 만능이 아님을 주장하며 동시에 그 사용에 있어 굉장한 주의가 필요함을 설파한다. 금융 머신러닝을 이야기하는 책들 중에서 금융 머신러닝의 위험성부터 먼저 제시하는 책은 거의 유일하다고 할 수 있다. 사실 이러한 식견은 금융 머신러닝이라는 분야를 굉장히 깊게 다뤄보지 않았다면 나올 수가 없는 생각이다. 그만큼 두 저자는 금융시장과 퀀트 그리고 머신러닝 영역에서의 전문성을 바탕으로 금융 머신러닝을 ‘올바르게’ 활용하는 방법을 알려준다.
또한, 데이터 처리에서 시작해 알파 신호 생성, 포트폴리오 최적화 및 백테스팅, 나아가서는 인과성과 해석성에 이르기까지 머신러닝에 기반한 팩터 투자를 하기 위해 필요한 모든 재료를 다루며, 이것들을 보다 거시적인 관점에서 조망한다. 다시 말해, 금융 머신러닝을 배우고자 하는 이들에게 어떤 단계에서 어떤 적절한 절차를 따라야 하는가를 일목요연하게 정리해놓은 한 권의 실무 매뉴얼이다.
더불어 각 장별로 각각의 모델을 실제로 구현해볼 수 있는 파이썬 코드들이 수록돼 있으며 이를 바탕으로 한 연습 문제들이 있다. 이러한 파이썬 실습은 독자들이 파이썬 코드를 직접 구현해보면서 머릿속으로만 이해했던 추상적인 모델들을 보다 직관적으로 이해하고 받아들일 수 있도록 돕는다. 이처럼 이론적 지식과 실무적 응용 사이의 갭을 효과적으로 메우고 있으며, 독자들이 머신러닝 기법을 팩터 투자에 적용할 때 필요한 견고한 사고 체계의 틀을 제시한다.

옮긴이 소개

김성진

현재 하나증권 글로벌마켓운용실에서 퀀트 트레이딩을 총괄하고 있는 퀀트 트레이더다. 학생 시절 경제학을 전공하고 글로벌 매크로에 관심이 많아 채권과 외환을 다루는 FICC 트레이딩으로 첫 금융권 커리어를 시작했지만, 이후 철저히 알고리듬과 규칙에 기반해 매매를 수행하는 퀀트 트레이딩에 매료돼 현재는 퀀트 트레이더의 길을 가고 있다.
퀀트 논문과 장서를 수집하는 것이 취미이며, 촌각을 다투는 글로벌 금융시장에서 어떻게 하면 팩터 포트폴리오라는 견고한 성채를 쌓아 올릴 수 있을지를 매일 고민하고 있다.
‘퀀트대디’라는 필명으로 퀀트 투자, 알고리듬 트레이딩, 금융공학에 관한 쉽고 직관적인 글을 쓰고자 노력하고 있으며, 다양한 곳에서 퀀트와 금융공학에 관한 강의를 진행하고 있다.

목차

목차

  • 1부 ― 소개
  • 1장 표기법과 데이터
  • 1.1 표기법
  • 1.2 데이터셋

  • 2장 개요
  • 2.1 이 책의 맥락
  • 2.2 포트폴리오 구축: 작업의 흐름
  • 2.3 머신러닝은 요술봉이 아니다

  • 3장 팩터 투자와 자산 가격 결정 이상 현상
  • 3.1 개요
  • 3.2 이상 현상 탐지
  • 3.2.1 도전
  • 3.2.2 단순 포트폴리오 정렬
  • 3.2.3 팩터들
  • 3.2.4 파마-맥베스 회귀
  • 3.2.5 팩터 경쟁
  • 3.2.6 고급 기법들
  • 3.3 팩터 혹은 특성?
  • 3.4 핫한 주제들: 모멘텀, 타이밍, ESG
  • 3.4.1 팩터 모멘텀
  • 3.4.2 팩터 타이밍
  • 3.4.3 그린 팩터
  • 3.5 머신러닝과의 연결 고리
  • 3.5.1 최근 발표된 참고 문헌 리스트
  • 3.5.2 자산 가격 결정 모형과의 명백한 연결
  • 3.6 코딩 예제

  • 4장 데이터 전처리
  • 4.1 너의 데이터를 알라
  • 4.2 결측 데이터
  • 4.3 이상치 탐지
  • 4.4 특성 공학
  • 4.4.1 특성 선택
  • 4.4.2 예측 인자 스케일링
  • 4.5 레이블링
  • 4.5.1 단순 레이블
  • 4.5.2 범주형 레이블
  • 4.5.3 트리플 배리어 기법
  • 4.5.4 샘플 필터링
  • 4.5.5 수익률의 시간적 구간
  • 4.6 지속성 다루기
  • 4.7 확장
  • 4.7.1 특성 변환
  • 4.7.2 거시경제 변수
  • 4.7.3 능동 학습
  • 4.8 추가 코드 및 결과
  • 4.8.1 리스케일링 효과: 시각적 표현
  • 4.8.2 리스케일링 효과: 토이 예시
  • 4.9 코딩 예제

  • 2부 ― 지도 학습 알고리듬
  • 5장 페널티 회귀와 최소 분산 포트폴리오를 위한 희소 헤징
  • 5.1 페널티 회귀
  • 5.1.1 단순 회귀
  • 5.1.2 페널티의 형태
  • 5.1.3 실제 예시
  • 5.2 최소 분산 포트폴리오를 위한 희소 헤징
  • 5.2.1 표현 및 전개
  • 5.2.2 예시
  • 5.3 예측 회귀
  • 5.3.1 참고 문헌 리뷰 및 원칙
  • 5.3.2 코드 및 결과
  • 5.4 코딩 예제

  • 6장 트리 기반 기법
  • 6.1 단순 트리
  • 6.1.1 원칙
  • 6.1.2 분류에 대한 추가적인 디테일
  • 6.1.3 가지치기의 기준
  • 6.1.4 코드 및 해석
  • 6.2 랜덤 포레스트
  • 6.2.1 원칙
  • 6.2.2 코드 및 결과
  • 6.3 부스트 트리: 에이다부스트
  • 6.3.1 방법론
  • 6.3.2 실제 예시
  • 6.4 부스트 트리: 익스트림 그래디언트 부스팅
  • 6.4.1 손실 관리
  • 6.4.2 페널티 적용
  • 6.4.3 결합
  • 6.4.4 트리 구조
  • 6.4.5 확장
  • 6.4.6 코드 및 결과
  • 6.4.7 인스턴스 가중치 부여
  • 6.5 논의
  • 6.6 코딩 예제

  • 7장 신경망
  • 7.1 오리지널 퍼셉트론
  • 7.2 다층 퍼셉트론
  • 7.2.1 개요 및 표기법
  • 7.2.2 보편 근사화
  • 7.2.3 역전파를 통한 학습
  • 7.2.4 분류에 관한 추가적인 디테일
  • 7.3 신경망이 얼마나 깊어야 하는지에 대한 문제 그리고 다른 실무적 이슈들
  • 7.3.1 구조 선택
  • 7.3.2 가중치 업데이트의 빈도와 학습 듀레이션
  • 7.3.3 페널티와 드롭아웃
  • 7.4 코드 샘플 및 바닐라 MLP에 대한 코멘트
  • 7.4.1 회귀 예시
  • 7.4.2 분류 예시
  • 7.4.3 커스텀 손실
  • 7.5 순환 신경망
  • 7.5.1 묘사
  • 7.5.2 코드 및 결과
  • 7.6 다른 일반적 구조
  • 7.6.1 생성형 적대적 네트워크
  • 7.6.2 오토인코더
  • 7.6.3 합성곱 신경망에 관한 한마디
  • 7.6.4 고급 아키텍처
  • 7.7 코딩 예제

  • 8장 서포트 벡터 머신
  • 8.1 분류를 위한 SVM
  • 8.2 회귀를 위한 SVM
  • 8.3 연습
  • 8.4 코딩 예제

  • 9장 베이지안 기법
  • 9.1 베이지안 프레임워크
  • 9.2 베이지안 샘플링
  • 9.2.1 깁스 샘플링
  • 9.2.2 메트로폴리스-헤이스팅스 샘플링
  • 9.3 베이지안 선형 회귀
  • 9.4 나이브 베이스 분류기
  • 9.5 베이지안 가법 트리
  • 9.5.1 일반적인 형태
  • 9.5.2 사전 값
  • 9.5.3 샘플링 및 예측
  • 9.5.4 코드

  • 3부 ― 예측에서 포트폴리오로
  • 10장 검증 및 튜닝
  • 10.1 학습 지표
  • 10.1.1 회귀 분석
  • 10.1.2 분류 분석
  • 10.2 검증
  • 10.2.1 분산-편향 트레이드 오프: 이론
  • 10.2.2 분산-편향 트레이드 오프: 묘사
  • 10.2.3 과최적화의 위험: 원리
  • 10.2.4 과최적화의 위험: 몇 가지 해결책
  • 10.3 좋은 하이퍼파라미터 찾기
  • 10.3.1 방법론
  • 10.3.2 예시: 격자 탐색
  • 10.3.3 예시: 베이지안 최적화
  • 10.4 백테스팅 검증에 대한 짧은 논의

  • 11장 앙상블 모델
  • 11.1 선형 앙상블
  • 11.1.1 원리
  • 11.1.2 예시
  • 11.2 스택 앙상블
  • 11.2.1 두 단계 학습
  • 11.2.2 코드 및 결과
  • 11.3 확장
  • 11.3.1 외생 변수
  • 11.3.2 모델 간 상관계수 축소
  • 11.4 연습 문제

  • 12장 포트폴리오 백테스팅
  • 12.1 프로토콜 세팅
  • 12.2 신호를 포트폴리오 가중치로 변환하기
  • 12.3 성과 지표
  • 12.3.1 논의
  • 12.3.2 순수한 성과 및 위험 지표
  • 12.3.3 팩터 기반 평가
  • 12.3.4 위험 조정 지표
  • 12.3.5 거래 비용 및 회전율
  • 12.4 일반적인 오류 및 이슈
  • 12.4.1 미래 참조 데이터
  • 12.4.2 백테스트 과최적화
  • 12.4.3 간단한 방지책
  • 12.5 비정상성에 대한 암시: 예측은 어렵다
  • 12.5.1 일반적인 코멘트
  • 12.5.2 공짜 점심은 없다
  • 12.6 첫 번째 예시: 완전한 백테스트
  • 12.7 두 번째 예시: 백테스트 과최적화
  • 12.8 코딩 예제

  • 4부 ― 추가적인 중요 주제들
  • 13장 해석성
  • 13.1 전역적 해석
  • 13.1.1 대리 모델로서의 단순 모형
  • 13.1.2 트리 기반 변수 중요도
  • 13.1.3 불가지론적 변수 중요도
  • 13.1.4 부분 종속성 플롯
  • 13.2 지역적 해석
  • 13.2.1 LIME
  • 13.2.2 샤플리 값
  • 13.2.3 분해

  • 14장 두 가지 주요 개념: 인과성과 비정상성
  • 14.1 인과성
  • 14.1.1 그랜저 인과성
  • 14.1.2 인과적 가법성 모델
  • 14.1.3 구조적 시계열 모델
  • 14.2 변화하는 환경 다루기
  • 14.2.1 비정상성: 또 다른 예시
  • 14.2.2 온라인 학습
  • 14.2.3 동질적 전이 학습

  • 15장 비지도 학습
  • 15.1 상관관계가 있는 예측 인자의 문제점
  • 15.2 주성분 분석과 오토인코더
  • 15.2.1 아주 조금의 선형대수
  • 15.2.2 PCA
  • 15.2.3 오토인코더
  • 15.2.4 응용
  • 15.3 k-평균을 통한 클러스터링
  • 15.4 최근접 이웃
  • 15.5 코딩 예제

  • 16장 강화학습
  • 16.1 이론적 구성
  • 16.1.1 일반적인 프레임워크
  • 16.1.2 Q-러닝
  • 16.1.3 SARSA
  • 16.2 차원의 저주
  • 16.3 정책 경사
  • 16.3.1 원칙
  • 16.3.2 확장
  • 16.4 단순한 예시
  • 16.4.1 시뮬레이션으로 하는 Q-러닝
  • 16.4.2 시장 데이터와 Q-러닝
  • 16.5 결론
  • 16.6 예제

  • 5부 ― 부록
  • 17장 데이터 설명

  • 18장 예제 정답
  • 18.1 3장
  • 18.2 4장
  • 18.3 5장
  • 18.4 6장
  • 18.5 7장: 오토인코더 모델과 보편 근사화
  • 18.6 8장
  • 18.7 11장: 앙상블 신경망
  • 18.8 12장
  • 18.8.1 동일 가중 포트폴리오
  • 18.8.2 고급 가중 함수
  • 18.9 15장
  • 18.10 16장

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안