|
7 | 7 | import socket |
8 | 8 | from pprint import pformat |
9 | 9 | from .buffer import Buffer |
10 | | -from .math import calculate_spread |
11 | | -from .Symbol import SYMBOLSLIST |
| 10 | + |
12 | 11 |
|
13 | 12 | class Field(IntEnum): |
14 | 13 | AvgPx = 6 |
@@ -121,7 +120,6 @@ class Message: |
121 | 120 |
|
122 | 121 | def __init__(self, sub: SubID = None, msg_type: str = None, parent = None): |
123 | 122 | self.fields = [] |
124 | | - self.symbol_table = SYMBOLSLIST['default'] |
125 | 123 | if parent: |
126 | 124 | self.origin = True |
127 | 125 | self.fields.append((Field.BeginString, "FIX.4.4")) |
@@ -384,18 +382,8 @@ def process_market_data(self, msg: Message): |
384 | 382 | if not msg[Field.MDEntryID] and msg[Field.NoMDEntries] != "0": |
385 | 383 | self.spot_price_list[name] = {} |
386 | 384 | for e in entries: |
387 | | - ask_idx = 1 if e[0][Field.MDEntryType] == '0' else 0 |
388 | | - bid_idx = (ask_idx + 1) % 2 |
389 | | - spread = calculate_spread( |
390 | | - e[bid_idx][Field.MDEntryPx], |
391 | | - e[ask_idx][Field.MDEntryPx], |
392 | | - self.symbol_table[int(msg.get_field(Field.Symbol))]['pip_position'] |
393 | | - ) |
394 | 385 | self.spot_price_list[name]["time"] = int(round(time.time() * 1000)) |
395 | | - self.spot_price_list[name]["spread"] = spread |
396 | | - self.spot_price_list[name]["bid"] = e[bid_idx][Field.MDEntryPx] |
397 | | - self.spot_price_list[name]["ask"] = e[ask_idx][Field.MDEntryPx] |
398 | | - |
| 386 | + self.spot_price_list[name]["bid" if e[Field.MDEntryType] == "0" else "ask"] = float(e[Field.MDEntryPx]) |
399 | 387 | self.position_list_callback(self.position_list, self.spot_price_list, self.client_id) |
400 | 388 | self.order_list_callback(self.order_list, self.spot_price_list, self.client_id) |
401 | 389 | return |
|
0 commit comments