Skip to main content

Python module to get stock data from IEX API 1.0

Project description

iexfinance
===============

.. image:: https://travis-ci.org/addisonlynch/iexfinance.svg?branch=master
:target: https://travis-ci.org/addisonlynch/iexfinance

.. image:: https://codecov.io/gh/addisonlynch/iexfinance/branch/master/graphs/badge.svg?branch=master
:target: https://codecov.io/gh/addisonlynch/iexfinance

.. image:: https://badge.fury.io/py/iexfinance.svg
:target: https://badge.fury.io/py/iexfinance

.. image:: https://img.shields.io/badge/License-Apache%202.0-blue.svg
:target: https://opensource.org/licenses/Apache-2.0


Python module to retrieve stock data from the
`Investors Exchange (IEX) <https://iextrading.com/>`__
`Developer API <https://iextrading.com/developer/>`__
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.

- `Stocks <https://iextrading.com/developer/docs/#stocks>`__
- `Reference Data <https://iextrading.com/developer/docs/#reference-data>`__
- `IEX Market Data <https://iextrading.com/developer/docs/#iex-market-data>`__
- `IEX Stats <https://iextrading.com/developer/docs/#iex-stats>`__

Documentation
-------------

See `IEX Finance
Documentation <https://addisonlynch.github.io/iexfinance/index.html#documentation>`__

Install
-------

From PyPI with pip (latest stable release):

``$ pip3 install iexfinance``

From development repository (dev version):

.. code:: bash

$ 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 <https://iextrading.com/developer/docs/#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
<https://addisonlynch.github.io/usage.html#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
<https://addisonlynch.github.io/iexfinance/caching.html>`__).

Stock Endpoints
^^^^^^^^^^^^^^^

.. code:: python

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**

.. code:: python

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:: /docs/source/images/dfdailyaapl.JPG

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

.. code:: python

import matplotlib.pyplot as plt

df.plot()
plt.show()

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

.. image:: /docs/source/images/plotdailyaapl.jpg

IEX Reference Data
^^^^^^^^^^^^^^^^^^

Support for the `IEX Reference Data
<https://iextrading.com/developer/docs/#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.

.. code:: python

from iexfinance import get_available_symbols

get_available_symbols(output_format='pandas')[:2]


IEX Market Data
^^^^^^^^^^^^^^^

The `IEX Market Data
<https://iextrading.com/developer/docs/#iex-market-data>`__ endpoints are
supported through various top-level functions, including ``get_market_tops``
and ``get_market_deep``.

.. code:: python

from iexfinance import get_market_tops

get_market_tops()



IEX Stats
^^^^^^^^^

The `IEX Stats
<https://iextrading.com/developer/docs/#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.

.. code:: python

from iexfinance import get_stats_intraday

get_stats_intraday()



Contact
-------

Email: `ahlshop@gmail.com <ahlshop@gmail.com>`__

Twitter: `alynchfc <https://www.twitter.com/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.

Source Distribution

iexfinance-0.3.3.tar.gz (20.3 kB view details)

Uploaded Source

File details

Details for the file iexfinance-0.3.3.tar.gz.

File metadata

  • Download URL: iexfinance-0.3.3.tar.gz
  • Upload date:
  • Size: 20.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for iexfinance-0.3.3.tar.gz
Algorithm Hash digest
SHA256 97bd8fd12d1b0642e9018fe0d70712afceaae88c054891d8b833a817db928325
MD5 053cbcdc2828775547fc01cf14aef357
BLAKE2b-256 f0d1865dcc2efb7183fd0a9072f17214c39030ebda720e93d99ba76214c2f389

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page