reading fucking cells

This commit is contained in:
2023-01-24 15:15:53 +01:00
parent 89dc8ed54a
commit be83cbd988
31 changed files with 340 additions and 80 deletions
+23 -4
View File
@@ -17,6 +17,10 @@ class Exchange():
self.market_rate={}
self.best_ask={}
self.best_bid={}
self.total_demand={}
self.demand={}
self.total_supply={}
self.supply={}
pass
def add_to_account(self,account_id,resource,amount):
@@ -116,13 +120,13 @@ class Exchange():
# no sufficient resources
return None
# create order and execude any trades
order,trades=self.lme.add_order(resource,price,amount,side)
self.orders[order.order_id]=order
self.order_account_map[order.order_id]=account_id
self._execute_trades(trades)
self.calculate_best_price(resource)
self.calculate_resource_metrics(resource)
return order
def cancel_order(self,order_id):
@@ -203,11 +207,26 @@ class Exchange():
self.market_rate[trade.instmt]=trade.trade_price
def calculate_best_price(self, resource):
def calculate_resource_metrics(self, resource):
order_book = self.lme.order_books.setdefault(resource, OrderBook())
best_bid = max(order_book.bids.keys()) if len(order_book.bids) > 0 else None
best_ask = max(order_book.asks.keys()) if len(order_book.asks) > 0 else None
self.total_demand[resource]=0
self.demand[resource]={}
for k,v in order_book.bids.items():
self.demand[resource][k]=0
for o in v:
self.demand[resource][k]+=o.qty
self.total_demand[resource]+=o.qty
self.supply[resource]={}
self.total_supply[resource]=0
for k,v in order_book.asks.items():
self.supply[resource][k]=0
for o in v:
self.supply[resource][k]+=o.qty
self.total_supply[resource]+=o.qty
self.best_ask[resource]=best_ask
self.best_bid[resource]=best_bid