def l2_book(self, symbol: str, retry=None, retry_wait=10): data = self._book(symbol, 2, retry, retry_wait) return { BID: sd({Decimal(u[0]): Decimal(u[1]) for u in data['bids']}), ASK: sd({Decimal(u[0]): Decimal(u[1]) for u in data['asks']}) }
def l2_book(self, symbol: str, retry=None, retry_wait=0): sym = pair_std_to_exchange(symbol, self.ID) data = self._get("returnOrderBook", {'currencyPair': sym}, retry=retry, retry_wait=retry_wait) return { BID: sd({Decimal(u[0]): Decimal(u[1]) for u in data['bids']}), ASK: sd({Decimal(u[0]): Decimal(u[1]) for u in data['asks']}) }
def l2_book(self, symbol: str, retry=None, retry_wait=0): sym = pair_std_to_exchange(symbol, self.ID) data = self._get(f"/markets/{sym}/orderbook", {'depth': 100}, retry=retry, retry_wait=retry_wait) return { BID: sd({u[0]: u[1] for u in data['result']['bids']}), ASK: sd({u[0]: u[1] for u in data['result']['asks']}) }
def l3_book(self, symbol: str, retry=None, retry_wait=10): orders = self._book(symbol, 3, retry, retry_wait) ret = {BID: sd({}), ASK: sd({})} for side in (BID, ASK): for price, size, order_id in orders[side + 's']: price = Decimal(price) size = Decimal(size) if price in ret[side]: ret[side][price][order_id] = size else: ret[side][price] = {order_id: size} return ret
def l2_book(self, symbol: str, retry=None, retry_wait=0): sym = self.info.std_symbol_to_exchange_symbol(symbol) data = self._get(f"/markets/{sym}/orderbook", params={'depth': 100}, retry=retry, retry_wait=retry_wait) return { BID: sd({u[0]: u[1] for u in data['bids']}), ASK: sd({u[0]: u[1] for u in data['asks']}) }
def l2_book(self, symbol: str, retry=None, retry_wait=0): sym = symbol_std_to_exchange(symbol, self.ID) data = self._get(f"/v1/book/{sym}", retry, retry_wait) return { BID: sd({ Decimal(u['price']): Decimal(u['amount']) for u in data['bids'] }), ASK: sd({ Decimal(u['price']): Decimal(u['amount']) for u in data['asks'] }) }
def l2_book(self, symbol: str, retry=None, retry_wait=0): sym = self.std_symbol_to_exchange_symbol(symbol) data = self._post_public("/public/Depth", {'pair': sym, 'count': 200}, retry=retry, retry_wait=retry_wait) for _, val in data['result'].items(): return { BID: sd({ Decimal(u[0]): Decimal(u[1]) for u in val['bids'] }), ASK: sd({ Decimal(u[0]): Decimal(u[1]) for u in val['asks'] }) }