R을 이용한 퀀트 투자 포트폴리오 만들기 (개정판)

고객평점
저자이현열
출판사항제이펍, 발행일:2021/02/11
형태사항p.349 국판:23
매장위치컴퓨터부(B2) , 재고문의 : 051-816-9500
ISBN9791190665803 [소득공제]
판매가격 25,000원   22,500원  (인터넷할인가:10%)
포인트 1,125점
배송비결제주문시 결제
  • 주문수량 

총 금액 : 0원

책 소개

실제 퀀트 포트폴리오 매니저 출신이 알려주는
퀀트 투자 기초부터 고급까지, 모든 것을 한 방에!!


개정판의 주요 변경 사항
■ 변경된 한국거래소 사이트에 맞춰 새로 작성
■ 웹페이지 구조가 변경되어 크롤링이 불가능하게 된 곳을 삭제
■ 네이버 증권의 주가 데이터 출처가 변경되어 새로 작성
■ 크롤러의 접근이 어려운 곳은 user_agent() 함수로 크롤링할 수 있도록 변경
■ DART 크롤링 내용 추가
■ 실전에서 많이 사용되는 인덱스 포트폴리오 및 인핸스드 인덱스 포트폴리오 구성 방법 추가
■ ggplot2 패키지의 기본적인 사용법 추가
■ 일부 코드를 수정하여 데이터 처리를 좀 더 쉽게, 종목 선택을 더욱 꼼꼼히 하도록 변경


1. R을 이용해 주식 투자에 필요한 각종 데이터를 크롤링하여 수집하고 정리할 수 있다!
여러 프로그래밍 언어 중 R은 무료이며 비교적 일반 사용자가 사용하기 쉬운 형태로 구성되어 있습니다. 무엇보다 독보적으로 통계나 계량분석과 관련된 패키지를 포함하고 있다는 장점이 있습니다. 이런 R을 활용하여 직접 금융 데이터를 크롤링하여 수집할 수 있습니다. 단순히 데이터를 수집하는 데 그치지 않고 데이터를 분석하고 시각화하여 효과적인 투자 전략을 세울 수 있도록 데이터를 정리할 수 있습니다. 단, 이 책은 R과 R Studio 설치 등 기초적인 프로그래밍 내용은 생략합니다. 그러므로 R 기초 프로그래밍을 먼저 익힌 후 학습한다면 더욱 효과적입니다.


2. 퀀트 모델을 통해 포트폴리오를 구성하고, 백테스트 및 성과를 평가할 수 있다!
실제 퀀트 포트폴리오 매니저 출신이 알려주면 다릅니다. 데이터를 준비했다면 이제 어떤 종목에 투자해야 할지 선정합니다. 이 책은 퀀트 전략을 이용한 종목 선정을 기본부터 심화 과정으로 나눠 자세하게 설명합니다. 또한 포트폴리오 구성부터 백테스트 및 성과 평가까지 퀀트 투자를 위한 거의 모든 과정을 제대로 배울 수 있습니다.


3. 퀀트 모델에 대한 이해를 높이고, 코드를 통해 실제 구현할 수 있다!
가장 기본적인 퀀트 투자가 무엇인지부터 시작하여, 데이터 수집, 정리, 분석 및 시각화, 종목 선정, 포트폴리오 구성, 백테스트 및 성과 평가 등의 전 과정을 체계적으로 학습하면서 퀀트 모델에 대한 전반적인 이해도를 높일 수 있습니다. 또한 프로그래밍 초보자를 고려하여 코드에 따라 자세한 설명을 추가하였습니다. 이를 잘 학습한다면 책의 내용을 넘어 더욱 훌륭한 퀀트 투자 모델을 만들어 볼 수 있을 것입니다.


