All Projects → EodHistoricalData → python-eodhistoricaldata

EodHistoricalData / python-eodhistoricaldata

Licence: MIT license
Download data from EOD historical data https://eodhistoricaldata.com/ using Python, Requests and Pandas.

Programming Languages

python
139335 projects - #7 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to python-eodhistoricaldata

Jqdatasdk
简单易用的量化金融数据包(easy utility for getting financial market data of China)
Stars: ✭ 457 (+582.09%)
Mutual labels:  pandas, stock-data
Yahooquery
Python wrapper for an unofficial Yahoo Finance API
Stars: ✭ 288 (+329.85%)
Mutual labels:  pandas, stock-data
Tushare
TuShare is a utility for crawling historical data of China stocks
Stars: ✭ 11,288 (+16747.76%)
Mutual labels:  pandas, stock-data
Finance Go
📊 Financial markets data library implemented in go.
Stars: ✭ 392 (+485.07%)
Mutual labels:  pandas, stock-data
Yfinance
Download market data from Yahoo! Finance's API
Stars: ✭ 6,148 (+9076.12%)
Mutual labels:  pandas, stock-data
Iexfinance
Python SDK for IEX Cloud
Stars: ✭ 573 (+755.22%)
Mutual labels:  pandas, stock-data
Pandas Datareader
Extract data from a wide range of Internet sources into a pandas DataFrame.
Stars: ✭ 2,183 (+3158.21%)
Mutual labels:  pandas, stock-data
pyEX
Python interface to IEX and IEX cloud APIs
Stars: ✭ 407 (+507.46%)
Mutual labels:  stock-data
skutil
NOTE: skutil is now deprecated. See its sister project: https://github.com/tgsmith61591/skoot. Original description: A set of scikit-learn and h2o extension classes (as well as caret classes for python). See more here: https://tgsmith61591.github.io/skutil
Stars: ✭ 29 (-56.72%)
Mutual labels:  pandas
nse2r
Fetch data from National Stock Exchange, India
Stars: ✭ 21 (-68.66%)
Mutual labels:  stock-data
intrinio-realtime-java-sdk
Intrinio Java SDK for Real-Time Stock Prices
Stars: ✭ 22 (-67.16%)
Mutual labels:  stock-data
IQFeed.CSharpApiClient
IQFeed.CSharpApiClient is fastest and the most well-designed C# DTN IQFeed socket API connector available
Stars: ✭ 103 (+53.73%)
Mutual labels:  stock-data
StockScreener
A handy tool for screening stocks based on certain criteria from several markets around the world. The list can then be delivered to your email address (one-off or regularly via crontab).
Stars: ✭ 51 (-23.88%)
Mutual labels:  stock-data
R-code-for-finance
R code for finance
Stars: ✭ 19 (-71.64%)
Mutual labels:  stock-data
fer
Facial Expression Recognition
Stars: ✭ 32 (-52.24%)
Mutual labels:  pandas
FAIG
Fully Automated IG Trading
Stars: ✭ 134 (+100%)
Mutual labels:  stock-data
hh research
Автоматизация поиска и исследования вакансий с сайта hh.ru (Headhunter) с помощью методов Python. Классификация данных, поиск статистических параметров.
Stars: ✭ 36 (-46.27%)
Mutual labels:  pandas
Algorithmic-Trading
Algorithmic trading using machine learning.
Stars: ✭ 102 (+52.24%)
Mutual labels:  pandas
Stocky
Machine Learning Stock Trading Risk Analysis (Spring 2017)
Stars: ✭ 27 (-59.7%)
Mutual labels:  stock-data
mftool
Python library for getting real-time Mutual Funds data in India
Stars: ✭ 76 (+13.43%)
Mutual labels:  stock-data

Build Status

Python EOD Historical Data

A library to download data from EOD historical data https://eodhistoricaldata.com/ using:

Installation

Install latest development version

$ pip install git+https://github.com/femtotrader/python-eodhistoricaldata.git

or

$ git clone https://github.com/femtotrader/python-eodhistoricaldata.git
$ python setup.py install

Usage

Environment variable EOD_HISTORICAL_API_KEY should be defined using:

export EOD_HISTORICAL_API_KEY="YOUR_API"

or setup and .env file and  write your api key 
like EOD_HISTORICAL_API_KEY="YOUR_API"
see exampl.env 

You can download data simply using

In [1]: import pandas as pd
In [2]: pd.set_option("max_rows", 10)
In [3]: from eod_historical_data import get_eod_data
In [4]: df = get_eod_data("AAPL", "US")
In [5]: df
Out[1]:
                Open      High       Low     Close  Adjusted_close  \
Date
2000-01-03    3.7455    4.0179    3.6317    3.9978          3.9978
2000-01-04    3.8661    3.9509    3.6138    3.6607          3.6607
2000-01-05    3.7054    3.9487    3.6786    3.7143          3.7143
2000-01-06    3.7902    3.8214    3.3929    3.3929          3.3929
2000-01-07    3.4464    3.6071    3.4107    3.5536          3.5536
...              ...       ...       ...       ...             ...
2017-05-26  154.0000  154.2400  153.3100  153.6100        153.6100
2017-05-30  153.4200  154.4300  153.3300  153.6700        153.6700
2017-05-31  153.9700  154.1700  152.3800  152.7600        152.7600
2017-06-01  153.1700  153.3300  152.2200  153.1800        153.1800
2017-06-02  153.6000  155.4500  152.8900  155.4500        155.4500

                 Volume
Date
2000-01-03  133949200.0
2000-01-04  128094400.0
2000-01-05  194580400.0
2000-01-06  191993200.0
2000-01-07  115183600.0
...                 ...
2017-05-26   21927600.0
2017-05-30   20126900.0
2017-05-31   24451200.0
2017-06-01   16274200.0
2017-06-02   25163841.0

[4382 rows x 6 columns]

but if you want to avoid too much data consumption, you can use a cache mechanism.

In [1]: import datetime        
In [2]: import requests_cache
In [3]: expire_after = datetime.timedelta(days=1)
In [4]: session = requests_cache.CachedSession(cache_name='cache', backend='sqlite', expire_after=expire_after)
In [5]: df = get_eod_data("AAPL", "US", session=session)

See tests directory for example of other API endpoints.

Credits

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].