본문 바로가기
파이썬

파이썬 Yahoo Finance Python에서 한 번에 여러 주식 다운로드

by º기록 2020. 10. 12.
반응형

pandas 데이터 리더를 사용하는 yahoo 금융의 기능에 대해 질문이 있습니다. 지금은 주식 시세 표시기가있는 목록을 몇 달 동안 사용하고 있으며 다음 줄에서 실행합니다.

import pandas_datareader as pdr
import datetime

stocks = ["stock1","stock2",....]
start = datetime.datetime(2012,5,31)
end = datetime.datetime(2018,3,1)

f = pdr.DataReader(stocks, 'yahoo',start,end)

어제부터 "IndexError : list index out of range"라는 오류가 발생합니다.이 오류는 여러 주식을 얻으려고 할 때만 나타납니다.

최근에 제가 고려해야 할 사항이 변경되었거나 제 문제에 대한 더 나은 해결책이 있습니까?

 

해결 방법

 


v0.6.0 (2018 년 1 월 24 일)

Yahoo! , Google 옵션 , 견적 EDGAR 에 대한 즉각적인 지원 중단. The end points behind these APIs have radically changed and the existing readers require complete rewrites. In the case of most Yahoo! data the endpoints have been removed. PDR would like to restore these 기능 및 pull 요청을 환영합니다.

이것이 IndexError (또는 다른 일반적으로 존재하지 않는 오류)가 발생하는 이유가 될 수 있습니다.

그러나 Yahoo! 지원을 수정하는 것을 목표로하는 또 다른 Python 패키지가 있습니다. Pandas DataReader를위한 금융, 여기에서 해당 패키지를 찾을 수 있습니다.


그들의 문서에 따르면 :


fix-yahoo-finance Yahoo! 금융 사용 및 팬더 반환 DataFrame/Panel in the same format as pandas_datareader’s get_data_yahoo () .

기본적으로 "도용"하여 pandas_datareader.data.get_data_yahoo () method, fix-yahoo-finance’s implantation is easy and only requires fix_yahoo_finance 를 코드로 가져옵니다.

추가해야 할 것은 다음과 같습니다.

from pandas_datareader import data as pdr
import fix_yahoo_finance as yf

yf.pdr_override() 

stocks = ["stock1","stock2", ...]
start = datetime.datetime(2012,5,31)
end = datetime.datetime(2018,3,1)

f = pdr.get_data_yahoo(stocks, start=start, end=end)

또는 Pandas DataReader 없이도 :

import fix_yahoo_finance as yf

stocks = ["stock1","stock2", ...]
start = datetime.datetime(2012,5,31)
end = datetime.datetime(2018,3,1)
data = yf.download(stocks, start=start, end=end)

 

참조 페이지 https://stackoverflow.com/questions/49705047

 

 

반응형

댓글