yfinance – 가장 잘 알려져있다. 주가 historical data를 갖고오는데는 문제가 없었지만 company financial 가져오는데 오류가 나서 확인해 보니 야후의 encryption 키를 알아내 데이터를 가져오는 방식이었다. 이런 이유로 한계.
yahooquery – undocumented api 사용. 마찬가지로 사용의 안정성이 떨어질 듯.
finnhub.io – 올인원 데이터 가격이 $1500/월. historical data를 가져오려면 유료 버전을 필수로 써야함.
FMP (Finance Modeling Prep) – Starter 사용시 $10.50/월. Personal use. 분당 300개 API. 이정도면 충분하다.
AlphaVantage – 여기가 솔깃한 이유는 sentiment analysis가 있기 때문. 무료로 사용한다면 5 API requests per minute and 500 requests per day로 제한. 분당 75 API call이 $49.99.
FredAPI – Federal Reserve Economic Data API 이다. GDP, M2 같은 데이터를 가져올 수 있다.
이렇게 놓고 볼때 FMP, AlphaVantage 정도가 적당해 보인다. 단 두가지가 제공하는 데이터는 서로 다르다. 예를들어 FMP에는 interest rate, gdp 등이 없다. 이 둘은 fredapi를 통해 가져오면 되겠지만 여러 api 를 섞어서 쓴다면 유지보수가 귀찮아 질 듯.
그외 FMP, AlphaVantage 의 차이는 earning calendar 등에서도 보인다. 유료결제를 안해서 그런지 모르겠지만 FMP는 지난 4분기의 earning surprise 만 보여주고 AlphaVantage는 더 긴기간에 대해 보여준다.
정리
- 주가만 볼거라면 yfinance
- 외환도 yfinance – ticker만 잘 찾으면 된다.
- 국가 규모의 financial data는 Fred API
- Company 에 대한 Financial Data, News 등은 어쩔 수 없이 유료 API. 여기까지오면 개인적으로는 AlphaVantage를 선택할것 같다.