fixed
This commit is contained in:
parent
ddd9f4adb9
commit
fe2ebbb27f
@ -474,8 +474,11 @@ class BacktestResult:
|
|||||||
"""Clear all trades (used when processing new files)."""
|
"""Clear all trades (used when processing new files)."""
|
||||||
self.trades.clear()
|
self.trades.clear()
|
||||||
|
|
||||||
def collect_single_day_results(self, result: pd.DataFrame) -> None:
|
def collect_single_day_results(self, pairs_trades: List[pd.DataFrame]) -> None:
|
||||||
"""Collect and process single day trading results."""
|
"""Collect and process single day trading results."""
|
||||||
|
result = pd.concat(pairs_trades, ignore_index=True)
|
||||||
|
result["time"] = pd.to_datetime(result["time"])
|
||||||
|
result = result.set_index("time").sort_index()
|
||||||
|
|
||||||
print("\n -------------- Suggested Trades ")
|
print("\n -------------- Suggested Trades ")
|
||||||
print(result)
|
print(result)
|
||||||
@ -695,7 +698,7 @@ class BacktestResult:
|
|||||||
|
|
||||||
print("-" * 100)
|
print("-" * 100)
|
||||||
|
|
||||||
total_value += pos["total_current_value"]
|
total_value += pos["total_current_value"]
|
||||||
|
|
||||||
print(f"{'TOTAL OUTSTANDING VALUE':<80} ${total_value:<12.2f}")
|
print(f"{'TOTAL OUTSTANDING VALUE':<80} ${total_value:<12.2f}")
|
||||||
|
|
||||||
@ -742,8 +745,8 @@ class BacktestResult:
|
|||||||
shares_b = funding_per_position / open_px_b
|
shares_b = funding_per_position / open_px_b
|
||||||
|
|
||||||
# Calculate current position values (shares * current price)
|
# Calculate current position values (shares * current price)
|
||||||
current_value_a = shares_a * last_px_a
|
current_value_a = shares_a * last_px_a * (-1 if open_side_a == "SELL" else 1)
|
||||||
current_value_b = shares_b * last_px_b
|
current_value_b = shares_b * last_px_b * (-1 if open_side_b == "SELL" else 1)
|
||||||
total_current_value = current_value_a + current_value_b
|
total_current_value = current_value_a + current_value_b
|
||||||
|
|
||||||
# Get disequilibrium information
|
# Get disequilibrium information
|
||||||
|
|||||||
@ -263,4 +263,8 @@ class TradingPair:
|
|||||||
return self.predicted_df_
|
return self.predicted_df_
|
||||||
|
|
||||||
def __repr__(self) -> str:
|
def __repr__(self) -> str:
|
||||||
|
return self.name()
|
||||||
|
|
||||||
|
def name(self) -> str:
|
||||||
return f"{self.symbol_a_} & {self.symbol_b_}"
|
return f"{self.symbol_a_} & {self.symbol_b_}"
|
||||||
|
# return f"{self.symbol_a_} & {self.symbol_b_}"
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@ -105,11 +105,7 @@ def run_backtest(
|
|||||||
print("No trading signals found for any pairs")
|
print("No trading signals found for any pairs")
|
||||||
return bt_result
|
return bt_result
|
||||||
|
|
||||||
result = pd.concat(pairs_trades, ignore_index=True)
|
bt_result.collect_single_day_results(pairs_trades)
|
||||||
result["time"] = pd.to_datetime(result["time"])
|
|
||||||
result = result.set_index("time").sort_index()
|
|
||||||
|
|
||||||
bt_result.collect_single_day_results(result)
|
|
||||||
return bt_result
|
return bt_result
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user