Skip to content

ChoiInYeol/machine-learning-for-trading-main_ko

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

거래용 ML - 2차 에디션

zipline-reloaded의 목표는 ML이 어떻게 실용적이면서도 포괄적인 방식으로 알고리즘 거래 전략에 가치를 추가할 수 있는지 보여주는 것입니다. 선형 회귀부터 심층 강화 학습까지 광범위한 ML 기술을 다루고, 모델 예측을 기반으로 거래 전략을 구축, 백테스트 및 평가하는 방법을 보여줍니다.

23개 장과 부록으로 구성된 4부로 구성된 이 책은 800페이지 이상을 다룹니다.

  • 데이터 소싱, 재무 특성 엔지니어링 및 포트폴리오 관리의 중요한 측면,
  • 지도 및 비지도 ML 알고리즘을 기반으로 한 장단기 전략의 설계 및 평가,
  • SEC 서류, 실적 보고서 또는 금융 뉴스와 같은 금융 텍스트 데이터에서 거래 가능한 신호를 추출하는 방법,
  • 시장 및 대체 데이터와 함께 CNN 및 RNN과 같은 딥 러닝 모델 사용, 생성적 적대 네트워크로 합성 데이터를 생성하는 방법, 심층 강화 학습을 사용하여 거래 에이전트 교육

이 저장소에는 책에서 설명한 개념, 알고리즘, 사용 사례를 실행에 옮기는 150개 이상의 노트북이 포함되어 있습니다. 그들은 다음을 보여주는 수많은 예를 제공합니다.

  • 시장, 기본 및 대체 텍스트 및 이미지 데이터로 작업하고 신호를 추출하는 방법,
  • 최근 발표된 연구를 복제하는 방법을 포함하여 다양한 자산 클래스 및 투자 기간에 대한 수익을 예측하는 모델을 훈련하고 조정하는 방법
  • 거래 전략을 설계, 백테스트 및 평가하는 방법.

책을 읽으면서 노트를 검토해 볼 것을 적극 권장합니다. 이는 일반적으로 실행된 상태에 있으며 공간 제약으로 인해 포함되지 않은 추가 정보를 포함하는 경우가 많습니다.

이 저장소의 정보 외에도 책의 pyfolio-reloaded에는 장 요약 및 추가 정보가 포함되어 있습니다.

ML4T 커뮤니티에 가입하세요!

독자들이 책의 내용과 코드 예제는 물론 자신의 전략 개발 및 구현과 업계 발전에 대해 쉽게 질문할 수 있도록 온라인 alphalens-reloaded을 개최합니다.

우리 커뮤니티를 empyrical-reloaded하고 거래 전략에 ML을 활용하는 데 관심이 있는 동료 거래자들과 연결하고, 경험을 공유하고, 서로에게서 배우십시오!

2nd 에디션의 새로운 기능은 무엇인가요?

무엇보다도 이 conda-forge는 다양한 지도, 비지도 및 강화 학습 알고리즘을 사용하여 다양한 데이터 소스에서 신호를 추출하고 다양한 자산 클래스에 대한 거래 전략을 설계하는 방법을 보여줍니다. 또한 알고리즘 조정이나 결과 해석을 용이하게 하는 관련 수학적 및 통계적 지식을 제공합니다. 또한 시장 및 기본 데이터로 작업하고, 유용한 기능을 추출하고, 거래 전략 성과를 관리하는 데 도움이 되는 재무 배경을 다룹니다.

실용적인 관점에서 제2판은 자신만의 ML 기반 거래 전략을 개발하기 위한 개념적 이해와 도구를 갖추는 것을 목표로 합니다. 이를 위해 ML을 독립 실행형 실행이 아닌 프로세스의 중요한 요소로 구성하여 데이터 소싱, 기능 엔지니어링, 모델 최적화부터 전략 설계 및 백테스트까지 거래 워크플로를 위한 엔드투엔드 ML을 도입합니다.

보다 구체적으로, ML4T 워크플로는 잘 정의된 투자 영역에 대한 아이디어 생성, 관련 데이터 수집, 유용한 기능 추출로 시작됩니다. 또한 예측 작업에 적합한 ML 모델을 설계, 조정 및 평가하는 작업도 포함됩니다. 마지막으로, 모델의 예측 신호에 따라 조치를 취하는 거래 전략을 개발하고 백테스팅 엔진을 사용하여 과거 데이터에 대한 성과를 시뮬레이션하고 평가해야 합니다. 실제 시장에서 알고리즘 전략을 실행하기로 결정하면 새로운 정보와 변화하는 환경을 통합하기 위해 이 워크플로를 반복적으로 반복하게 됩니다.

ML4t 워크플로에 대한 ml4t의 강조는 conda에 대한 새로운 장, 100개 이상의 다양한 알파 요소를 설명하는 새로운 부록 및 많은 새로운 실용적인 애플리케이션으로 변환됩니다. 또한 명확성과 가독성을 위해 대부분의 기존 콘텐츠를 다시 작성했습니다.

이제 거래 애플리케이션은 국제 주식 및 ETF를 포함하여 일일 미국 주식 가격을 넘어 더 광범위한 데이터 소스를 사용합니다. 또한 분 빈도 주식 데이터를 사용하여 일중 전략에 ML을 사용하는 방법을 보여줍니다. 또한 대체 데이터 소스의 범위를 확장하여 정서 분석 및 수익 예측을 위한 SEC 제출 자료와 토지 이용 분류를 위한 위성 이미지를 포함합니다.

