본문 바로가기
파이썬 백테스트

FinanceDataReader 금융데이터 알아보기

by AutoTrader 2022. 12. 28.
반응형

FinanceDataReader 금융데이터 알아보기

FinanceDataReader 라이브러리로 금융 데이터를 쉽게 불러올 수 있습니다. 미국, 한국, 지수, 환율, 가상화폐, 종목 등의 정보를 리스팅할 수 있습니다. 백테스트에 꼭 필요한 라이브러리 입니다.

리스팅된 SPY 정보를 Pandas로 아래와 같이 간단한 실습을 하였습니다. 좀 더 연습해서 DataFrame을 손발처럼 잘 활용할 수 있어야 백테스트 개발이 수월해질 것 같습니다.

 

무료 백테스트 툴은 평균모멘텀 스코어  적용 또는 카나리아 자산군에 따른 전략 변동 등 디테일한 백테스트가 불가합니다. 디테일한 부분은 앞으로 직접 구현하여 전략을 확인하고 결과를 블로그에 올려볼까 합니다.

 

 

# COLAB 환경에 한글폰트 설치
# 런타임 다시 시작해야 합니다.
!sudo apt-get install -y fonts-nanum
!sudo fc-cache -fv
!rm ~/.cache/matplotlib -rf

# matplotlib 임포트, 한글 글꼴 지정
import matplotlib.pyplot as plt
%matplotlib inline

plt.rcParams['font.family'] = 'NanumBarunGothic' #나눔고딕 한글 설정
plt.rcParams['axes.unicode_minus'] = False  # 문자 - (마이너스) 정상 출력을 위한 코드

# 주식 데이터를 크롤링할 수 있는 FinanceDataReader 설치
!pip install finance-datareader

#라이브러리 import
import FinanceDataReader as fdr
import numpy as np
import pandas as pd
from tqdm.notebook import tqdm

### pandas 1. Series  행×값 데이터 ###
# SPY (S&P 500) 데이터 가져오기
_df_spy = fdr.DataReader('SPY')
_df_spy

#특정일자의 종가 가져오기
_df_spy_series = _df_spy.loc['1993-01-29':'1993-02-01']['Close']
_df_spy_series

# Series의 인덱스 보기
_df_spy.index

# Series의 Close 종가 보기
_df_spy.Close

# Series의 type 확인
type(_df_spy)

### pandas 2. Series 접근, 연산, 생성 ###
#배열 번호로 접근
_df_spy.iloc[4] 

# 인덱스로 Slicing
_df_spy.loc['2020-09-15':'2020-09-17']  

# 배열 번호로 Slicing (끝 포함되지 않습니다.)
_df_spy.iloc[4:7]

# Broadcasting 4번째 배열부터 똑같은 값을 더한다. 
_df_spy.iloc[4:] + _df_spy.iloc[4:]

# Scalar Broadcasting 특정일자의 종가에 3만 더하기
_df_spy.loc['1993-02-04':'1993-02-08']['Close'] + 30000

# 평균 aggregation
_df_spy.loc['1993-02-04':'1993-02-08']['Close'].mean()

colab_FinanceDataReader 금융데이터 알아보기 링크

https://colab.research.google.com/drive/1RMSgdcmfjlUQwFst7ERCe0kRlvEtP23Q?usp=sharing 

 

FinanceDataReader 사용안내서 링크

https://financedata.github.io/posts/finance-data-reader-users-guide.html

반응형

댓글