Top

파이썬으로 배우는 금융 분석 2/e [금융의 기초 개념 이해부터 예제를 통한 계산 활용까지]

  • 원서명Python for Finance - Second Edition: Learn and implement various Quantitative Finance concepts using the popular Python libraries (ISBN 9781787125698)
  • 지은이유씽 얀(Yuxing Yan)
  • 옮긴이이병욱
  • ISBN : 9791161750750
  • 38,000원
  • 2017년 11월 29일 펴냄
  • 페이퍼백 | 740쪽 | 188*235mm
  • 시리즈 : acorn+PACKT

책 소개

요약

이 책은 정량 금융에서 다루는 주제 대부분을 소개하며 해당하는 파이썬 코드를 예제와 함께 제공한다. 특히 예제에서 사용하는 데이터는 가상의 데이터가 아니라, 마이크로 소프트나 IBM 같은 실제 기업의 주가 같은 자료를 직접 내려받아 활용함으로써 금융이 한결 가깝게 느껴지게 해준다. 또한 정량 금융에서 다루는 기본 공식은 물론 파이썬을 사용해 방대한 자료를 다루는 방법과 예제 코드를 소개하고 있다. 개별 기업 자료로 여러 가지 정량 금융적 수치를 직접 계산해 볼 수 있다. 이 책은 금융을 전공한 사람이 파이썬을 사용해 실제 자료를 시각화해보고 수치를 계산해 보는 데도 유용하지만, 처음 정량 금융을 배워보고자 하는 사람도 크게 어렵지 않게 이해할 수 있도록 소개한다.

이 책에서 다루는 내용

■ 파이썬을 다루는 방법
■ CAPM, 파마-프렌치 3요인과 파마-프렌치-카하트 4요인 모델 실행
■ 콜과 풋, 여러 변형 옵션의 가격 계산
■ 몬테 카를로 시뮬레이션 이해
■ 블랙-스콜스-머톤 옵션 모델을 복제하는 파이썬 프로그램 제작과 여러 변형 옵션의 가격 산정
■ 변동성의 개념과 '변동성은 시간에 따라 변화한다'는 가정 검증
■ ARCH와 GARCH 프로세스 이해와 파이썬 프로그램 제작

이 책의 대상 독자

금융 분야 중에서도 계산 금융학, 금융 모델링, 금융 공학 또는 비즈니스 분석학을 전공했다면 이 책에서 많은 도움을 얻게 될 것이다. 2가지 예를 들자면, 펜실바니아 주립대(Penn State University)의 프리말 보라(Premal P. Vora) 교수는 금융 데이터 과학을 가르치면서 이 책을 교재로 사용했다. 웨스터 민스터 대학의 셍 샤오(Sheng Xiao) 교수도 금융 분석 과목을 가르치면서 이 교재를 사용했다. 학생, 교수, 개별 투자가 모두 수많은 금융 프로젝트에 파이썬을 응용해 큰 도움을 얻게 될 것이다.

이 책의 구성