두 번째 버전의 또 다른 혁신은 최근 최고의 저널에 게시된 여러 거래 애플리케이션을 복제한 것입니다.

  • 18장Sezer와 Ozbahoglu(2018)을 기반으로 수익 예측을 위해 이미지 형식으로 변환된 시계열에 컨벌루션 신경망을 적용하는 방법을 보여줍니다.
  • 제20장은 Shihao Gu, Bryan T. Kelly, Dacheng Xiu(2019)의 오토인코더 자산 가격 모델을 기반으로 한 오토인코더를 사용하여 자산 가격 결정을 위해 주식 특성에 따른 위험 요소를 추출하는 방법을 보여줍니다.
  • 21장는 윤진성, Daniel Jarrett, Mihaela van der Schaar의 시계열 생성적 적대 신경망을 기반으로 생성적 적대 신경망을 사용하여 합성 훈련 데이터를 생성하는 방법을 보여줍니다(2019).

이제 모든 애플리케이션은 pandas 1.0 및 TensorFlow 2.2와 같은 최신(작성 당시) 소프트웨어 버전을 사용합니다. 거래 전략을 설계할 때 기계 학습 모델 예측을 쉽게 포함할 수 있는 맞춤형 버전의 Zipline도 있습니다.

설치, 데이터 소스 및 버그 보고서

코드 예제는 데이터 과학 및 금융 도메인의 광범위한 Python 라이브러리를 사용합니다.

버전 충돌이 발생할 가능성이 높아지므로 모든 라이브러리를 한 번에 설치하려고 할 필요는 없습니다. 대신, 진행하면서 특정 장에 필요한 라이브러리를 설치하는 것이 좋습니다.

2022년 3월 업데이트: 이제 , 웹사이트, 플랫폼, 가입하다을(를) 채널에서 사용할 수 있습니다. 두번째 버전 채널에는 오래된 버전만 포함되어 있으며 곧 삭제될 예정입니다.

2021년 4월 업데이트: 지퍼 라인 업데이트로 더 이상 Docker를 사용할 필요가 없습니다. 이제 설치 지침에서는 노트북 실행을 단순화하는 OS별 환경 파일을 참조합니다.

2021년 2월 업데이트: 코드 샘플 릴리스 2.0은 Docker 이미지에서 제공하는 conda 환경을 Python 3.8, Pandas 1.2 및 TensorFlow 1.2 등으로 업데이트합니다. 이제 Zipline 백테스팅 환경에서는 Python 3.6을 사용합니다.

  • 설치 디렉터리에는 Docker 이미지를 설정하고 사용하여 노트북을 실행하는 방법에 대한 자세한 지침이 포함되어 있습니다. 또한 다양한 전략 백테스팅 환경을 설정하고 원하는 경우 노트북에 사용되는 패키지를 컴퓨터에 직접 설치하기 위한 구성 파일도 포함되어 있습니다(시스템에 따라 추가 작업을 수행할 준비가 되어 있음).
  • 이 책에 사용된 많은 데이터 소스를 다운로드하고 전처리하려면 데이터 디렉터리의 다양한 노트북과 함께 읽어보기 파일의 지침을 참조하세요.

환경 설치, 데이터 다운로드, 코드 실행에 어려움이 있는 경우 리포지토리(여기)에 GitHub 문제를 제기해 주세요. GitHub 문제 작업은 여기에 설명되어 있습니다.

업데이트: 여기 책에 사용된 사형집행인 데이터를 다운로드할 수 있습니다. 제 2 장의 전처리 지침과 제12장의 그래디언트 부스팅 모델을 사용한 일중 예제를 참조하세요.

업데이트: 피규어 디렉토리에는 책에 사용된 차트의 컬러 버전이 포함되어 있습니다.

개요 및 장 요약

는 시장, 기본 및 대체 데이터 소싱을 소싱하고 작업할 때 발생하는 다양한 문제를 해결하고, 거래 맥락에서 다양한 예측 작업에 대한 ML 솔루션을 개발하고, 생성된 예측 신호에 의존하는 거래 전략을 설계 및 평가하는 네 부분으로 구성됩니다. ML 모델.

각 장의 디렉토리에는 콘텐츠, 코드 예제 및 추가 리소스에 대한 추가 정보가 포함된 README가 포함되어 있습니다.

자리표시자_26

  • 자리표시자_27
  • 자리표시자_28
  • 자리표시자_29
  • 자리표시자_30
  • 자리표시자_31

자리표시자_32

  • 자리표시자_33
  • 자리표시자_34
  • 자리표시자_35
  • 자리표시자_36
  • 자리표시자_37
  • 자리표시자_38
  • 자리표시자_39
  • 자리표시자_40

자리표시자_41

  • 자리표시자_42
  • 자리표시자_43
  • 자리표시자_44

자리 표시자_45

  • 자리표시자_46
  • 자리표시자_47
  • 자리표시자_48
  • 자리표시자_49
  • 자리표시자_50
  • 자리표시자_51
  • 자리표시자_52
  • 자리표시자_53

1부: 데이터에서 전략 개발까지

첫 번째 부분에서는 기계 학습(ML)을 기반으로 거래 전략을 개발하기 위한 프레임워크를 제공합니다. 이 책에서 논의된 ML 알고리즘과 전략을 강화하는 데이터에 초점을 맞추고, ML 모델에 적합한 기능을 엔지니어링하고 평가하는 방법과 거래 전략을 실행하는 동안 포트폴리오 성과를 관리하고 측정하는 방법을 간략하게 설명합니다.

01 트레이딩을 위한 머신러닝: 아이디어부터 실행까지

에서는 투자 업계에서 경쟁 우위의 원천으로 ML이 등장하게 된 업계 동향을 살펴봅니다. 또한 알고리즘 거래 전략을 활성화하기 위해 ML이 투자 프로세스에 적합한 위치를 살펴보겠습니다.

보다 구체적으로 다음 주제를 다룹니다.

  • 투자산업에서 ML이 부상하는 주요 동향
  • ML을 활용한 거래 전략의 설계 및 실행
  • 거래에서 ML의 인기 있는 사용 사례

