/iexfinance

Python wrapper for the Investor's Exchange (IEX) Developer API (https://iextrading.com/developer/)

Primary LanguagePythonApache License 2.0Apache-2.0

iexfinance

image

image

image

image

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.

Documentation

See IEX Finance Documentation

Install

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  

Usage Examples

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).

Stock Endpoints

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:

image

It's really simple to plot this data, using `matplotlib:

import matplotlib.pyplot as plt

df.plot()
plt.show()

<https://matplotlib.org/>`__

image

IEX Reference Data

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]

IEX Market Data

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()

IEX Stats

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()

Contact

Email: ahlshop@gmail.com

Twitter: alynchfc

License

Copyright © 2018 Addison Lynch

See LICENSE for details