refactor: simplify backtest analysis data loading

This commit is contained in:
Matthias
2025-08-16 14:48:18 +02:00
parent 653c160d76
commit 6dccab9bfe
3 changed files with 6 additions and 30 deletions

View File

@@ -16,10 +16,7 @@ from .bt_fileutils import (
load_backtest_data, load_backtest_data,
load_backtest_metadata, load_backtest_metadata,
load_backtest_stats, load_backtest_stats,
load_exit_signal_candles,
load_file_from_zip, load_file_from_zip,
load_rejected_signals,
load_signal_candles,
load_trades, load_trades,
load_trades_from_db, load_trades_from_db,
trade_list_to_dataframe, trade_list_to_dataframe,

View File

@@ -473,27 +473,6 @@ def load_backtest_analysis_data(backtest_dir: Path, name: Literal["signals", "re
return None return None
def load_rejected_signals(backtest_dir: Path):
"""
Load rejected signals from backtest directory
"""
return load_backtest_analysis_data(backtest_dir, "rejected")
def load_signal_candles(backtest_dir: Path):
"""
Load signal candles from backtest directory
"""
return load_backtest_analysis_data(backtest_dir, "signals")
def load_exit_signal_candles(backtest_dir: Path) -> dict[str, dict[str, pd.DataFrame]]:
"""
Load exit signal candles from backtest directory
"""
return load_backtest_analysis_data(backtest_dir, "exited")
def trade_list_to_dataframe(trades: list[Trade] | list[LocalTrade]) -> pd.DataFrame: def trade_list_to_dataframe(trades: list[Trade] | list[LocalTrade]) -> pd.DataFrame:
""" """
Convert list of Trade objects to pandas Dataframe Convert list of Trade objects to pandas Dataframe

View File

@@ -7,11 +7,9 @@ from freqtrade.configuration import TimeRange
from freqtrade.constants import Config from freqtrade.constants import Config
from freqtrade.data.btanalysis import ( from freqtrade.data.btanalysis import (
BT_DATA_COLUMNS, BT_DATA_COLUMNS,
load_backtest_analysis_data,
load_backtest_data, load_backtest_data,
load_backtest_stats, load_backtest_stats,
load_exit_signal_candles,
load_rejected_signals,
load_signal_candles,
) )
from freqtrade.exceptions import ConfigurationError, OperationalException from freqtrade.exceptions import ConfigurationError, OperationalException
from freqtrade.util import print_df_rich_table from freqtrade.util import print_df_rich_table
@@ -354,12 +352,14 @@ def process_entry_exit_reasons(config: Config):
trades = load_backtest_data(config["exportfilename"], strategy_name) trades = load_backtest_data(config["exportfilename"], strategy_name)
if trades is not None and not trades.empty: if trades is not None and not trades.empty:
signal_candles = load_signal_candles(config["exportfilename"]) signal_candles = load_backtest_analysis_data(config["exportfilename"], "signals")
exit_signals = load_exit_signal_candles(config["exportfilename"]) exit_signals = load_backtest_analysis_data(config["exportfilename"], "exited")
rej_df = None rej_df = None
if do_rejected: if do_rejected:
rejected_signals_dict = load_rejected_signals(config["exportfilename"]) rejected_signals_dict = load_backtest_analysis_data(
config["exportfilename"], "rejected"
)
rej_df = prepare_results( rej_df = prepare_results(
rejected_signals_dict, rejected_signals_dict,
strategy_name, strategy_name,