4. 웹페이지를 통한 지속적인 업데이트 및 전체 소스 제공!
퀀트 투자 환경은 빠르게 변하지만 고정된 지면으로는 변화에 빠른 대처가 어렵습니다. 그러므로 다음과 같이 저자가 제공하는 웹페이지를 통해 업데이트된 내용이나 변화된 환경에 대응할 수 있습니다.
웹페이지: https://hyunyulhenry.github.io/quant_cookbook
GitHub 저장소: https://github.com/hyunyulhenry/quant_cookbook


이 책의 대상 독자
- R을 이용해 퀀트 투자 전략을 세우려는 분
- 퀀트 투자를 하고 싶지만 데이터 구매 비용에 부담을 느끼는 분
- 퀀트 투자, 제대로 알고 시작하고 싶으신 분
- R을 이용해 데이터 크롤링하는 방법을 알고 싶으신 분
- R 데이터 수집 및 가공, 시각화를 실습해 보고 싶으신 분  

작가 소개

이현열
한양대학교에서 경영학을 전공하고, 카이스트 대학원에서 금융공학 석사 학위를 받았다. 졸업 후 증권사에서 주식운용을, 자산운용사에서 퀀트 포트폴리오 매니저 업무를 거쳐 지금은 보험사에서 데이터 분석 업무를 하고 있으며, 평소 꾸준한 SNS와 블로그 활동으로 퀀트 아이디어 및 백테스트 결과 등을 공유하면서 퀀트 투자의 대중화를 위해 노력하고 있다. 현재 한양대학교 재무금융 박사 과정에 재학 중이며, 패스트캠퍼스에서 R과 퀀트 투자 강의를 맡고 있다. 지은 책으로는 《스마트베타》(2017)가 있다.

 

목 차