02 시장 및 기초 데이터: 출처 및 기법

는 시장 및 기본 데이터로 작업하는 방법을 보여주고 해당 데이터가 반영하는 환경의 중요한 측면을 설명합니다. 예를 들어, 다양한 주문 유형과 거래 인프라에 대한 지식은 데이터 해석뿐만 아니라 백테스트 시뮬레이션을 올바르게 설계하는 데에도 중요합니다. 또한 Python을 사용하여 거래 및 재무제표 데이터에 액세스하고 조작하는 방법을 설명합니다.

실제 사례에서는 나중에 ML 기반 일중 전략에 사용할 수요-공급 역학을 포착하는 풍부한 속성 세트를 사용하여 NASDAQ 틱 데이터 및 Algoseek 분 막대 데이터의 거래 데이터로 작업하는 방법을 보여줍니다. 또한 다양한 데이터 제공자 API와 SEC에서 재무제표 정보를 얻는 방법도 다룹니다.

특히 이 장에서는 다음 내용을 다룹니다.
  • 시장 데이터가 거래 환경의 구조를 어떻게 반영하는지
  • 분 단위로 일중 거래 및 시세 데이터 작업
  • NASDAQ ITCH를 사용하여 틱 데이터로부터 한도 주문장 재구성
  • 다양한 종류의 막대를 활용한 틱 데이터 요약
  • XBRL(eXtensible Business Reporting Language)로 인코딩된 전자 파일링 작업
  • 시장 및 기초 데이터를 분석하고 결합하여 P/E 시리즈 생성
  • Python을 사용하여 다양한 시장 및 기초 데이터 소스에 접근하는 방법

03 금융을 위한 대체 데이터: 카테고리 및 사용 사례

에서는 대체 데이터의 범주 및 사용 사례를 간략하게 설명하고, 급증하는 소스 및 제공자를 평가하는 기준을 설명하고, 현재 시장 환경을 요약합니다.

또한 책의 세 번째 부분에서는 자연어 처리(NLP) 및 감정 분석 알고리즘에 사용할 수익 보고 기록을 수집하는 등 웹사이트를 스크랩하여 대체 데이터 세트를 만드는 방법을 보여줍니다.

보다 구체적으로 이 장에서는 다음을 다룹니다.

  • 대체 데이터 혁명 동안 어떤 새로운 신호 소스가 등장했나요?
  • 개인, 기업, 센서가 다양한 대체 데이터를 생성하는 방법
  • 대체 데이터의 중요 카테고리 및 제공자
  • 급증하는 대체 데이터 공급을 거래에 어떻게 활용할 수 있는지 평가
  • 인터넷 스크래핑 등 Python에서 대체 데이터 작업

04 금융특성공학: 알파팩터 연구 방법

ML에 이미 익숙하다면 특성 추출이 성공적인 예측을 위한 중요한 요소라는 것을 알고 계실 것입니다. 학계 및 업계 연구자들이 자산 시장과 가격을 주도하는 요인과 가격 변동을 설명하거나 예측하는 데 도움이 되는 기능을 수십 년 동안 조사해 온 거래 영역에서는 최소한 중요합니다.

는 알파 요인에 대한 탐구의 출발점으로서 이 연구의 주요 내용을 간략하게 설명합니다. 또한 NumPy, pandas 및 TA-Lib 라이브러리가 어떻게 데이터 조작을 용이하게 하는지 강조하고, 데이터의 노이즈를 줄이는 데 도움이 되는 웨이블릿 및 Kalman 필터와 같은 널리 사용되는 평활화 기술을 제시하면서 알파 요소를 계산하고 테스트하는 필수 도구를 제공합니다. 읽고 나면 다음 사항을 알게 됩니다.

  • 어떤 요인이 존재하는지, 왜 작용하는지, 어떻게 측정하는지,
  • NumPy, pandas 및 TA-Lib를 사용하여 알파 팩터 생성,
  • 웨이블릿과 칼만 필터를 사용하여 데이터의 잡음을 제거하는 방법,
  • Zipline을 사용하여 개별 및 다중 알파 요인 테스트,
  • 알파렌즈을 사용하여 예측 성능을 평가하는 방법.

05 포트 최적화 및 성능 평가

알파 팩터는 알고리즘 전략이 거래로 변환되어 결국 롱 포지션과 숏 포지션이 생성된다는 신호를 생성합니다. 결과 포트폴리오의 수익과 위험에 따라 전략이 투자 목표를 충족하는지 여부가 결정됩니다.

포트폴리오를 최적화하는 방법에는 여러 가지가 있습니다. 여기에는 자산 간의 계층적 관계를 학습하고 포트폴리오의 위험 프로필을 설계할 때 이를 보완재 또는 대체재로 처리하기 위한 기계 학습(ML) 적용이 포함됩니다. 이 에는 다음이 포함됩니다.

  • 포트폴리오 위험과 수익을 측정하는 방법
  • 평균-분산 최적화 및 대안을 활용한 포트폴리오 가중치 관리
  • 머신러닝을 사용하여 포트폴리오 맥락에서 자산 배분을 최적화합니다.
  • Zipline을 사용하여 거래를 시뮬레이션하고 알파 팩터를 기반으로 포트폴리오를 생성합니다.
  • 을 사용하여 포트폴리오 성과를 평가하는 방법

2부: 거래를 위한 머신러닝: 기초

두 번째 부분에서는 기본적인 지도 및 비지도 학습 알고리즘을 다루고 이를 거래 전략에 적용하는 방법을 보여줍니다. 또한 이 책에서 개발한 데이터와 ML 기술을 활용하고 결합하여 실제 시장에서 거래를 실행하는 알고리즘 전략을 구현할 수 있는 Quantopian 플랫폼을 소개합니다.

