Pyfolio를 사용해볼게요.

개시하다


pyfolio


3년 전 파이톤 라이브러리Quantopian Inc는 조합 성능과 위험 분석에 도움이 되는 파이톤 라이브러리를 발표했다.
주요 기능은 각종 도표를 그려서 전체 이미지의 조합을 분석하는 데 도움을 주는 것이다.
(여러 차트를 요약한 것을 Tear sheet이라고 합니다.)

이번에 할 일


위 URL을 참고하여 팀 시트를 만들어 보세요.
내용은 한 브랜드의 일회수로 다양한 그림을 그려 티어시트를 만드는 느낌이다.(본 보도는 구글의 주가를 얻었다.)
위의 URL을 직접 실행하는 코드에서도 오류가 발생할 수 있습니다.
pyfolio가 구글finance에서 데이터를 얻었기 때문입니다.Google finance는 과거 공식 API 제공을 중지했습니다. 비공식적인 것은 출시되었지만 비공식적인 API가 폐지된 이유 중 하나입니다.

tear sheet 제작


컨디션


Google Colaboratory, Jupter Notebook 등

라이브러리 준비


pyfolio 설치
pip install pyfolio
원하는 라이브러리 가져오기
import pandas as pd
import pyfolio as pf
%matplotlib inline

import warnings
warnings.filterwarnings('ignore')

import pandas_datareader.data as pdr
%matplotlib inline는 Jupter Notebook으로, 수첩에 그래프를 그릴 때 지정한 기술이다.warnings는 실행 결과에 특별한 영향을 미치지 않는 경고 표시를 삭제하는 프로그램 라이브러리입니다.구린내 나는 것에 대해 뚜껑을 덮어라.pandas_datareader는 주가를 취득할 때 사용하는 창고다.주식 가격뿐만 아니라 인터넷의 각종 데이터 원천에서도 데이터를 얻을 수 있다.

주식 가격 데이터의 취득


yahoo finance에서 구글 주가 데이터 얻기


아래 줄만 있으면 됩니다.
google = pdr.DataReader('GOOGL', 'yahoo', '2018/1/1', '2019/1/1')
데이터 리더의 매개변수는 4개
・name: 브랜드(str형 또는str형의list)
데이터source: 꺼내고 싶은 원본 (str형)
・start: 시작 날짜 가져오기 (데이터 형식)
・end: 종료일 (데이터 형식) 가져오기
(이것이 없으면 입력한 날짜까지 가져온다)
그렇습니다.
데이터는 아래와 같다.DataFrame형에서 얻습니다.
head,tail을 사용하여 시작과 끝의 다섯 줄을 꺼냅니다.
google.head(5)
google.tail(5)

일회적 계산


종가 계산을 사용하여 되돌아오다.
티어 시트를 만들어pyfolio에게 주는 방법의 반환 데이터는panda이다.시리즈형이 필요합니다.
cp_google = google['Close']
# cp は colse price の略
다음은 일회 계산이다.
일회 계산 공식은 다음과 같습니다.
(当日の終値 ÷ 全日の終値) - 1 
판다스의 방법으로 간단하게 얻을 수 있습니다.
return_google = cp_google.pct_change().dropna()
#dropna() は1行目の欠損値処理

tear sheet 그리기

pf.create_returns_tear_sheet(return_google)
를 입력합니다.


향후의 전망


pyfolio는 또 다른 다양한 티어 시트가 있기 때문에 사용법을 알아보고 싶습니다.
또한tear sheet의 분석 방법을 배워서 고성능을 발휘할 수 있는 알고리즘을 만들고 싶습니다.

좋은 웹페이지 즐겨찾기