INNER CODE UNIT · Python
volume
keanekwa/Optiver-Ready-Trader-Go · ASModel.py:163
volume = -volume
# Record price and volume
new_vol = self.orders_history["volume"] + volume
# Case 1: If volume is same direction, find the average
if (volume > 0 and self.orders_history["volume"] > 0) or (volume < 0 and self.orders_history["volume"] < 0):
self.orders_history["price"] = (abs(volume) * price + abs(self.orders_history["volume"] * self.orders_history["price"])) // abs(new_vol)
self.orders_history["volume"] = new_vol
# Case 2: If volume is opposite direction, update accordingly
else:
if abs(volume) < abs(self.orders_history["volume"]):
self.orders_history["volume"] = new_vol
elif abs(volume) == abs(self.orders_history["volume"]):
self.orders_history["price"] = 0
self.orders_history["volume"] = 0
else:
self.orders_history["volume"] = new_vol