06 머신러닝 프로세스

은 다양한 감독 및 비지도 ML 모델을 거래에 사용하는 방법을 보여주는 2부를 시작합니다. 다양한 Python 라이브러리를 사용하여 관련 애플리케이션을 시연하기 전에 각 모델의 가정과 사용 사례를 설명하겠습니다.

이러한 모델과 해당 응용 프로그램에는 몇 가지 공통점이 있습니다. 이 장에서는 다음 장에서 모델별 사용법에 집중할 수 있도록 이러한 일반적인 측면을 다룹니다. ML 모델의 예측 성능을 체계적인 워크플로로 공식화, 학습, 조정 및 평가하는 방법을 간략하게 설명하여 무대를 설정합니다. 내용은 다음과 같습니다:

  • 데이터를 통한 지도 학습 및 비지도 학습의 작동 방식
  • 회귀 및 분류 작업을 위한 지도 학습 모델 훈련 및 평가
  • 편향-분산 균형이 예측 성능에 미치는 영향
  • 과적합으로 인한 예측 오류를 진단하고 해결하는 방법
  • 교차 검증을 사용하여 시계열 데이터에 중점을 두고 초매개변수를 최적화합니다.
  • 표본 외부 테스트 시 금융 데이터에 추가적인 주의가 필요한 이유

07 선형모형: 위험요소부터 수익률 예측까지

선형 모델은 회귀 및 분류 상황에서 추론과 예측을 위한 표준 도구입니다. 널리 사용되는 수많은 자산 가격 책정 모델은 선형 회귀에 의존합니다. Ridge 및 Lasso 회귀와 같은 정규화된 모델은 과적합 위험을 제한하여 더 나은 예측을 제공하는 경우가 많습니다. 일반적인 회귀 애플리케이션은 자산 수익을 유도하는 위험 요소를 식별하여 위험을 관리하거나 수익을 예측합니다. 반면 분류 문제에는 방향성 가격 예측이 포함됩니다.

7장에서는 다음 주제를 다룹니다.

  • 선형 회귀가 어떻게 작동하고 어떤 가정을 하는지
  • 선형 회귀 모델 학습 및 진단
  • 선형 회귀를 사용하여 주식 수익률 예측
  • 정규화를 사용하여 예측 성능 향상
  • 로지스틱 회귀의 작동 방식
  • 회귀를 분류 문제로 변환

08 ML4T 워크플로: 모델에서 전략 백테스팅까지

은 ML 알고리즘으로 구동되는 거래 전략의 설계, 시뮬레이션 및 평가에 대한 엔드투엔드 관점을 제시합니다. Python 라이브러리 역매매자지퍼 라인를 사용하여 과거 시장 상황에서 ML 기반 전략을 백테스트하는 방법을 자세히 설명합니다. ML4T 워크플로는 궁극적으로 실제 시장에서 후보 전략을 배포하고 재정 자원을 위험에 빠뜨릴지 여부를 결정하는 데 도움이 되는 과거 데이터에서 증거를 수집하는 것을 목표로 합니다. 전략의 현실적인 시뮬레이션은 보안 시장의 운영 방식과 거래 실행 방식을 충실하게 나타내야 합니다. 또한 몇 가지 방법론적 측면에서는 잘못된 투자 결정으로 이어질 수 있는 편향된 결과와 잘못된 발견을 피하기 위해 주의가 필요합니다.

보다 구체적으로, 이 장을 완료하면 다음을 수행할 수 있습니다.

  • End-to-End 전략 백테스팅 계획 및 구현
  • 백테스트를 구현할 때 중요한 함정을 이해하고 방지합니다.
  • 벡터화된 엔진과 이벤트 기반 백테스팅 엔진의 장점과 단점에 대해 논의합니다.
  • 이벤트 중심 백테스터의 주요 구성 요소를 식별하고 평가합니다.
  • ML 모델을 별도로 훈련하거나 백테스트의 일부로 분 단위 및 일 단위로 데이터 소스를 사용하여 ML4T 워크플로를 설계 및 실행합니다.
  • Zipline과 backtrader를 사용하여 자신만의 전략을 설계하고 평가하세요.

09 변동성 예측 및 통계 차익거래를 위한 시계열 모델

은 시계열 기록에서 신호를 추출하여 동일한 시계열의 미래 값을 예측하는 모델에 중점을 둡니다. 시계열 모델은 거래에 내재된 시간 차원으로 인해 널리 사용됩니다. 이는 정상성과 같은 시계열 특성을 진단하고 잠재적으로 유용한 패턴을 포착하는 기능을 추출하는 도구를 제공합니다. 또한 거시 데이터 및 변동성 패턴을 예측하기 위해 일변량 및 다변량 시계열 모델을 도입합니다. 마지막으로, 공적분이 시계열 전반에 걸쳐 공통 추세를 식별하는 방법을 설명하고 이 중요한 개념을 기반으로 쌍 거래 전략을 개발하는 방법을 보여줍니다.

특히 다음 내용을 다룹니다.

  • 시계열 분석을 사용하여 모델링 프로세스를 준비하고 알리는 방법
  • 일변량 자기회귀 및 이동평균 모델 추정 및 진단
  • 변동성 예측을 위한 자동 회귀 조건부 이분산성(ARCH) 모델 구축
  • 다변량 벡터 자기회귀 모델을 구축하는 방법
  • 공동 적분을 사용하여 쌍 거래 전략 개발

10 베이지안 ML: 동적 샤프 비율 및 쌍 거래

