From f8a151c2a5e0262696af68ab3bf70668bb5a1a41 Mon Sep 17 00:00:00 2001 From: Matthias Date: Sat, 3 May 2025 14:14:32 +0200 Subject: [PATCH] feat: Add funding_fee to backtest results closes #11699 --- freqtrade/data/btanalysis/bt_fileutils.py | 3 +++ tests/optimize/test_backtesting.py | 1 + tests/optimize/test_backtesting_adjust_position.py | 1 + 3 files changed, 5 insertions(+) diff --git a/freqtrade/data/btanalysis/bt_fileutils.py b/freqtrade/data/btanalysis/bt_fileutils.py index 3835e831a..50de33974 100644 --- a/freqtrade/data/btanalysis/bt_fileutils.py +++ b/freqtrade/data/btanalysis/bt_fileutils.py @@ -52,6 +52,7 @@ BT_DATA_COLUMNS = [ "open_timestamp", "close_timestamp", "orders", + "funding_fees", ] @@ -356,6 +357,8 @@ def _load_backtest_data_df_compatibility(df: pd.DataFrame) -> pd.DataFrame: df["max_stake_amount"] = df["stake_amount"] if "orders" not in df.columns: df["orders"] = None + if "funding_fees" not in df.columns: + df["funding_fees"] = 0.0 return df diff --git a/tests/optimize/test_backtesting.py b/tests/optimize/test_backtesting.py index b3e23249c..aadb7e157 100644 --- a/tests/optimize/test_backtesting.py +++ b/tests/optimize/test_backtesting.py @@ -828,6 +828,7 @@ def test_backtest_one(default_conf, mocker, testdatadir) -> None: }, ], ], + "funding_fees": [0.0, 0.0], } ) pd.testing.assert_frame_equal(results, expected) diff --git a/tests/optimize/test_backtesting_adjust_position.py b/tests/optimize/test_backtesting_adjust_position.py index c9e8c9eeb..ea7d94d4d 100644 --- a/tests/optimize/test_backtesting_adjust_position.py +++ b/tests/optimize/test_backtesting_adjust_position.py @@ -80,6 +80,7 @@ def test_backtest_position_adjustment(default_conf, fee, mocker, testdatadir) -> "is_short": [False, False], "open_timestamp": [1517251200000, 1517283000000], "close_timestamp": [1517263200000, 1517285400000], + "funding_fees": [0.0, 0.0], } ) results_no = results.drop(columns=["orders"])