In [1]:
from monitor import utc_to_tz
from dateutil import tz
from datetime import datetime
import krakenex
import pymongo
import networkx as nx
import pandas
import numpy as np
import tqdm
import seaborn
from matplotlib import pyplot as plt
import collections

In [2]:
def kraken_ticker_to_last_prices(ticker):
    kraken_fee = 1-0.26/100.
    prices = {}
    for asset_name in ticker:
        if 'DASH' in asset_name:
            continue
        assert len(asset_name) == 8
        base = asset_name[:4]
        quote = asset_name[4:]
        assert (base, quote) not in prices
        assert (quote, base) not in prices
        last_price, last_volume = map(float, ticker[asset_name]['c'])
        assert last_price > 0
        prices[base, quote] = last_price * kraken_fee
        prices[quote, base] = 1./last_price * kraken_fee
    return prices

In [3]:
def poloniex_ticker_to_last_prices(ticker):
    poloniex_fee = 1-0.25/100.
    prices = {}
    for asset_name in ticker:
        base, quote = asset_name.split('_')
        assert (base, quote) not in prices
        assert (quote, base) not in prices
        last_price = float(ticker[asset_name]['last'])
        assert last_price > 0
        prices[base, quote] = last_price * poloniex_fee
        prices[quote, base] = 1./last_price * poloniex_fee
    return prices

In [ ]:
def xbtce_ticker_to_last_prices(ticker):
    prices = {}
    for asset in ticker:
        name = asset['Symbol']
        assert len(name) == 6
        base = name[:3]
        quote = name[4:]
        assert (base, quote) not in prices
        assert (quote, base) not in prices
        last_buy_price = asset['LastBuyPrice']
        last_sell_price = asset['LastSellPrice']
        prices[base, quote] = last_sell_price
        assert last_sell_price > 0
        prices[quote, base] = last_buy_price
        assert last_buy_price > 0
    return prices