베이지안 통계를 사용하면 미래 사건에 대한 불확실성을 정량화하고 새로운 정보가 도착함에 따라 원칙적인 방식으로 추정치를 개선할 수 있습니다. 이러한 역동적인 접근 방식은 금융 시장의 진화하는 특성에 잘 적응합니다. ML에 대한 베이지안 접근 방식은 통계 측정항목, 매개변수 추정 및 예측과 관련된 불확실성에 대한 새로운 통찰력을 제공합니다. 적용 범위는 더욱 세분화된 위험 관리부터 시장 환경의 변화를 통합하는 예측 모델의 동적 업데이트까지 다양합니다.

보다 구체적으로 이 에서는 다음을 다룹니다.

  • 베이지안 통계가 머신러닝에 어떻게 적용되나요?
  • PyMC3를 이용한 확률적 프로그래밍
  • PyMC3를 활용한 머신러닝 모델 정의 및 학습
  • 근사 추론을 수행하기 위해 최첨단 샘플링 방법을 실행하는 방법
  • 동적 샤프 비율, 동적 쌍 거래 헤지 비율을 계산하고 확률적 변동성을 추정하는 베이지안 ML 애플리케이션

11가지 랜덤 포레스트: 일본 주식을 위한 롱숏 전략

은 의사결정 트리와 랜덤 포레스트를 거래에 적용합니다. 의사결정 트리는 비선형 입출력 관계를 인코딩하는 데이터로부터 규칙을 학습합니다. 회귀 및 분류 문제에 대한 예측을 수행하고, 모델에서 학습한 규칙을 시각화 및 해석하고, 모델의 하이퍼 매개변수를 조정하여 편향-분산 트레이드오프를 최적화하고 과적합을 방지하기 위해 의사결정 트리를 훈련하는 방법을 보여줍니다.

이 장의 두 번째 부분에서는 여러 의사결정 트리를 무작위 방식으로 결합하여 오류가 낮은 단일 예측을 생성하는 앙상블 모델을 소개합니다. 랜덤 포레스트 모델에 의해 생성된 거래 신호를 기반으로 한 일본 주식에 대한 롱숏 전략으로 마무리됩니다.

간단히 말해서 이 장에서는 다음 내용을 다룹니다.

  • 회귀 및 분류를 위해 의사결정 트리를 사용합니다.
  • 의사결정 트리에서 통찰력을 얻고 데이터에서 학습된 규칙을 시각화합니다.
  • 앙상블 모델이 우수한 결과를 제공하는 경향이 있는 이유를 이해합니다.
  • 부트스트랩 집계를 사용하여 의사결정 트리의 과적합 문제를 해결합니다.
  • 랜덤 포레스트 훈련, 조정 및 해석
  • 수익성 있는 거래 전략을 설계하고 평가하기 위해 랜덤 포레스트를 사용합니다.

12 거래 전략 강화

그라디언트 부스팅은 종종 랜덤 포레스트보다 더 나은 결과를 생성하는 대체 트리 기반 앙상블 알고리즘입니다. 중요한 차이점은 부스팅이 모델의 누적 오류를 기반으로 각 트리를 훈련하는 데 사용되는 데이터를 수정한다는 것입니다. 랜덤 포레스트는 데이터의 무작위 하위 집합을 사용하여 많은 트리를 독립적으로 훈련하는 반면, 부스팅은 순차적으로 진행되어 데이터에 가중치를 다시 부여합니다. 이 는 최첨단 라이브러리가 어떻게 인상적인 성능을 달성하고 일중 거래 전략을 백테스트하기 위해 일일 및 고주파수 데이터에 부스팅을 적용하는지 보여줍니다.

보다 구체적으로 다음 주제를 다룰 것입니다.

  • 부스팅은 배깅과 어떻게 다르며, 적응형 부스팅에서 그라디언트 부스팅은 어떻게 진화했나요?
  • scikit-learn을 사용하여 적응형 및 그래디언트 부스팅 모델을 설계하고 조정합니다.
  • 최첨단 구현인 XGBoost, LightGBM 및 CatBoost를 사용하여 대규모 데이터 세트에서 그래디언트 부스팅 모델을 구축, 최적화 및 평가합니다.
  • SHAP 값을 사용하여 그래디언트 부스팅 모델을 해석하고 통찰력을 얻습니다.
  • 빈도가 높은 데이터로 부스팅을 사용하여 일중 전략을 설계합니다.

13가지 데이터 기반 위험 요소 및 비지도 학습을 통한 자산 배분

차원 축소 및 클러스터링은 비지도 학습의 주요 작업입니다.

  • 차원 축소는 정보 손실을 최소화하면서 기존 기능을 새롭고 작은 세트로 변환합니다. 정보 손실을 측정하는 방법, 선형 또는 비선형 변환을 적용하는지 여부, 새로운 기능 세트에 부과하는 제약 조건에 따라 다양한 알고리즘이 존재합니다.
  • 클러스터링 알고리즘은 새로운 특징을 식별하는 대신 유사한 관찰 또는 특징을 식별하고 그룹화합니다. 알고리즘은 관찰의 유사성을 정의하는 방법과 결과 그룹에 대한 가정이 다릅니다.

보다 구체적으로 이 에서는 다음을 다룹니다.

  • 주성분 분석(PCA 및 ICA)이 선형 차원 축소를 수행하는 방법
  • PCA를 활용하여 자산수익률로부터 데이터 기반의 위험요인 및 고유포트폴리오를 식별
  • 매니폴드러닝을 활용하여 비선형, 고차원 데이터를 효과적으로 시각화
  • T-SNE, UMAP을 활용하여 고차원 영상 데이터 탐색
  • k-평균, 계층적, 밀도 기반 클러스터링 알고리즘의 작동 방식
  • 집적 클러스터링을 사용하여 계층적 위험 패리티를 갖춘 강력한 포트폴리오 구축

3부: 거래를 위한 자연어 처리