머리말 XI
이 책의 구성 XIII
이 책에 대하여 XV

 CHAPTER 1 퀀트 투자의 심장: 데이터와 프로그래밍 _ 001
 1.1 데이터 구하기 003
 1.2 퀀트 투자와 프로그래밍 005
 1.3 R 프로그램 006
 1.4 퀀트 투자에 유용한 R 패키지 008

 CHAPTER 2 크롤링을 위한 기본 지식 _ 011
 2.1 인코딩의 이해와 R에서 UTF-8 설정하기 012
 2.1.1 인간과 컴퓨터 간 번역의 시작, ASCII • 012
 2.1.2 한글 인코딩 방식의 종류 • 013
 2.1.3 R에서 UTF-8 설정하기 • 014
 2.2 웹의 동작 방식 015
 2.2.1 HTTP • 016
 2.3 HTML과 CSS 017
 2.3.1 HTML 기본 구조 • 018
 2.3.2 태그와 속성 • 019
 2.3.3 h 태그와 p 태그 • 019
 2.3.4 리스트를 나타내는 ul 태그와 ol 태그 • 020
 2.3.5 table 태그 • 021
 2.3.6 a 태그와 src 태그 및 속성 • 023
 2.3.7 div 태그 • 024
 2.3.8 CSS • 025
 2.3.9 클래스와 id • 026
 2.4 파이프 오퍼레이터(%>%) 028
 2.5 오류에 대한 예외처리 031

 CHAPTER 3 API를 이용한 데이터 수집 _ 033
 3.1 API를 이용한 Quandl 데이터 다운로드 034
 3.2 getSymbols() 함수를 이용한 API 다운로드 035
 3.2.1 주가 다운로드 • 036
 3.2.2 국내 종목 주가 다운로드 • 039
 3.2.3 FRED 데이터 다운로드 • 041

 CHAPTER 4 크롤링 이해하기 _ 045
 4.1 GET과 POST 방식 이해하기 046
 4.1.1 GET 방식 • 046
 4.1.2 POST 방식 • 048
 4.2 크롤링 예제 050
 4.2.1 금융 속보 크롤링 • 050
 4.2.2 기업공시채널에서 오늘의 공시 불러오기 • 053
 4.2.3 네이버 금융에서 주식티커 크롤링 • 056

 CHAPTER 5 금융 데이터 수집하기(기본) _ 067
 5.1 한국거래소의 산업별 현황 및 개별지표 크롤링 067
 5.1.1 업종분류 현황 크롤링 • 068
 5.1.2 개별종목 지표 크롤링 • 072
 5.1.3 최근 영업일 기준 데이터 받기 • 074
 5.1.4 거래소 데이터 정리하기 • 078
 5.2 WICS 기준 섹터 정보 크롤링 083

 CHAPTER 6 금융 데이터 수집하기(심화) _ 089
 6.1 수정주가 크롤링 089
 6.1.1 개별종목 주가 크롤링 • 090
 6.1.2 전 종목 주가 크롤링 • 095
 6.2 재무제표 및 가치지표 크롤링 097
 6.2.1 재무제표 다운로드 • 097
 6.2.2 가치지표 계산하기 • 103
 6.2.3 전 종목 재무제표 및 가치지표 다운로드 • 107
 6.3 DART의 Open API를 이용한 데이터 수집하기 111
 6.3.1 API Key발급 및 추가하기 • 111
 6.3.2 고유번호 다운로드 • 113
 6.3.3 공시검색 • 116
 6.3.4 사업보고서 주요 정보 • 121
 6.3.5 상장기업 재무정보 • 123
 6.3.6 단일회사 전체 재무제표 • 128

 CHAPTER 7 데이터 정리하기 _ 135
 7.1 주가 정리하기 135
 7.2 재무제표 정리하기 137
 7.3 가치지표 정리하기 141

 CHAPTER8 데이터 분석 및 시각화하기 _ 145
 8.1 종목정보 데이터 분석 146
 8.1.1 *_join(): 데이터 합치기 • 146
 8.1.2 glimpse(): 데이터 구조 확인하기 • 148
 8.1.3 rename(): 열 이름 바꾸기 • 149
 8.1.4 distinct(): 고유한 값 확인 • 150
 8.1.5 select(): 원하는 열만 선택 • 150
 8.1.6 mutate(): 열 생성 및 데이터 변형 • 152
 8.1.7 filter(): 조건을 충족하는 행 선택 • 153
 8.1.8 summarize(): 요약 통곗값 계산 • 154
 8.1.9 arrange(): 데이터 정렬 • 154
 8.1.10 row_number(): 순위 계산 • 155
 8.1.11 ntile(): 분위수 계산 • 156
 8.1.12 group_by(): 그룹별로 데이터를 묶기 • 156
 8.2 ggplot() 기초 158
 8.2.1 diamonds 데이터셋 • 160
 8.2.2 Data, Aesthetics, Geometrics • 161
 8.2.3 Facets • 164
 8.2.4 Statistics • 164
 8.2.5 Coordinates • 165
 8.2.6 Theme • 167
 8.3 종목정보 시각화 168
 8.3.1 geom_point(): 산점도 나타내기 • 168
 8.3.2 geom_histogram(): 히스토그램 나타내기 • 170
 8.3.3 geom_boxplot(): 박스 플롯 나타내기 • 172
 8.3.4 dplyr과 ggplot을 연결해 사용하기 • 173
 8.3.5 geom_bar(): 막대 그래프 나타내기 • 174
 8.4 주가 및 수익률 시각화 176
 8.4.1 주가 그래프 나타내기 • 176
 8.4.2 인터랙티브 그래프 나타내기 • 178
 8.4.3 연도별 수익률 나타내기 • 181

 CHAPTER 9 퀀트 전략을 이용한 종목 선정(기본) _ 185
 9.1 베타 이해하기 187
 9.1.1 베타 계산하기 • 189
 9.1.2 베타 시각화 • 191
 9.2 저변동성 전략 192
 9.2.1 저변동성 포트폴리오 구하기: 일간 기준 • 194
 9.2.2 저변동성 포트폴리오 구하기: 주간 기준 • 197
 9.3 모멘텀 전략 199
 9.3.1 모멘텀 포트폴리오 구하기: 12개월 모멘텀 • 200
 9.3.2 모멘텀 포트폴리오 구하기: 위험조정 수익률 • 202
 9.4 밸류 전략 205
 9.4.1 밸류 포트폴리오 구하기: 저PBR • 206
 9.4.2 각 지표 결합하기 • 207
 9.5 퀄리티 전략 210
 9.5.1 F-Score 지표 • 210
 9.5.2 각 지표 결합하기 • 216

 CHAPTER 10 퀀트 전략을 이용한 종목 선정(심화) _ 219
 10.1 섹터 중립 포트폴리오 219
 10.2 마법공식 223
 10.2.1 퀄리티와 밸류 간의 관계 • 224
 10.2.2 마법공식 이해하기 • 226
 10.2.3 마법공식 구성하기 • 227
 10.3 이상치 데이터 제거 및 팩터의 결합 231
 10.3.1 트림(Trim): 이상치 데이터 삭제 • 232
 10.3.2 윈저라이징(Winsorizing): 이상치 데이터 대체 • 233
 10.3.3 팩터의 결합 방법 • 234
 10.4 멀티팩터 포트폴리오 236

 CHAPTER 11 포트폴리오 구성 _ 247
 11.1 최소분산 포트폴리오 250
 11.1.1 slsqp() 함수를 이용한 최적화 • 250
 11.1.2 solve.QP() 함수를 이용한 최적화 • 254
 11.1.3 optimalPortfolio() 함수를 이용한 최적화 • 259
 11.1.4 결괏값들의 비교 • 261
 11.1.5 최소 및 최대 투자비중 제약조건 • 262
 11.1.6 각 자산별 제약조건의 추가 • 265
 11.2 최대분산효과 포트폴리오 267
 11.2.1 solve.QP() 함수를 이용한 최적화 • 270
 11.2.2 optimalPortfolio() 함수를 이용한 최적화 • 272
 11.2.3 최소 및 최대 투자비중 제약조건 • 273
 11.2.4 각 자산별 제약조건의 추가 • 276
 11.3 위험균형 포트폴리오 278
 11.3.1 주식 60%와 채권 40% 포트폴리오의 위험기여도 • 279
 11.3.2 rp() 함수를 이용한 최적화 • 280
 11.3.3 위험예산 포트폴리오 • 282
 11.4 인덱스 포트폴리오 구성하기 283
 11.4.1 시가총액비중 계산하기 • 284
 11.4.2 인덱스 포트폴리오 복제하기 • 284
 11.4.3 팩터를 이용한 인핸스드 포트폴리오 구성하기 • 289

 CHAPTER 12 포트폴리오 백테스트 _ 303
 12.1 Return.portfolio() 함수 304
 12.1.1 인자 목록 살펴보기 • 304
 12.1.2 출력값 살펴보기 • 306
 12.2 전통적인 60대40 포트폴리오 백테스트 306
 12.3 시점 선택 전략 백테스트 311
 12.4 동적 자산배분 백테스트 317

 CHAPTER 13 성과 및 위험 평가 _ 325
 13.1 결과 측정 지표 328
 13.1.1 수익률 및 변동성 • 328
 13.1.2 낙폭과 최대낙폭 • 332
 13.1.3 연도별 수익률 • 334
 13.1.4 승률 및 롤링 윈도우 값 • 336
 13.2 팩터 회귀분석 및 테이블로 나타내기 338