1장 '파이썬 기초'에서는 파이썬에 대한 간단한 소개와 설치 방법, 실행과 종료, 변수 대입, 벡터, 행렬, 배열, 내장 함수(embedded functions) 호출, 프로그램 직접 만들어보기, 파일로부터 데이터 읽기, 간단한 데이터의 조작, 데이터 및 결과 출력, 피클(pickle) 형식으로 된 파이썬 데이터의 생성에 대해 알아본다.
2장 '파이썬 모듈 소개'에서는 모듈의 의미, 모듈 작성법, 임포트(import)된 모듈 내 모든 함수의 출력, 임포트된 모듈의 단축, 이름 설정, import math와 from math import의 차이, 임포트된 모듈의 삭제, 모듈의 일부 함수만 임포트하기, NumPy, SciPy,matplotlib, statsmodels, pandas, Pandas_reader 모듈 소개, 내장 모듈과 가용한(설치된) 모든 모듈 찾아보기 삭제된 특정 모듈 찾기 등에 대해 알아본다.
3장 '화폐의 시간 가치'에서는 단일 미래 현금 흐름에 대한 현재가치, (성장형) 영구 연금(perpetuity)의 현재가치, 연금의 현재가치 및 미래가치, 영구 연금과 기초 지급 영구 연금(perpetuity due), 연금과 기초 지급 연금, SciPy와 numpy.lib.financial 서브모듈에 있는 함수들, 파이썬으로 만든 무료 금융 계산기, 순 현재가치(NPV, Net Present Value)의 정의와 관련 법칙, 내부 수익률(Internal Rate of Return)과 관련 법칙 화폐의 시간 가치를 파이썬으로 도식화하기, 순 현재가치 프로필(NPV profile) 등에 대해 다룬다.
4장 '데이터 소스'에서는 야후 금융 구글 금융 연방 준비은행 경제 데이터 라이브러리(FRED, Federal Reserve Bank's Economics Data Library), 프렌치 교수의 데이터 라이브러리(Prof.French's Data Library), 노동 통계청(Bureau of Labor Statistics), 통계청(Census Bureau) 등 여러 공개 데이터를 검색하는 방법을 알아본다. 그 후 csv, txt, pkl, Matlab, SAS, Excel 등 다양한 형식으로 된 데이터를 읽는 방법을 배운다.
5장 '채권과 주식 평가'에서는 APR(A+nnual Percentage Rate, 연이율), EAR(Effective Annual Rate, 실 연이율), 복리주기 하나의 실 이율을 다른 실 이율로 변환하는 방법, 금리의 기간 구조(term structure of interest rate), 채권의 판매 가격 산정, 배당 할인 모델을 이용한 주가 산정 등의 금리와 관련 개념을 알아본다.
6장 '자본자산 가격 결정모델'에서는 야후 금융에서 데이터를 다운로드하는 방법을 배우고 다운로드한 데이터를 이용해 CAPM(자본자산 가격 결정모델) 회귀 분석을 실행해본다. 롤링 베타(rolling beta), 여러 주식의 베타를 계산하는 파이썬 프로그램, 수정 베타(adjusted beta)와 포트폴리오의 베타 계산, 스콜(Scholes)-윌리엄스(Williams, 1977)-딤슨(Dimson, 1979)의 두 베타 수정 기법에 대해 알아본다.
7장 '다요인 모델과 성과 척도'에서는 6장에서 다룬 단일 요인 모델을 다요인 모델 및 좀 더 복잡한 모델로 확장하는 방법과 여러 가지 성과 척도를 알아본다. 파마-프렌치 3요인 모델(Fama-French three-factor model), 파마-프렌치-카하트 4요인 모델(Fama-French-Carhart four-factor model), 파마-프렌치 5요인 모델(Fama-French five-factor model) 등의 복잡한 모델과 샤프 지수(Sharpe ratio), 트레이너 지수(Treynor ratios), 소르티노 지수(Sortino ratio), 젠센 알파(Jensen’s alpha) 등의 성과 척도 지수를 알아본다.
8장 '시계열 분석'에서는 좋은 날짜 변수를 설계하는 방법, 날짜 변수에 대해 데이터셋 병합하기, 정규 분포, 정규성 검정, 금리의 기간 구조(term structure of interest rate), 52주 최고 최저가 거래 전략(52-week high and low trading strategy), 수익률 계산, 일 수익률의 월 수익률 혹은 연 수익률로의 변환, T-검정(T-test), F-검정(F-test), 더빈-와슨 자기 상관관계 테스트(Durbin-Watson test for autocorrelation), 파마-맥베스 회귀(Fama-MacBeth regression), 롤(1984) 스프레드(Roll spread), 아미후드(2002)의 비유동성(Amihud's illiquidity), 파스터 스탬보우(2003)의 유동성 측정(Pastor and Stambaugh's liquidity measure), 1월 효과, 주중 효과, 구글 금융과 하스브러 교수(Prof. Hasbrouck)의 TORQ(Trade, Order, Report and Quotation) 데이터베이스, CRSP(Center for Research in Security Prices), 증권 가격연구소의 데이터베이스에서 다빈도 데이터를 검색하는 방법 등에 대해 알아본다.
9장 '포트폴리오 이론'에서는 2-주식 포트폴리오와 N-주식 포트폴리오의 평균과 위험 계산, 상관관계(correlation)와 다각화 효과(diversification effect), 수익률 행렬을 생성하는 방법, 샤프 지수(Sharpe ratio), 트레이너 지수(Treynor ratio), 소르티노 지수(Sortinor ratio)를 이용한 최적 포트폴리오의 생성, 효율적 경계선(efficient frontier) 구축, 모딜리아니와 모딜리아니(Modigliani and Modigliani) 성과 척도(M2 척도), 가치 가중과 균등 가중 기법을 이용한 포트폴리오 수익률 계산법 등을 알아본다.
10장 '옵션과 선물'에서는 콜과 풋의 수익과 이익 손실 함수 및 이의 그래프 표현, 유럽식과 미국식 옵션, 정규 분포, 표준 정규 분포, 누적 정규 분포, 배당금 유무에 따른 블랙-스콜스-머톤(Black-Scholes-Merton) 옵션 모델 커브드 콜(covered call), 스트래들(straddle), 버트플라이(butterfly)와 캘린더 스프레드(calendar spread) 등 다양한 거래 전략과 이의 도식화, 그릭스(Greeks), 풋-콜 패리티(put-call parity)와 이의 도식화, 일단계와 이단계 이항 트리 모델(binomial tree model)의 도식화, 유럽식과 미국식 옵션 가격 결정을 위한 이항트리의 활용, 내재적 변동성(implied volatility), 변동성 미소(volatility smile), 왜도(skewness) 등을 알아본다.
11장 '최대 예상 손실액(VaR)'에서는 우선 정규 분포의 밀도와 누적 함수를 알아보고 정규성 가정에 기반을 두고 VaR을 계산하는 첫 번째 방법, 1일 리스크의 n일 리스크로의 변환, 1일을 n일 VaR로 변환하는 방법, 정규성 검정, 왜도(skewness)와 첨도(kurtosis)의 영향 왜도와 첨도를 포함한 VaR 척도의 수정 과거 수익률에 기반을 둔 VaR을 계산하는 두 번째 방법, 몬테카를로(Monte Carlo) 시뮬레이션, 백테스트(backtesting)와 스트레스 테스트를 통한 두 방법의 연계 등을 알아본다.
12장 '몬테카를로 시뮬레이션'에서는 몬테카를로 시뮬레이션을 이용한 π 값 계산, 로그 정규 분포를 이용한 주가 변동 시뮬레이션, 효율적 포트폴리오와 경계선 구성, 시뮬레이션을 통한 블랙-스콜스-머톤 옵션의 복제 변동 행사 가격(floating strikes)을 가진 룩백 옵션(lookback option)과 같은 변형 옵션(exotic option)의 가격 산정, 복원 및 비복원 부트스트래핑(bootstrapping), 장기 기대 수익률 추정과 유관 효율성, 모의 몬테카를로 시뮬레이션(quasi Monte Carlo simulation)과 소볼 수열(Sobol sequence)에 대해 알아본다.
13장 '신용 리스크 분석'에서는 무디스, 스탠더드앤푸어스, 피치의 신용 평가, 신용 스프레드, 1년과 5년 신용도 변화 행렬(migration matrices), 금리의 기간 구조, 회사의 디폴트를 예측하는 알트만의 Z-스코어(Altman's Z-score), KMV 총자산과 변동성을 계산하는 모델, 디폴트 확률과 디폴트 거리(distance to default), 신용 디폴트 스왑(credit default swap)에 대해 알아본다.
14장 '변형 옵션'에서는 먼저 10장에서 배운 유럽식과 미국식 옵션을 버뮤다식 옵션(Bermudan option)과 비교해본다. 그러고 나서 간단한 선택 옵션(chooser option)의 가격 산정, 샤우트(shout) 옵션, 레인보우(rainbow) 옵션, 바이너리 옵션(binary option), 평균 가격 옵션(average price option)을 알아보고 업인(up-and-in), 업아웃(up-and-out), 다운인(down-and-in), 다운아웃(down-and-out) 같은 배리어 옵션(barrier options)에 대해 알아본다.
15장 '변동성, 내재적 변동성, ARCH, GARCH'에서는 변동성 척도와 ARCH/GARCH에 대해 알아본다.

저자/역자 소개

지은이의 말

금융을 전공하는 야심찬 학생이라면 최소한 하나 이상의 컴퓨터 언어를 배워야 한다고 확신한다. 우리는 소위 빅데이터의 시대를 살고 있고, 특히 금융에는 무료로 공개된 방대한 양의 데이터가 넘쳐난다. 이렇게 풍부한 데이터를 효과적으로 활용하려면 적절한 도구가 반드시 필요하다. 가용한 여러 도구 중 파이썬은 단연 최고라고 할 수 있다.
2판을 내면서 금융 부분에 더 많은 장을 할애하도록 책을 재구성했다. 이는 많은 독자들의 피드백에 따른 여러 가지 중 하나였다. 이 책은 금융에 관한 책이며 파이썬은 금융 이론을 더 잘 이해하고 습득하기 위한 도구일 뿐이다. 정량 프로그램 비즈니스 프로그램 금융 공학 등 다양한 분야의 모든 데이터 형식을 이용하고자 하는 요구에 맞추기 위해 4장을 새로 추가했다.
대부분의 프로그래밍 책은 대개 전산학 교수들이 썼다. 금융학 교수가 프로그래밍 책을 쓴다는 것이 왠지 낯설어 보일 수도 있다. 그러나 주된 논점이 상당히 다를 수 있음을 생각하면 이해가 될 것이다. 전산학 교수가 이 책을 쓴다면 주된 논점이 금융임에도 불구하고 자연스럽게 파이썬에 더 집중했을 것이다. 이런 점은 책의 제목만 보더라도 명확하다. 이 책에는 그간 금융 분야의 수많은 프로그래밍 책들이 언어 자체에만 집중하고 정작 금융에는 소홀했던 점을 바꾸려는 노력이 담겨있다. 또 다른 이 책만의 특징은 경제학 금융 그리고 회계와 관련된 방대한 양의 공개 데이터를 활용했다는 점이다.
프로그래밍을 다룬 많은 책들의 또 다른 단점은 주로 가상 데이터를 사용한다는 점이다. 이 책은 여러 금융 주제에 관한 실제 데이터를 활용한다. 예를 들면 베타(시장 리스크)를 계산하기 위해 CAPM 방법을 설명하는 대신, 애플, IBM, 월마트의 베타를 직접 계산해본다.

지은이 소개

유씽 얀(Yuxing Yan)

맥길대학교(McGill University)에서 금융학으로 박사 학위를 받았고 8개 대학교에서 다년간 금융 관련 강의를 하고 있다.
시장 미시 구조론(market microstructure), 오픈-소스 금융(open-source finance), 금융 데이터 분석학에서 다양한 연구 활동과 강의를 하고 있다. 회계 금융 저널(Journal of Accounting and Finance)>, <은행>, <실증>, <부동산>, <환태평양>, <응용>, <오퍼레이션> 등에 실린 논문을 포함해 22개의 저작물을 기고하고 있다.
SAS, R, 파이썬, 매트랩(MATLAB), 그리고 C 언어 등의 여러 컴퓨터 언어에 능하다. 금융에 R과 파이썬 두 가지 오픈소스 소프트웨어를 적용해 4권을 집필했다. 『Python for Finance』(packt, 2014), 『Python for Finance - Second Edition』(packt, 2017), 『Python for Finance(Chinese)』(人民邮电出版社, 2017), 『Financial Modeling using R』(Tate, 2016)이다.
또한 데이터 분야에서도 금융 데이터베이스의 전문가이다. 2003년부터 2010년까지 와튼 스쿨에서 컨설턴트로 일하면서 연구원들의 프로그래밍과 데이터 관련 작업을 도왔다.

옮긴이의 말

금융이 어렵게 느껴질 수도 있지만 현대를 살아가다 보면 직간접적으로 금융 지식이 필요하다. 또한 우리가 흔히 이용하는 은행의 예금, 적금부터 주식 가격의 분석까지 금융은 알게 모르게 생활 일부가 됐다. 그러나 막상 금융을 배워보려 하면 항상 어려운 용어와 현란한 수학 기호가 걸림돌이 된다.
정량 금융은 응용 수학의 한 분야로, 금융을 수학으로 해석해 수치화한다. 따라서 미분이 등장하고 로그가 등장하며 통계 지식이 등장해, 그렇지 않아도 어렵게 생각되는 금융을 더욱 멀게 느끼게 한다. 특히 실 응용과 상관없이 이론만 설명된 책을 읽다 보면 더욱 멀어질 수밖에 없다.
이 책은 정량 금융에서 다루는 대부분 개념을 설명하면서 동시에 직접 실습해볼 수 있는 해당 파이썬 코드를 같이 제공한다. 또한 많은 코드 예제는 IBM이나 마이크로 소프트처럼 실생활에서 직접 접하는 실제 기업의 주가 데이터를 다운로드해 과제를 풀이한다. 실제 기업의 데이터를 사용해 과제를 해결하다 보면, 딱딱하고 어렵게 느껴질 수 있는 금융이 한결 쉽게 다가온다.
이 책을 통해 금융을 전공한 사람들의 경우는 파이썬 학습을 통해 이미 알고 있는 개념을 실제로 시각화하거나 주식이나 선물 가격을 실제 기업들의 데이터를 통해 계산해 봄으로써 좀 더 확실한 개념을 이해할 수 있게 될 것이고, 금융 비전공자의 경우에는 파이썬 실습을 따라 하다 보면 복잡해 보이는 금융 개념을 좀 더 쉽게 이해할 수 있게 되는 계기가 될 것이다.
모쪼록 정량 금융을 배워보고자 하는 일반인들과 금융 개념을 파이썬으로 직접 실습해보고자 하는 금융 전공자 모두에게 이 책이 도움이 되었으면 한다.

옮긴이 소개

이병욱

KAIST 전산학과에서 학사 및 석사를 취득하고 LG전자에서 소프트웨어 연구원으로 재직하다가 ㈜보험넷을 창업했다. 이후 국내 유수의 생명 보험사와 손해 보험사에서 마케팅 기획, 영업 기획, 최고 마케팅 임원(CMO), 최고 영업 및 마케팅 임원(CSMO)으로 활약했으며, 최근에는 핀테크 관련 분야, 특히 블록체인과 빅데이터를 활용한 머신 러닝에 관심이 많다.

목차

목차

  • 1장. 파이썬 기초
    • 파이썬 설치
    • 변수 값 입력 공백 프로그램 작성 ,,
    • 파이썬 함수 작성
    • 파이썬 루프
    • 데이터 입력
    • 데이터 조작
    • 데이터 출력
    • 연습문제
    • 요약

  • 2장. 파이썬 모듈 소개
    • 파이썬 모듈이란?
    • NumPy
    • SciPy
    • Matplotlib
    • Statsmodels
    • pandas
    • 금융에 관련된 파이썬 모듈
    • pandas_reader
    • 2개의 금융계산기
    • 파이썬 모듈 설치 방법
    • 모듈 종속성
    • 연습문제
    • 요약

  • 3장. 화폐의 시간 가치
    • 화폐의 시간 가치 소개
    • 파이썬으로 금융계산기 만들기
    • NPV정의와 NPV 법칙
    • IRR의 정의와 IRR 법칙
    • 회수 기간의 정의 및 회수 기간 법칙
    • 파이썬으로 만드는 나만의 금융계산기
    • 여러 함수를 위한 2가지 일반식
    • 연습문제
    • 요약

  • 4장. 데이터 소스
    • 심화 개념 탐구
    • 야후 금융에서 데이터 검색
    • 구글 금융에서 데이터 검색
    • FRED에서 데이터 추출
    • 프렌치 교수의 데이터 라이브러리에서 데이터 검색
    • 통계청, 재무국, 노동통계청에서 데이터 검색
  • 20여 개의 데이터셋 생성
    • CRSP Compustat
    • 연습문제
    • 요약

  • 5장. 채권 및 주식 가치 평가
    • 금리 소개
    • 금리의 기간 구조
    • 채권 평가
    • 주식 가격 평가
    • 새로운 데이터 형식 : 딕셔너리
    • 요약


  • 6장. 자본자산 가격 결정모델
    • CAPM
    • 베타 값 추이
    • 조정 베타
    • 출력 데이터 추출
    • 간단한 문자열 조작
    • 캐노피를 이용한 파이썬
    • 참고문헌
    • 연습문제
    • 요약

도서 오류 신고

도서 오류 신고

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

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

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