텍스트 데이터는 콘텐츠가 풍부하지만 형식이 구조화되어 있지 않으므로 기계 학습 알고리즘이 잠재적인 신호를 추출할 수 있도록 더 많은 전처리가 필요합니다. 중요한 과제는 텍스트를 알고리즘에서 사용할 수 있도록 숫자 형식으로 변환하는 동시에 콘텐츠의 의미나 의미를 표현하는 것입니다.

다음 세 장에서는 기계 학습 알고리즘이 이를 해석할 수 있도록 인간이 쉽게 이해할 수 있는 언어 뉘앙스를 포착하는 몇 가지 기술을 다룹니다.

14 거래를 위한 텍스트 데이터: 감정 분석

텍스트 데이터는 콘텐츠가 매우 풍부하지만 구조화되어 있지 않으므로 ML 알고리즘을 사용하여 관련 정보를 추출하려면 더 많은 전처리가 필요합니다. 핵심 과제는 의미를 잃지 않고 텍스트를 숫자 형식으로 변환하는 것입니다. 이 는 텍스트 분류 및 감정 분석을 위한 입력 역할을 하는 문서 용어 행렬을 생성하여 문서를 토큰 수의 벡터로 표현하는 방법을 보여줍니다. 또한 Naive Bayes 알고리즘을 소개하고 그 성능을 선형 및 트리 기반 모델과 비교합니다.

특히 이 장에서는 다음 내용을 다룹니다.

  • 기본적인 NLP 워크플로우는 어떤 모습인가요?
  • spaCy 및 TextBlob을 사용하여 다국어 특징 추출 파이프라인을 구축하는 방법
  • 품사 태깅 또는 명명된 엔터티 인식과 같은 NLP 작업 수행
  • 문서 용어 행렬을 사용하여 토큰을 숫자로 변환
  • Naive Bayes 모델을 이용한 뉴스 분류
  • 다양한 ML 알고리즘을 사용하여 감정 분석을 수행하는 방법

15 주제 모델링: 금융 뉴스 요약

은 비지도 학습을 사용하여 잠재 주제를 모델링하고 문서에서 숨겨진 테마를 추출합니다. 이러한 주제는 대규모 재무 보고서 모음에 대한 자세한 통찰력을 생성할 수 있습니다. 주제 모델은 정교하고 해석 가능한 텍스트 기능 생성을 자동화하여 광범위한 텍스트 모음에서 거래 신호를 추출하는 데 도움을 줄 수 있습니다. 문서 검토 속도를 높이고 유사한 문서의 클러스터링을 활성화하며 예측 모델링에 유용한 주석을 생성합니다. 응용 프로그램에는 회사 공개, 수입 보고 기록 또는 계약서의 중요한 주제 식별, 감정 분석을 기반으로 한 주석 또는 관련 자산 수익을 사용한 주석이 포함됩니다.

보다 구체적으로 다음 내용을 다룹니다.

  • 토픽 모델링이 어떻게 발전해왔는지, 그것이 무엇을 달성하는지, 왜 중요한지
  • 잠재 의미 색인을 사용하여 DTM의 차원성을 줄입니다.
  • pLSA(확률적 잠재 의미 분석)를 통한 주제 추출
  • 잠재 Dirichlet 할당(LDA)이 pLSA를 어떻게 개선하여 가장 인기 있는 주제 모델이 되었는지
  • 토픽모델링 결과의 시각화 및 평가 -
  • scikit-learn 및 gensim을 사용하여 LDA 실행
  • 실적 발표 및 금융 뉴스 기사 모음에 주제 모델링을 적용하는 방법

수익 예측 및 SEC 제출을 위한 16가지 단어 임베딩

는 신경망을 사용하여 단어나 단락과 같은 개별 의미 단위의 벡터 표현을 학습합니다. 이러한 벡터는 단어주머니 모델의 고차원 희소 벡터와 비교하여 수백 개의 실제 값 항목으로 밀도가 높습니다. 결과적으로 이러한 벡터는 연속적인 벡터 공간에 각 의미 단위를 포함하거나 위치를 지정합니다.

임베딩은 유사한 사용법이 유사한 벡터를 의미한다는 이점을 통해 토큰을 해당 컨텍스트에 연결하도록 모델을 훈련한 결과입니다. 결과적으로, 상대적인 위치를 통해 단어 간의 관계와 같은 의미론적 측면을 인코딩합니다. 이는 다음 장에서 딥러닝 모델과 함께 사용할 강력한 기능입니다.

보다 구체적으로 이 장에서는 다음 내용을 다룰 것입니다.

  • 단어 임베딩이란 무엇이며 의미 정보를 캡처하는 방법
  • 사전 학습된 단어 벡터를 얻고 사용하는 방법
  • word2vec 모델 학습에 가장 효과적인 네트워크 아키텍처는 무엇입니까?
  • TensorFlow와 gensim을 사용하여 word2vec 모델을 훈련하는 방법
  • 단어 벡터의 품질 시각화 및 평가
  • 주가 변동을 예측하기 위해 SEC 서류에 word2vec 모델을 훈련하는 방법
  • doc2vec이 word2vec을 확장하고 감정 분석에 도움을 주는 방법
  • 변환기의 주의 메커니즘이 NLP에 영향을 미친 이유
  • 금융 데이터에 대해 사전 훈련된 BERT 모델을 미세 조정하는 방법

4부: 심층 학습 및 강화 학습

4부에서는 알고리즘 거래에 딥 러닝을 활용하는 방법을 설명하고 시연합니다. 구조화되지 않은 데이터의 패턴을 식별하는 딥 러닝 알고리즘의 강력한 기능은 이미지 및 텍스트와 같은 대체 데이터에 특히 적합합니다.