참고문헌 342
찾아보기 346 

 

역자 소개

01. 반품기한
  • 단순 변심인 경우 : 상품 수령 후 7일 이내 신청
  • 상품 불량/오배송인 경우 : 상품 수령 후 3개월 이내, 혹은 그 사실을 알게 된 이후 30일 이내 반품 신청 가능
02. 반품 배송비
반품 배송비
반품사유 반품 배송비 부담자
단순변심 고객 부담이며, 최초 배송비를 포함해 왕복 배송비가 발생합니다. 또한, 도서/산간지역이거나 설치 상품을 반품하는 경우에는 배송비가 추가될 수 있습니다.
상품의 불량 또는 오배송 고객 부담이 아닙니다.
03. 배송상태에 따른 환불안내
환불안내
진행 상태 결제완료 상품준비중 배송지시/배송중/배송완료
어떤 상태 주문 내역 확인 전 상품 발송 준비 중 상품이 택배사로 이미 발송 됨
환불 즉시환불 구매취소 의사전달 → 발송중지 → 환불 반품회수 → 반품상품 확인 → 환불
04. 취소방법
  • 결제완료 또는 배송상품은 1:1 문의에 취소신청해 주셔야 합니다.
  • 특정 상품의 경우 취소 수수료가 부과될 수 있습니다.
