feat: store wallet_summary

This commit is contained in:
Matthias
2025-04-26 09:34:10 +02:00
parent 10cc857c51
commit ee745551a2
2 changed files with 11 additions and 0 deletions
+1
View File
@@ -1882,6 +1882,7 @@ class Backtesting:
dt_appendix,
market_change_data=combined_res,
analysis_results=self.analysis_results,
wallet_summary={s: x["wallet_summary"] for s, x in self.all_bt_content.items()},
strategy_files={s.get_strategy_name(): s.__file__ for s in self.strategylist},
)
@@ -52,6 +52,7 @@ def store_backtest_results(
dtappendix: str,
*,
market_change_data: DataFrame | None = None,
wallet_summary: dict[str, DataFrame] | None = None,
analysis_results: dict[str, dict[str, DataFrame]] | None = None,
strategy_files: dict[str, str] | None = None,
) -> Path:
@@ -123,6 +124,15 @@ def store_backtest_results(
market_change_buf.seek(0)
zipf.writestr(market_change_name, market_change_buf.getvalue())
# Add wallet summary if present
if wallet_summary is not None:
for strategy, df in wallet_summary.items():
wallet_name = f"{base_filename.stem}_{strategy}_wallet.feather"
wallet_buf = BytesIO()
df.reset_index().to_feather(wallet_buf, compression_level=9, compression="lz4")
wallet_buf.seek(0)
zipf.writestr(wallet_name, wallet_buf.getvalue())
# Add analysis results if present and running in backtest mode
if (
config.get("export", "none") == "signals"