예를 들어 샘플 애플리케이션은 텍스트와 가격 데이터를 결합하여 SEC 제출에서 놀라운 수익을 예측하는 방법, 훈련 데이터의 양을 확장하기 위해 합성 시계열을 생성하는 방법, 심층 강화 학습을 사용하여 거래 에이전트를 훈련하는 방법을 보여줍니다. 이러한 응용 프로그램 중 일부는 최근 최고의 저널에 발표된 연구를 복제합니다.

17 거래를 위한 딥러닝

는 피드포워드 신경망(NN)을 제시하고 과적합 위험을 관리하면서 역전파를 사용하여 대규모 모델을 효율적으로 훈련하는 방법을 보여줍니다. 또한 TensorFlow 2.0 및 PyTorch를 사용하는 방법과 NN 아키텍처를 최적화하여 거래 신호를 생성하는 방법을 보여줍니다. 다음 장에서는 대체 데이터에 중점을 두고 다양한 투자 애플리케이션에 다양한 아키텍처를 적용하기 위해 이 기반을 구축할 것입니다. 여기에는 시계열이나 자연어와 같은 순차 데이터에 맞춰진 순환 NN과 특히 이미지 데이터에 적합한 컨벌루션 NN이 포함됩니다. 또한 GAN(Generative Adversarial Networks)을 사용하여 합성 데이터를 생성하는 방법과 같은 심층 비지도 학습도 다룹니다. 또한 환경에서 대화형으로 학습하는 에이전트를 훈련하기 위한 강화 학습에 대해서도 논의할 것입니다.

특히 이 장에서는 다음 내용을 다룰 것입니다.

  • DL이 복잡한 도메인의 AI 문제를 해결하는 방법
  • DL을 현재의 인기로 이끈 핵심 혁신
  • 피드포워드 네트워크가 데이터로부터 표현을 학습하는 방법
  • Python을 사용한 심층 신경망(NN) 설계 및 학습
  • Keras, TensorFlow 및 PyTorch를 사용하여 심층 NN 구현
  • 자산 수익 예측을 위한 심층 NN 구축 및 조정
  • 심층 NN 신호를 기반으로 거래 전략 설계 및 백테스트

금융 시계열 및 위성 이미지를 위한 18가지 CNN

CNN 아키텍처는 계속해서 발전하고 있습니다. 이 장에서는 성공적인 애플리케이션에 공통적인 구성 요소를 설명하고, 전이 학습이 학습 속도를 높이는 방법과 객체 감지를 위해 CNN을 사용하는 방법을 보여줍니다. CNN은 이미지나 시계열 데이터에서 거래 신호를 생성할 수 있습니다. 위성 데이터는 농업 지역, 광산 또는 운송 네트워크의 항공 이미지를 통해 상품 동향을 예측할 수 있습니다. 카메라 영상은 소비자 활동을 예측하는 데 도움이 될 수 있습니다. 위성 이미지에서 경제 활동을 분류하는 CNN을 구축하는 방법을 보여줍니다. CNN은 이미지와의 구조적 유사성을 활용하여 고품질 시계열 분류 결과를 제공할 수도 있으며, 이미지와 같은 형식의 시계열 데이터를 기반으로 전략을 설계합니다.

보다 구체적으로 이 에서는 다음을 다룹니다.

  • CNN이 그리드와 같은 데이터를 효율적으로 모델링하기 위해 여러 빌딩 블록을 사용하는 방법
  • TensorFlow를 사용하여 이미지 및 시계열 데이터에 대한 CNN 교육, 조정 및 정규화
  • 전이 학습을 사용하여 더 적은 데이터로도 CNN을 간소화합니다.
  • 이미지 형식의 시계열 데이터를 학습한 CNN의 수익률 예측을 활용한 트레이딩 전략 설계
  • 위성영상을 기반으로 경제활동을 분류하는 방법

다변량 시계열 및 감정 분석을 위한 19 RNN

순환 신경망(RNN)은 각 출력을 이전 출력과 새 데이터의 함수로 계산하여 더 깊은 계산 그래프에서 매개변수를 공유하는 메모리가 있는 모델을 효과적으로 생성합니다. 대표적인 아키텍처로는 장거리 종속성 학습 문제를 해결하는 LSTM(Long Short-Term Memory) 및 GRU(Gated Recurrent Unit)가 있습니다. RNN은 하나 이상의 입력 시퀀스를 하나 이상의 출력 시퀀스에 매핑하도록 설계되었으며 특히 자연어에 매우 적합합니다. 또한 시장 또는 기본 데이터를 예측하기 위해 단변량 및 다변량 시계열에 적용할 수도 있습니다. 이 장에서는 문서에 표현된 감정을 분류하기 위해 RNN이 16장에서 다룬 단어 임베딩을 사용하여 대체 텍스트 데이터를 모델링하는 방법을 다룹니다.

보다 구체적으로 이 장에서는 다음을 다룹니다.

  • 반복 연결을 통해 RNN이 패턴을 기억하고 숨겨진 상태를 모델링하는 방법
  • RNN의 계산 그래프 전개 및 분석
  • Gated Unit이 데이터에서 RNN 메모리를 조절하여 장거리 종속성을 활성화하는 방법을 학습하는 방법
  • Python에서 단변량 및 다변량 시계열을 위한 RNN 설계 및 교육
  • RNN을 사용한 감정 분석을 위해 단어 임베딩을 학습하거나 사전 훈련된 단어 벡터를 사용하는 방법
  • 맞춤형 단어 임베딩을 사용하여 주식 수익률을 예측하는 양방향 RNN 구축

조건부 위험 요소 및 자산 가격을 위한 20가지 자동 인코더