05. 환불시점
환불시점
결제수단 환불시점 환불방법
신용카드 취소완료 후, 3~5일 내 카드사 승인취소(영업일 기준) 신용카드 승인취소
계좌이체 실시간 계좌이체 또는 무통장입금
취소완료 후, 입력하신 환불계좌로 1~2일 내 환불금액 입금(영업일 기준)
계좌입금
휴대폰 결제 당일 구매내역 취소시 취소 완료 후, 6시간 이내 승인취소
전월 구매내역 취소시 취소 완료 후, 1~2일 내 환불계좌로 입금(영업일 기준)
당일취소 : 휴대폰 결제 승인취소
익월취소 : 계좌입금
포인트 취소 완료 후, 당일 포인트 적립 환불 포인트 적립
06. 취소반품 불가 사유
  • 단순변심으로 인한 반품 시, 배송 완료 후 7일이 지나면 취소/반품 신청이 접수되지 않습니다.
  • 주문/제작 상품의 경우, 상품의 제작이 이미 진행된 경우에는 취소가 불가합니다.
  • 구성품을 분실하였거나 취급 부주의로 인한 파손/고장/오염된 경우에는 취소/반품이 제한됩니다.
  • 제조사의 사정 (신모델 출시 등) 및 부품 가격변동 등에 의해 가격이 변동될 수 있으며, 이로 인한 반품 및 가격보상은 불가합니다.
  • 뷰티 상품 이용 시 트러블(알러지, 붉은 반점, 가려움, 따가움)이 발생하는 경우 진료 확인서 및 소견서 등을 증빙하면 환불이 가능하지만 이 경우, 제반 비용은 고객님께서 부담하셔야 합니다.
  • 각 상품별로 아래와 같은 사유로 취소/반품이 제한 될 수 있습니다.

환불불가
상품군 취소/반품 불가사유
의류/잡화/수입명품 상품의 택(TAG) 제거/라벨 및 상품 훼손으로 상품의 가치가 현저히 감소된 경우
계절상품/식품/화장품 고객님의 사용, 시간경과, 일부 소비에 의하여 상품의 가치가 현저히 감소한 경우
가전/설치상품 전자제품 특성 상, 정품 스티커가 제거되었거나 설치 또는 사용 이후에 단순변심인 경우, 액정화면이 부착된 상품의 전원을 켠 경우 (상품불량으로 인한 교환/반품은 AS센터의 불량 판정을 받아야 합니다.)
자동차용품 상품을 개봉하여 장착한 이후 단순변심의 경우
CD/DVD/GAME/BOOK등 복제가 가능한 상품의 포장 등을 훼손한 경우
내비게이션, OS시리얼이 적힌 PMP 상품의 시리얼 넘버 유출로 내장된 소프트웨어의 가치가 감소한 경우
노트북, 테스크탑 PC 등 홀로그램 등을 분리, 분실, 훼손하여 상품의 가치가 현저히 감소하여 재판매가 불가할 경우