Skip to content

dominiktraxl/pykrakenapi

Repository files navigation

Warning

This repository is not maintained actively at the moment.

pykrakenapi

Implements the Kraken API methods using the low-level krakenex python package. See

https://www.kraken.com/help/api

and

https://github.com/veox/python3-krakenex

Whenever convenient, methods return pandas.DataFrame objects. Also implements a call rate limiter based on your Kraken tier level, as well as automatic retries on HTTPErrors/Kraken API Errors.

Quick Start

pykrakenapi can be installed via pip from PyPI

$ pip install pykrakenapi

Then, import and get started with:

>>> from pykrakenapi import KrakenAPI
>>> help(KrakenAPI)

pykrakenapi requires Python >= 3.3, krakenex >= 2.0.0 and pandas. These requirements should be installed automatically via pip.

Example

import krakenex
from pykrakenapi import KrakenAPI
api = krakenex.API()
k = KrakenAPI(api)
ohlc, last = k.get_ohlc_data("BCHUSD")
print(ohlc)

time open high low close vwap volume count

dtime 2017-11-19 18:31:00 1511116260 1175.0 1175.0 1175.0 1175.0 0.0 0.00000000 0 2017-11-19 18:30:00 1511116200 1175.0 1175.0 1175.0 1175.0 0.0 0.00000000 0 2017-11-19 18:29:00 1511116140 1175.0 1175.0 1175.0 1175.0 1175.0 0.30000000 1 2017-11-19 18:28:00 1511116080 1171.2 1175.0 1170.3 1170.3 1174.9 10.02137467 3 2017-11-19 18:27:00 1511116020 1166.4 1171.2 1166.4 1171.2 1171.2 0.20043000 1 ... ... ... ... ... ... ... ... ... 2017-11-19 06:36:00 1511073360 1217.5 1217.5 1217.5 1217.5 0.0 0.00000000 0 2017-11-19 06:35:00 1511073300 1219.7 1219.7 1217.5 1217.5 1218.8 2.60803000 5 2017-11-19 06:34:00 1511073240 1221.3 1221.3 1221.3 1221.3 0.0 0.00000000 0 2017-11-19 06:33:00 1511073180 1220.4 1221.3 1210.7 1221.3 1216.3 17.37500000 11 2017-11-19 06:32:00 1511073120 1222.0 1222.0 1222.0 1222.0 0.0 0.00000000 0

[713 rows x 8 columns]

Documentation

See the docstrings of the methods of the KrakenAPI class.

>>> from pykrakenapi import KrakenAPI >>> help(KrakenAPI)

FAQ

  • Why is my order not executed? Why can't I see my order in Kraken?

Kraken's API "Add standard order" call enables a validate only feature that defaults to True here. In order to have your order executed, try with validate=False.

k.add_standard_order(pair="ATOMXBT", type="buy", ordertype="limit", volume="420.0", price="0.00042", validate=False)

Development

This package should be considered beta state, since some methods have not been properly tested yet. Contributions in any way, shape or form are welcome!

Bug Reports

To search for bugs or report them, please use the bug tracker: https://github.com/dominiktraxl/pykrakenapi/issues

Licence

Distributed with a GNU GPL:

Copyright (C) 2017 pykrakenapi Developers
Dominik Traxl <[email protected]>