Yahoo Finance to Google Finance
Yahoo Finance to Google Finance¶
Yahoo의 서비스 구조 변경 (2017년 5월 15일 부터 아래 2개 URL 서비스 불가)
- https://ichart.finance.yahoo.com/table.csv (pandas_datareader 에서 사용하는 URL)
- http://real-chart.finance.yahoo.com/table.csv (URL을 통해 직접 가격 데이터 가져오는 URL)
이 때문에, pandas_datareader 에서 yahoo로 지정했을 경우 동작하지 않음 (2017년 6월 현재)
이 부분들을 Google Finance 대체 할 수 있으며,
아래와 같이 코스피 지수, 개별종목, 가격을 URL에서 직접 가져오기 3가지로 부분을 정리하였습니다
(다른 Yahoo finance API는 잘 동작합니다)
2017 FinanceData http://fb.com/financedata¶
In [2]:
import pandas as pd
from datetime import datetime
from pandas_datareader import data
코스피 지수¶
# yahoo
start = datetime(2017, 1, 1)
end = datetime(2017, 4, 30)
df = data.get_data_yahoo("^KS11", start, end)
df = data.DataReader("^KS11", "yahoo", start, end)
In [3]:
start = datetime(2017, 1, 1)
end = datetime(2017, 4, 30)
# google
df = data.get_data_google("KRX:KOSPI", start, end)
df.head()
Out[3]:
In [4]:
# google
df = data.DataReader("KRX:KOSPI", "google", start, end)
df.head()
Out[4]:
개별 종목¶
In [5]:
# yahoo
# df = data.get_data_yahoo("005930.KS", start, end)
# google
df = data.get_data_google("KRX:005930", start, end)
df.head()
Out[5]:
URL에서 가져오기¶
In [6]:
# yahoo
url = "http://real-chart.finance.yahoo.com/table.csv?s=%s&a=0&b=1&c=2017&d=3&e=30&f=2017&g=d&ignore=.csv"
# google
url = "http://www.google.com/finance/historical?q=KRX:KOSPI&startdate=2017-01-30&enddate=2017-04-30&output=csv"
df = pd.read_csv(url, index_col='Date', parse_dates=True)
df.head(10)
Out[6]:
pandas-datareader 0.5 Fixed¶
v0.5 (2017년 7월 25일)에서 fixed¶
pandas_datareader 에서 "yahoo"를 지정했을 때 데이터를 가져오지 못하는 문제는 pandas-datareader 0.5 (July 25, 2017) 이상에서 수정되었습니다. (2017년 5월 15일 ~ 7월 25일까지, 약 2달 정도 pandas_datareader 에서 "yahoo"의 가격 부분이 정상적으로 동작하지 않았습니다)
pandas_datareader 내부적으로 http://ichart.finance.yahoo.com 를 사용하지 않고, https://query1.finance.yahoo.com 를 사용하는 것으로 수정되었네요.
업그레이드에 대한 상세 내용은,
- https://pandas-datareader.readthedocs.io/en/latest/whatsnew.html#v0-5-0-july-25-2017 v0.5.0 (July 25, 2017)
업그레이드¶
v0.5 미만의 버전을 사용 중이라면, 다음과 같이 업그레이드하면 됩니다.
$ sudo pip3 install -U pandas_datareader
댓글
Comments powered by Disqus