Skip to main content
Join the official Python Developers Survey 2018 and win valuable prizes: Start the survey!

Python module to get stock data from IEX API 1.0

Project description

https://travis-ci.org/addisonlynch/iexfinance.svg?branch=master https://codecov.io/gh/addisonlynch/iexfinance/branch/master/graphs/badge.svg?branch=master https://badge.fury.io/py/iexfinance.svg https://img.shields.io/badge/License-Apache%202.0-blue.svg

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

Stable documentation is hosted on github.io.

Development documentation is also available for the latest changes in master.

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:

/docs/source/images/dfdailyaapl.JPG

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

import matplotlib.pyplot as plt

df.plot()
plt.show()
/docs/source/images/plotdailyaapl.jpg

IEX Reference Data

Support for the IEX Reference Data endpoints is available through the top level functions get_available_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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
iexfinance-0.3.4-py3-none-any.whl (17.0 kB) Copy SHA256 hash SHA256 Wheel py3 Jul 12, 2018
iexfinance-0.3.4.tar.gz (18.1 kB) Copy SHA256 hash SHA256 Source None Jul 12, 2018

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page