2020. 12. 30. 16:49ㆍPython/Module | yfinance
yfinance는 Ran Aroussi 가 개발한 오픈소스 API로, 이를 통해 Yahoo Finance에서 제공하는 데이터에 접근할 수 있다. yfinance의 옛 이름은 fix-yahoo-finance로, 2019년 5월 26일에 이름이 바뀌었다.
yfinance의 장점
1. 무료이다!
사실 yahoo finance data에 접근하는 다른 방법들도 있지만, 추가적인 기능을 위해 비용을 지불해야 하는 경우도 있다.
2. 설치가 빠르고 간편하며 호환성이 뛰어나다.
$ conda install -c ranaroussi yfinance
$ pip install yfinance --upgrade --no-cache-dir
Dependencies
3. 매우 간단하며 pythonic하다.
*pythonic: python의 기본 syntax에서 크게 벗어나지 않음.
4. 데이터가 세분화 되어있다.(high granularity)
데이터의 interval(frequency)는 아래와 같이 매우 다양하다.
1분, 2분, 5분, 15분, 30분, 60분, 90분, 1시간, 1일, 5일, 1주, 1달, 3달
5. 수익률 데이터를 바로 pandas dataframes 또는 series로 가져올 수 있다.
귀찮게 JSON을 사용하지 않아도 데이터에 접근한다.
yfinance의 단점
1. 특수 기능의 부재
yfinance를 이용하면 다양한 주요 데이터들을 수집할 수도 있긴 하나, 뉴스 리포트 및 분석 스크래핑을 수행하는 method는 따로 없다.
2. 특정 method의 불안정성
yfinance는 주로 Yahoo Finance에 API를 호출하여 데이터를 수집한다. 그러나 일부 방법에 대해 Yahoo Finance 웹 사이트에서 비공식적으로 정보를 수집하기 위해 HTML 스크래핑 및 pandas 스크래핑을 사용한다. 따라서 페이지의 레이아웃이나 디자인이 변경될 경우 특정 method는 사용이 불가능할 수도 있다. 실제로 이미 몇 가지 문제가 있다고 널리 알려져 있다.
3. 비공식적이며 데이터 수집이 제한될 수도 있다.
yfinance는 공식적으로 Yahoo Finance와 무관하기 때문에 언제까지나 무제한적으로 사용할 수 있다는 보장이 없다. 따라서 너무 많고 빠른 요청(request)을 할 경우 데이터 수집 속도에 제한을 받을 수 있으며, 심한 경우 블랙리스트에 올라 데이터 수집이 불가능해질 수도 있다.
다른 API들
Rapid API, yahoo-fin 등
'Python > Module | yfinance' 카테고리의 다른 글
yfinance | Empty DataFrame 오류 해결하기 (0) | 2021.01.14 |
---|