R을 이용한 퀀트 투자 포트폴리오 만들기
해외주문/바로드림/제휴사주문/업체배송건의 경우 1+1 증정상품이 발송되지 않습니다.
패키지
북카드
R 프로그래밍을 이용하면 누구나 금융 데이터를 수집하여 포트폴리오를 구성할 수 있습니다.
하지만 이제 걱정할 필요 없습니다. 조금만 노력한다면 직접 금융 데이터를 수집하고 가공하여 투자 포트폴리오를 구성할 수 있습니다. 여기에 필요한 노력이 바로 프로그래밍입니다. 비교적 쉽게 사용할 수 있는 R 언어를 이용하여 금융 데이터 크롤링부터 분석 및 시각화를 거쳐 투자 종목 선정, 백테스트, 성과 평가까지 지금 바로 도전해 보세요.
작가정보

한양대학교에서 경영학을 전공하고, 카이스트 대학원에서 금융공학 석사 학위를 받았다. 졸업 후 증권사에서 주식운용을, 자산운용사에서 퀀트 포트폴리오 매니저 업무를 거쳐 지금은 보험사에서 데이터 분석 업무를 하고 있으며, 평소 꾸준한 SNS와 블로그 활동으로 퀀트 아이디어 및 백테스트 결과 등을 공유하면서 퀀트 투자의 대중화를 위해 노력하고 있다. 현재 한양대학교 재무금융 박사 과정에 재학 중이며, 패스트캠퍼스에서 R과 퀀트 투자 강의를 맡고 있다. 지은 책으로는 《스마트베타》(2017)가 있다.
목차
- 머리말 XI
이 책의 구성 XII
이 책에 대하여 XIV
[CHAPTER 1 퀀트 투자의 심장: 데이터와 프로그래밍]
1.1 데이터 구하기 003
1.2 퀀트 투자와 프로그래밍 005
1.3 R 프로그램 006
1.4 퀀트 투자에 유용한 R 패키지 008
[CHAPTER 2 크롤링을 위한 기본 지식]
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를 이용한 데이터 수집]
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 크롤링 이해하기]
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 금융 데이터 수집하기(기본)]
5.1 한국거래소의 산업별 현황 및 개별지표 크롤링 067
__5.1.1 산업별 현황 크롤링 068
__5.1.2 개별종목 지표 크롤링 071
__5.1.3 최근 영업일 기준 데이터 받기 073
__5.1.4 거래소 데이터 정리하기 077
5.2 WICS 기준 섹터 정보 크롤링 083
[CHAPTER 6 금융 데이터 수집하기(심화)]
6.1 수정주가 크롤링 089
__6.1.1 개별종목 주가 크롤링 090
__6.1.2 전 종목 주가 크롤링 095
6.2 재무제표 및 가치지표 크롤링 097
__6.2.1 재무제표 다운로드 097
__6.2.2 가치지표 계산하기 102
__6.2.3 전 종목 재무제표 및 가치지표 다운로드 107
6.3 야후 파이낸스 데이터 구하기 110
__6.3.1 재무제표 다운로드 111
__6.3.2 가치지표 계산하기 115
[CHAPTER 7 데이터 정리하기]
7.1 주가 정리하기 119
7.2 재무제표 정리하기 121
7.3 가치지표 정리하기 125
[CHAPTER 8 데이터 분석 및 시각화하기]
8.1 종목정보 데이터 분석 130
__8.1.1 *_join(): 데이터 합치기 130
__8.1.2 glimpse(): 데이터 구조 확인하기 132
__8.1.3 rename(): 열 이름 바꾸기 133
__8.1.4 distinct(): 고유한 값 확인 134
__8.1.5 select(): 원하는 열만 선택 135
__8.1.6 mutate(): 열 생성 및 데이터 변형 136
__8.1.7 filter(): 조건을 충족하는 행 선택 137
__8.1.8 summarize(): 요약 통곗값 계산 138
__8.1.9 arrange(): 데이터 정렬 138
__8.1.10 row_number(): 순위 계산 139
__8.1.11 ntile(): 분위수 계산 140
__8.1.12 group_by(): 그룹별로 데이터를 묶기 141
8.2 종목정보 시각화 142
__8.2.1 geom_point(): 산점도 나타내기 144
__8.2.2 geom_histogram(): 히스토그램 나타내기 146
__8.2.3 geom_boxplot(): 박스 플롯 나타내기 147
__8.2.4 dplyr과 ggplot을 연결해 사용하기 148
__8.2.5 geom_bar(): 막대 그래프 나타내기 150
8.3 주가 및 수익률 시각화 152
__8.3.1 주가 그래프 나타내기 152
__8.3.2 인터랙티브 그래프 나타내기 154
__8.3.3 연도별 수익률 나타내기 157
[CHAPTER 9 퀀트 전략을 이용한 종목 선정(기본)]
9.1 베타 이해하기 163
__9.1.1 베타 계산하기 165
__9.1.2 베타 시각화 167
9.2 저변동성 전략 168
__9.2.1 저변동성 포트폴리오 구하기: 일간 기준 170
__9.2.2 저변동성 포트폴리오 구하기: 주간 기준 173
9.3 모멘텀 전략 176
__9.3.1 모멘텀 포트폴리오 구하기: 12개월 모멘텀 176
__9.3.2 모멘텀 포트폴리오 구하기: 위험조정 수익률 178
9.4 밸류 전략 181
__9.4.1 밸류 포트폴리오 구하기: 저PBR 182
__9.4.2 각 지표 결합하기 183
9.5 퀄리티 전략 186
__9.5.1 F-Score 지표 186
__9.5.2 각 지표 결합하기 191
[CHAPTER 10 퀀트 전략을 이용한 종목 선정(심화)]
10.1 섹터 중립 포트폴리오 195
10.2 마법공식 199
__10.2.1 퀄리티와 밸류 간의 관계 200
__10.2.2 마법공식 이해하기 202
__10.2.3 마법공식 구성하기 203
10.3 이상치 데이터 제거 및 팩터의 결합 206
__10.3.1 트림(Trim): 이상치 데이터 삭제 208
__10.3.2 윈저라이징(Winsorizing): 이상치 데이터 대체 209
__10.3.3 팩터의 결합 방법 210
10.4 멀티팩터 포트폴리오 212
[CHAPTER 11 포트폴리오 구성]
11.1 최소분산 포트폴리오 224
__11.1.1 slsqp() 함수를 이용한 최적화 224
__11.1.2 solve.QP() 함수를 이용한 최적화 228
__11.1.3 optimalPortfolio() 함수를 이용한 최적화 233
__11.1.4 결괏값들의 비교 235
__11.1.5 최소 및 최대 투자비중 제약조건 236
__11.1.6 각 자산별 제약조건의 추가 239
11.2 최대분산효과 포트폴리오 241
__11.2.1 solve.QP() 함수를 이용한 최적화 244
__11.2.2 optimalPortfolio() 함수를 이용한 최적화 246
__11.2.3 최소 및 최대 투자비중 제약조건 247
__11.2.4 각 자산별 제약조건의 추가 250
11.3 위험균형 포트폴리오 252
__11.3.1 주식 60%와 채권 40% 포트폴리오의 위험기여도 253
__11.3.2 rp() 함수를 이용한 최적화 254
__11.3.3 위험예산 포트폴리오 256
[CHAPTER 12 포트폴리오 백테스트]
12.1 Return.portfolio() 함수 260
__12.1.1 인자 목록 살펴보기 260
__12.1.2 출력값 살펴보기 262
12.2 전통적인 60대 40 포트폴리오 백테스트 262
12.3 시점 선택 전략 백테스트 267
12.4 동적 자산배분 백테스트 273
[CHAPTER 13 성과 및 위험 평가]
13.1 결과 측정 지표 284
__13.1.1 수익률 및 변동성 284
__13.1.2 낙폭과 최대낙폭 288
__13.1.3 연도별 수익률 290
__13.1.4 승률 및 롤링 윈도우 값 292
13.2 팩터 회귀분석 및 테이블로 나타내기 294
마치며 298
찾아보기 301
출판사 서평
실제 퀀트 포트폴리오 매니저 출신이 알려주는
퀀트 투자 기초부터 고급까지, 모든 것을 한 방에!!
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 데이터 수집 및 가공, 시각화를 실습해 보고 싶으신 분
기본정보
ISBN | 9791188621750 |
---|---|
발행(출시)일자 | 2019년 08월 29일 |
쪽수 | 320쪽 |
크기 |
172 * 226
* 20
mm
/ 534 g
|
총권수 | 1권 |
Klover
구매 후 리뷰 작성 시, e교환권 200원 적립
문장수집 (2)
e교환권은 적립 일로부터 180일 동안 사용 가능합니다. 리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 한 상품에 최초 1회만 제공됩니다.
주문취소/반품/절판/품절 시 리워드 대상에서 제외됩니다.
판매가 5,000원 미만 상품의 경우 리워드 지급 대상에서 제외됩니다. (2024년 9월 30일부터 적용)
구매 후 리뷰 작성 시, e교환권 100원 적립