diff --git a/utils/data_manipulation.py b/utils/data_manipulation.py index 5fbaa017..40605560 100644 --- a/utils/data_manipulation.py +++ b/utils/data_manipulation.py @@ -242,13 +242,19 @@ def total_orders(self): @property def average_buy_price(self): - average_price = (self.buys["price"] * self.buys["amount"]).sum() / self.total_buy_amount - return average_price + if self.total_buy_amount != 0: + average_price = (self.buys["price"] * self.buys["amount"]).sum() / self.total_buy_amount + return np.nan_to_num(average_price, nan=0) + else: + return 0 @property def average_sell_price(self): - average_price = (self.sells["price"] * self.sells["amount"]).sum() / self.total_sell_amount - return average_price + if self.total_sell_amount != 0: + average_price = (self.sells["price"] * self.sells["amount"]).sum() / self.total_sell_amount + return np.nan_to_num(average_price, nan=0) + else: + return 0 @property def price_change(self): diff --git a/utils/database_manager.py b/utils/database_manager.py index f6aa8b34..43dc57c9 100644 --- a/utils/database_manager.py +++ b/utils/database_manager.py @@ -146,7 +146,7 @@ def get_orders(self, config_file_path=None, start_date=None, end_date=None): with self.session_maker() as session: query = self._get_orders_query(config_file_path, start_date, end_date) orders = pd.read_sql_query(text(query), session.connection()) - orders["market"] = orders["market"].apply(lambda x: x.lower().replace("_papertrade", "")) + orders["market"] = orders["market"] orders["amount"] = orders["amount"] / 1e6 orders["price"] = orders["price"] / 1e6 orders['creation_timestamp'] = pd.to_datetime(orders['creation_timestamp'], unit="ms") @@ -172,7 +172,7 @@ def get_trade_fills(self, config_file_path=None, start_date=None, end_date=None) trade_fills["gross_pnl"] = trade_fills.groupby(groupers)["realized_trade_pnl"].diff() trade_fills["trade_fee"] = trade_fills.groupby(groupers)["cum_fees_in_quote"].diff() trade_fills["timestamp"] = pd.to_datetime(trade_fills["timestamp"], unit="ms") - trade_fills["market"] = trade_fills["market"].apply(lambda x: x.lower().replace("_papertrade", "")) + trade_fills["market"] = trade_fills["market"] trade_fills["quote_volume"] = trade_fills["price"] * trade_fills["amount"] return trade_fills