This is the starting point of a python package to automatically download data and update database with crypto-currency data (bitcoin, ether, litecoin, etc.) from different API exchanges (allow only Binance, Bitmex, Bitfinex, GDAX, Kraken and Poloniex for the moment).
The dccd
package allow you two main methods to download data. The first one is recommended to download data at high frequency (minutely or tick by tick), and the second one is recommended to download data at a lower frequency (hourly or daily):
-
Continuous Downloader
dccd.continuous_dl
:
Download and update continuously data (orderbook, trades tick by tick, ohlc, etc) and save it in a database. Currently only support Bitfinex and Bitmex exchanges. -
Historical Downloader
dccd.histo_dl
:
Download historical data (ohlc, trades, etc.) and save it. Currently only support Binance, GDax, Kraken and Poloniex exchanges.
The 'dccd.histo_dl' module contains a main class and four classes to download and update data for each exchange, and a module 'date_time' to manage specific time format needed for each API.
The four classes to download historical data are FromBinance, FromGDax, FromKraken and FromPoloniex. All have the same methods and almost the same parameters:
-
__init__(path, crypto, span, fiat(optional), form(optional)) initialisation with path is the path where save the data (string), crypto is a crypto currency (string) and span is the interval time between each observation in seconds (integer) or can be a string as 'hourly', 'daily', etc. (see details on the doc string). The optional parameters are fiat the second currency (default is 'USD' and 'USDT' for poloniex and binance) and form the format to save the data (default is 'xlsx').
-
import_data(start, end) download data with start and end the timestamp (integer) or the date and time (string as 'yyyy-mm-dd hh:mm:ss'), respectively of the first observation and the last observation (default are special parameters start='last' allow the last data saved and end='now' allow the last observation available). Exclusion: Kraken don't allow the end parameter and provide only the thousand last observations.
-
save(form(optional), by(optional)) save the data with form the format of the saved data (default is 'xlsx') and by is the "size" of each saved file (default is 'Y' as an entire year). Exclusion: This optional parameters are in progress, let the default parameter for the moment, other are not allow.
-
get_data() returns the data frame without any parameter.
Method chaining is available.
$ pip install dccd
$ git clone https://github.com/ArthurBernard/Download_Crypto_Currencies_Data
$ cd Download_Crypto_Currencies_Data
$ python setup.py install --user
- numpy>=1.14.1
- pandas>=0.22.0
- requests>=2.18.4
- xlrd>=1.1.0
- xlsxwriter>=1.0.2
- websockets>=7.0.0
- scipy>=1.2.0
- SQLAlchemy>=1.3.0
-
Binance.
-
Bitfinex.
-
Bitmex.
-
GDAX.
-
Kraken.
-
Poloniex.
Package not achieved, always in progress. This is my first one package, all advice is welcome.