은 비지도 딥 러닝을 거래에 활용하는 방법을 보여줍니다. 또한 자동 인코더, 즉 숨겨진 레이어의 매개변수로 인코딩된 새로운 표현을 학습하면서 입력을 재현하도록 훈련된 신경망에 대해서도 논의합니다. 오토인코더는 지난 세 장에서 다룬 NN 아키텍처를 활용하여 비선형 차원 축소에 오랫동안 사용되어 왔습니다. 우리는 오토인코더가 거래 전략을 어떻게 뒷받침할 수 있는지 보여주는 최근 AQR 논문을 복제했습니다. 우리는 위험 요인을 추출하고 다양한 주식 속성을 조건으로 주식 수익률을 예측하기 위해 오토인코더에 의존하는 심층 신경망을 사용할 것입니다.

보다 구체적으로, 이 장에서는 다음 사항에 대해 학습합니다.

  • 실제로 사용되는 오토인코더 유형과 작동 방식
  • Python을 사용하여 자동 인코더 구축 및 학습
  • 오토인코더를 활용하여 자산 특성을 고려한 데이터 기반 위험 요인을 추출하여 수익을 예측합니다.

21 합성 시계열 데이터를 위한 생성적 적대 네트워크

이 장에서는 생성적 적대 신경망(GAN)을 소개합니다. GAN은 경쟁적인 환경에서 생성자와 판별자 네트워크를 훈련시켜 판별자가 주어진 훈련 데이터 클래스와 구별할 수 없는 샘플을 생성하는 방법을 생성자가 학습하도록 합니다. 목표는 이 클래스를 대표하는 합성 샘플을 생성할 수 있는 생성 모델을 생성하는 것입니다. 이미지 데이터에 가장 널리 사용되는 GAN은 의료 분야에서 합성 시계열 데이터를 생성하는 데에도 사용되었습니다. 재무 데이터를 사용한 후속 실험에서는 GAN이 ML 교육 또는 전략 백테스트에 유용한 대체 가격 궤적을 생성할 수 있는지 여부를 조사했습니다. 우리는 접근 방식을 설명하고 결과를 보여주기 위해 2019 NeurIPS Time-Series GAN 논문을 복제했습니다.

보다 구체적으로, 이 장에서는 다음 사항에 대해 학습합니다.

  • GAN의 작동 방식, 유용한 이유, 거래에 적용할 수 있는 방법
  • TensorFlow 2를 사용하여 GAN 설계 및 학습
  • ML 모델 교육 및 백테스트에 사용할 수 있는 입력을 확장하기 위해 합성 금융 데이터 생성

22 심층 강화 학습: 거래 에이전트 구축

강화 학습(RL)은 확률론적 환경과 상호 작용하는 에이전트에 의한 목표 지향 학습을 모델링합니다. RL은 보상 신호에서 상태와 행동의 가치를 학습하여 장기 목표에 관한 에이전트의 결정을 최적화합니다. 궁극적인 목표는 행동 규칙을 인코딩하고 상태를 행동에 매핑하는 정책을 도출하는 것입니다. 이 은 RL 문제를 공식화하고 해결하는 방법을 보여줍니다. 모델 기반 및 모델 없는 방법을 다루고 OpenAI Gym 환경을 소개하며 딥 러닝과 RL을 결합하여 복잡한 환경을 탐색하는 에이전트를 교육합니다. 마지막으로 목적 함수를 최적화하려고 시도하면서 금융 시장과 상호 작용하는 에이전트를 모델링하여 알고리즘 거래에 RL을 적용하는 방법을 보여 드리겠습니다.

보다 구체적으로 이 장에서는 다음 내용을 다룹니다.

  • 마르코프 결정 문제(MDP) 정의
  • 가치와 정책 반복을 사용하여 MDP 해결
  • 개별 상태와 동작이 있는 환경에서 Q-러닝 적용
  • 지속적인 환경에서 심층 Q-러닝 에이전트 구축 및 훈련
  • OpenAI Gym을 사용하여 맞춤형 시장 환경을 설계하고 주식 거래를 위한 RL 에이전트 교육

23 결론 및 다음 단계

이 마지막 장에서는 너무 많은 세부 사항을 설명한 후에도 큰 그림을 놓치지 않도록 책 전반에 걸쳐 배운 필수 도구, 응용 프로그램 및 교훈을 간략하게 요약할 것입니다. 그런 다음 다루지 않았지만 우리가 소개한 많은 기계 학습 기술을 확장하고 일상적인 사용에서 생산성을 높이면서 집중할 가치가 있는 영역을 식별할 것입니다.

요약하자면, 이 장에서는

  • 주요 시사점 및 학습 내용을 검토합니다.
  • 이 책의 기술을 기반으로 다음 단계를 설명합니다.
  • ML을 투자 프로세스에 통합하는 방법 제안

24 부록 - 알파 팩터 라이브러리

이 책 전체에서 우리는 적절한 전처리 및 노이즈 제거를 포함한 스마트한 기능 설계가 일반적으로 어떻게 효과적인 전략으로 이어지는지 강조했습니다. 이 부록은 기능 엔지니어링에 대해 배운 내용 중 일부를 종합하고 이 중요한 주제에 대한 추가 정보를 제공합니다.

이를 위해 우리는 TA-Lib(제4장 참조)와 WorldQuant의 101개의 공식 알파 논문(Kakushadze 2016)에서 구현한 광범위한 지표에 초점을 맞췄습니다. 이 논문은 평균 보유 기간이 0.6~6.4인 생산에 사용되는 실제 양적 거래 요소를 제시합니다. 날.

이 장에서는 다음 내용을 다룹니다.

  • TA-Lib 및 NumPy/pandas를 사용하여 수십 개의 기술 지표를 계산하는 방법,
  • 위 논문에 설명된 공식 알파를 생성하고
  • 순위 상관관계 및 상호 정보부터 특징 중요도, SHAP 값 및 Alphalens에 이르는 다양한 측정항목을 사용하여 결과의 ​​예측 품질을 평가합니다.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published