How to Get & Analyze Financial Data Using the FinanceDataReader Library

Share:

FinanceDataReader is an open-source library for collecting and analyzing financial data such as price data (stocks, indices, exchange rates, futures, etc.) and stock listings in the Korean and global markets.

Photo by Nick Chong on Unsplash

The FinanceDataReader is a financial data reader(crawler) for finance.
The main functions are as follows.

  • Stock Symbol listings: ‘KRX’ (‘KOSPI’, ‘KODAQ’, ‘KONEX’), ‘NASDAQ’, ‘NYSE’, ‘AMEX’, and ‘S&P500’
  • KRX delistings: ‘KRX-DELISTING’
  • ETF Symbol listings: Support for ETF lists for multiple countries (‘KR’, ‘US’, ‘JP’)
  • Stock price(KRX): ‘005930’(Samsung), ‘091990’(Celltrion Healthcare) …
  • Stock price(Word wide): ‘AAPL’, ‘AMZN’, ‘GOOG’ … (you can specify exchange(market) and symbol)
  • Indexes: ‘KOSPI’, ‘KOSDAQ’, ‘DJI’, ‘IXIC’, ‘US500’(S&P 500) …
  • Exchanges: ‘USD/KRX’, ‘USD/EUR’, ‘CNY/KRW’ …
  • Cryptocurrency price data: ‘BTC/USD’ (Bitfinex), ‘BTC/KRW’ (Bithumb)

Install

pip install finance-datareader pandas-datareader bokeh bs4 lxml html5lib numpy matplotlib pandas.

Upgrade

pip install -U finance-datareader

Demo pictures

Quick Start (Have A Try).

import FinanceDataReader as fdr# Apple(AAPL), 2017-01-01 ~ Now
df = fdr.DataReader('AAPL', '2017')
# Ford(F), 1980-01-01 ~ 2019-12-30 (40 years)
df = fdr.DataReader('F', '1980-01-01', '2019-12-30')
# AMAZON(AMZN), 2017
df = fdr.DataReader('AMZN', '2017-01-01', '2019-12-31')
# Samsung(005930), 1992-01-01 ~ 2018-10-31
df = fdr.DataReader('068270', '1992-01-01', '2019-10-31')
# country code: ex) 000150: Doosan(KR), Yihua Healthcare(CN)
df = fdr.DataReader('000150', '2018-01-01', '2019-10-30') # KRX
df = fdr.DataReader('000150', '2018-01-01', '2019-10-30', exchange='KRX') # KRXdf = fdr.DataReader('000150', '2018-01-01', '2019-10-30', exchange='SZSE') # SZSE
df = fdr.DataReader('000150', '2018-01-01', '2019-10-30', exchange='심천') # SZSE
# KRX delisting stock data
df = fdr.DataReader('036360', exchange='krx-delisting')
# KOSPI index, 2015 ~ Now
ks11 = fdr.DataReader('KS11', '2015-01-01')
# Dow Jones Industrial(DJI), 2015 ~ Now
dji = fdr.DataReader('DJI', '2015-01-01')
# USD/KRW, 1995~Now
usdkrw = fdr.DataReader('USD/KRW', '1995-01-01')
# Bitcoin KRW price (Bithumbs), 2016 ~ Now
btc = fdr.DataReader('BTC/KRW', '2016-01-01')
# KRX stock symbol list and names
krx = fdr.StockListing('KRX')
# KRX stock delisting symbol list and names
krx_delisting = fdr.StockListing('KRX-DELISTING')
# S&P 500 symbol list
sp500 = fdr.StockListing('S&P500')