From 7af322a197fd2d41668d7e3fcefd0bfa3ad39020 Mon Sep 17 00:00:00 2001 From: Matthias Date: Sat, 4 Apr 2026 13:17:48 +0200 Subject: [PATCH] fix: impove behavior when loading old backtest results --- freqtrade/data/btanalysis/bt_fileutils.py | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/freqtrade/data/btanalysis/bt_fileutils.py b/freqtrade/data/btanalysis/bt_fileutils.py index 103abae5b..a97d5bef3 100644 --- a/freqtrade/data/btanalysis/bt_fileutils.py +++ b/freqtrade/data/btanalysis/bt_fileutils.py @@ -312,18 +312,25 @@ def get_backtest_market_change(filename: Path, include_ts: bool = True) -> pd.Da return df -def get_backtest_wallet_change(filename: Path, strategy_name: str) -> pd.DataFrame: +def get_backtest_wallet_change(filename: Path, strategy_name: str) -> pd.DataFrame | None: """ Read backtest wallet change file. :param filename: Path to the backtest result zip file :param strategy_name: Name of the strategy to load :return: DataFrame with wallet change data """ - data = load_file_from_zip(filename, f"{filename.stem}_{strategy_name}_wallet.feather") - df = pd.read_feather(BytesIO(data)) + if filename.suffix != ".zip": + return None - df.loc[:, "__date_ts"] = df.loc[:, "date"].astype(np.int64) // 1000 // 1000 - return df + try: + data = load_file_from_zip(filename, f"{filename.stem}_{strategy_name}_wallet.feather") + df = pd.read_feather(BytesIO(data)) + + df.loc[:, "__date_ts"] = df.loc[:, "date"].astype(np.int64) // 1000 // 1000 + return df + except ValueError: + pass + return None def find_existing_backtest_stats(