MCPcopy Index your code
hub / github.com/danpaquin/coinbasepro-python / process_message

Method process_message

cbpro/order_book.py:249–274  ·  view source on GitHub ↗
(self, message)

Source from the content-addressed store, hash-verified

247 self._ask_depth = None
248
249 def process_message(self, message):
250 if message.get('product_id') == self.product_id:
251 super(OrderBookConsole, self).process_message(message)
252
253 try:
254 # Calculate newest bid-ask spread
255 bid = self.get_bid()
256 bids = self.get_bids(bid)
257 bid_depth = sum([b['size'] for b in bids])
258 ask = self.get_ask()
259 asks = self.get_asks(ask)
260 ask_depth = sum([a['size'] for a in asks])
261
262 if self._bid == bid and self._ask == ask and self._bid_depth == bid_depth and self._ask_depth == ask_depth:
263 # If there are no changes to the bid-ask spread since the last update, no need to print
264 pass
265 else:
266 # If there are differences, update the cache
267 self._bid = bid
268 self._ask = ask
269 self._bid_depth = bid_depth
270 self._ask_depth = ask_depth
271 print('{} {} bid: {:.3f} @ {:.2f}\task: {:.3f} @ {:.2f}'.format(
272 dt.datetime.now(), self.product_id, bid_depth, bid, ask_depth, ask))
273 except Exception:
274 pass
275
276 class WebsocketConsole(WebsocketClient):
277 def on_open(self):

Callers

nothing calls this directly

Calls 5

get_bidMethod · 0.80
get_bidsMethod · 0.80
get_askMethod · 0.80
get_asksMethod · 0.80
process_messageMethod · 0.45

Tested by

no test coverage detected