reading fucking cells
This commit is contained in:
+23
-4
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user