From 8ba52640bd5db072d4134555e9a9b5c73385a96b Mon Sep 17 00:00:00 2001 From: Dobromir Popov Date: Wed, 23 Jul 2025 22:56:28 +0300 Subject: [PATCH] wip cob test --- tests/cob/test_cob_data_stability.py | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/tests/cob/test_cob_data_stability.py b/tests/cob/test_cob_data_stability.py index 6a58ac1..a325e3e 100644 --- a/tests/cob/test_cob_data_stability.py +++ b/tests/cob/test_cob_data_stability.py @@ -59,6 +59,18 @@ class COBStabilityTester: def _cob_data_callback(self, symbol: str, cob_data: dict): """Callback function to receive COB data from the DataProvider.""" + # Debug: Log first few callbacks to see what symbols we're getting + if self.cob_data_received < 5: + logger.info(f"DEBUG: Received COB data for symbol '{symbol}' (target: '{self.symbol}')") + + # Filter to only our requested symbol - handle both formats (ETH/USDT and ETHUSDT) + normalized_symbol = symbol.replace('/', '') + normalized_target = self.symbol.replace('/', '') + if normalized_symbol != normalized_target: + if self.cob_data_received < 5: + logger.info(f"DEBUG: Skipping symbol '{symbol}' (normalized: '{normalized_symbol}' vs target: '{normalized_target}')") + return + self.cob_data_received += 1 self.latest_cob_data[symbol] = cob_data @@ -168,11 +180,22 @@ class COBStabilityTester: timestamp = snapshot['timestamp'] for side in ['bids', 'asks']: for order in snapshot[side]: - bucketed_price = round(order['price'] / self.price_granularity) * self.price_granularity + # Handle both dict and list formats + if isinstance(order, dict): + price = order['price'] + size = order['size'] + elif isinstance(order, (list, tuple)) and len(order) >= 2: + price = float(order[0]) + size = float(order[1]) + else: + logger.warning(f"Unknown order format: {order}") + continue + + bucketed_price = round(price / self.price_granularity) * self.price_granularity heatmap_data.append({ 'time': timestamp, 'price': bucketed_price, - 'size': order['size'], + 'size': size, 'side': side })