HA looks good
This commit is contained in:
@@ -19,7 +19,9 @@ class Base_Aquire_Agent(BaseAgent,ABC):
|
||||
self.trades=[]
|
||||
self.tqty=0
|
||||
self.qty_offset=0
|
||||
self.expense=0
|
||||
|
||||
self.texpense=0
|
||||
self.expense_offset=0
|
||||
self.max_price=-1
|
||||
super().__init__(simulation)
|
||||
|
||||
@@ -37,7 +39,7 @@ class Base_Aquire_Agent(BaseAgent,ABC):
|
||||
If err < 0 then agent needs to aquire resources
|
||||
"""
|
||||
err=self.business.inventory[self.resource]-self.target
|
||||
return err
|
||||
return int(err)
|
||||
|
||||
def set_price_max(self,price: int):
|
||||
"""
|
||||
@@ -60,7 +62,6 @@ class Base_Aquire_Agent(BaseAgent,ABC):
|
||||
return None # we dont have enough balance
|
||||
|
||||
self.business.balance-=total_price
|
||||
self.expense+=total_price
|
||||
cx.add_to_account(self.id,"balance",total_price) # prepaid charge account for cx
|
||||
order=cx.submit_order(self.id,self.resource,amount,price_per,Side.BUY)
|
||||
if order==None: # Order failed
|
||||
@@ -77,7 +78,7 @@ class Base_Aquire_Agent(BaseAgent,ABC):
|
||||
amount=cx.get_account_resource_amount(self.id,"balance")
|
||||
cx.remove_from_account(self.id,"balance",amount)
|
||||
self.business.balance+=amount
|
||||
self.expense-=amount
|
||||
|
||||
|
||||
def collect_resource_from_cxs(self,resource):
|
||||
"""
|
||||
@@ -94,6 +95,7 @@ class Base_Aquire_Agent(BaseAgent,ABC):
|
||||
"""
|
||||
trades=[]
|
||||
self.tqty=0
|
||||
self.texpense=0
|
||||
for cx_id in range(len(self.exchanges)):
|
||||
cx=self.exchanges[cx_id]
|
||||
orders=self.orders[cx_id]
|
||||
@@ -105,18 +107,22 @@ class Base_Aquire_Agent(BaseAgent,ABC):
|
||||
self.trades=trades
|
||||
for t in trades:
|
||||
self.tqty+=t.trade_qty
|
||||
self.texpense+=round(t.trade_qty*t.trade_price,2)
|
||||
return trades
|
||||
|
||||
# Confirm a purchase of x amount to reduce qty and expense counter
|
||||
def confirm_purchase(self,confirmed_qty):
|
||||
expensePer=self.expense/self.qty
|
||||
confirmedExpense=expensePer*confirmed_qty
|
||||
self.expense-=confirmedExpense
|
||||
self.expense_offset-=confirmedExpense
|
||||
self.qty_offset-=confirmed_qty
|
||||
|
||||
@property
|
||||
def qty(self):
|
||||
return self.tqty+self.qty_offset
|
||||
@property
|
||||
def expense(self):
|
||||
return self.texpense+self.expense_offset
|
||||
|
||||
def reset(self, episode):
|
||||
#self.tqty=0
|
||||
|
||||
Reference in New Issue
Block a user