piker/piker/brokers/kraken
Tyler Goodlet b4a1cc8f22 `kraken`: parse and load info `Transaction.sym: Symbol`
Also includes a retyping of `Client._pair: dict[str, Pair]` to look up
pair structs and map all alt-key-name-sets to each for easy precision
info lookup to set the `.sym` field for each transaction including for
on-chain transfers which kraken provides as an "asset decimals" field,
presumably pulled from the particular block-token's limitation info.
2023-03-02 19:25:43 -05:00
..
README.rst Renames to `ppu` 2022-07-30 17:33:45 -04:00
__init__.py Create sub-pkg logger once during import 2022-07-05 16:59:47 -04:00
api.py `kraken`: parse and load info `Transaction.sym: Symbol` 2023-03-02 19:25:43 -05:00
broker.py `kraken`: parse and load info `Transaction.sym: Symbol` 2023-03-02 19:25:43 -05:00
feed.py `kraken`: parse and load info `Transaction.sym: Symbol` 2023-03-02 19:25:43 -05:00

README.rst

kraken backend

though they don't have the most liquidity of all the cexes they sure are accommodating to those of us who appreciate a little xmr.

status

current support is production grade and both real-time data and order management should be correct and fast. this backend is used by core devs for live trading.

config

In order to get order mode support your brokers.toml needs to have something like the following:

[kraken]
accounts.spot = 'spot'
key_descr = "spot"
api_key = "69696969696969696696969696969696969696969696969696969696"
secret = "BOOBSBOOBSBOOBSBOOBSBOOBSSMBZ69696969696969669969696969696"

If everything works correctly you should see any current positions loaded in the pps pane on chart load and you should also be able to check your trade records in the file:

<pikerk_conf_dir>/ledgers/trades_kraken_spot.toml

An example ledger file will have entries written verbatim from the trade events schema:

[TFJBKK-SMBZS-VJ4UWS]
ordertxid = "SMBZSA-7CNQU-3HWLNJ"
postxid = "SMBZSE-M7IF5-CFI7LT"
pair = "XXMRZEUR"
time = 1655691993.4133966
type = "buy"
ordertype = "limit"
price = "103.97000000"
cost = "499.99999977"
fee = "0.80000000"
vol = "4.80907954"
margin = "0.00000000"
misc = ""

your pps.toml file will have position entries like,

[kraken.spot."xmreur.kraken"]
size = 4.80907954
ppu = 103.97000000
bsuid = "XXMRZEUR"
clears = [
 { tid = "TFJBKK-SMBZS-VJ4UWS", cost = 0.8, price = 103.97, size = 4.80907954, dt = "2022-05-20T02:26:33.413397+00:00" },
]