Python module to retrieve stock data from the Investors Exchange (IEX) Developer API platform. iexfinance provides real-time financial data from the various IEX endpoints, as well as historical time-series data.
This data includes stock quotes, fundamentals, actions, and information. In addition, support for IEX market data and statistics is provided.
From PyPI with pip (latest stable release):
$ pip3 install iexfinance
From development repository (dev version):
$ git clone https://github.com/addisonlynch/iexfinance.git
$ cd iexfinance
$ python3 setup.py install
Using iexfinance to access data from IEX is quite easy. The most commonly-used endpoints are the Stocks endpoints, which allow access to various information regarding equities, including quotes, historical prices, dividends, and much more.
All top-level functions (such as Stock
and get_historical_data
), allow for Request Parameters, which include retry_count
, pause
, and session
. These parameters are entirely optional. The first two deal with how unsuccessful requests are handled, and the third allows for the passing of a cached requests-cache
session (see caching).
from iexfinance import Stock
tsla = Stock('TSLA')
tsla.get_open()
tsla.get_price()
It's also possible to obtain historical data from the get_historical_data
top-level function. This will return a daily time-series of the ticker requested over the desired date range (start
and end
passed as datetime.datetime
objects).
Pandas DataFrame and JSON (dict) output formatting are selected with the output_format
parameter.
Historical Data
from iexfinance import get_historical_data
from datetime import datetime
start = datetime(2017, 2, 9)
end = datetime(2017, 5, 24)
df = get_historical_data("AAPL", start=start, end=end, output_format='pandas')
df.head()
The resulting DataFrame will indexed by date, with a column for each OHLC datapoint:
It's really simple to plot this data, using `matplotlib:
import matplotlib.pyplot as plt
df.plot()
plt.show()
Support for the IEX Reference Data endpoints is available through the top level functions get_symbols
, get_corporate_actions
, get_dividends
, get_next_day_ex_date
, and get_listed_symbol_dir
. As with all endpoints, request parameters such as retry_count
and output format selection (through output_format
) can be passed to the call.
from iexfinance import get_available_symbols
get_available_symbols(output_format='pandas')[:2]
The IEX Market Data endpoints are supported through various top-level functions, including get_market_tops
and get_market_deep
.
from iexfinance import get_market_tops
get_market_tops()
The IEX Stats endpoints are supported through various top-level functions, including get_stats_intraday
and get_stats_recent
. These endpoints provide IEX's trading statistics for a given ticker.
from iexfinance import get_stats_intraday
get_stats_intraday()
Email: ahlshop@gmail.com
Twitter: alynchfc
Copyright © 2018 Addison Lynch
See LICENSE for details