From d3eb5fa5f451d0cc0227632851cf622532631169 Mon Sep 17 00:00:00 2001 From: Matthias Date: Sat, 2 Oct 2021 16:21:04 +0200 Subject: [PATCH] Add test for outstanding balance --- tests/data/test_btanalysis.py | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/tests/data/test_btanalysis.py b/tests/data/test_btanalysis.py index d7f99d608..2b692e4ae 100644 --- a/tests/data/test_btanalysis.py +++ b/tests/data/test_btanalysis.py @@ -12,13 +12,15 @@ from freqtrade.constants import LAST_BT_RESULT_FN from freqtrade.data.btanalysis import (BT_DATA_COLUMNS, BT_DATA_COLUMNS_MID, BT_DATA_COLUMNS_OLD, analyze_trade_parallelism, calculate_csum, calculate_market_change, calculate_max_drawdown, - combine_dataframes_with_mean, create_cum_profit, - expand_trades_over_period, extract_trades_of_period, - get_latest_backtest_filename, get_latest_hyperopt_file, - load_backtest_data, load_trades, load_trades_from_db) + calculate_outstanding_balance, combine_dataframes_with_mean, + create_cum_profit, expand_trades_over_period, + extract_trades_of_period, get_latest_backtest_filename, + get_latest_hyperopt_file, load_backtest_data, load_trades, + load_trades_from_db) from freqtrade.data.history import load_data, load_pair_history from tests.conftest import create_mock_trades from tests.conftest_trades import MOCK_TRADE_COUNT +from tests.strategy.test_strategy_helpers import generate_test_data def test_get_latest_backtest_filename(testdatadir, mocker): @@ -228,6 +230,20 @@ def test_expand_trades_over_period(testdatadir): assert all(res.iloc[[1]].index == '2019-01-01 09:20:00') +def test_calculate_outstanding_balance(testdatadir): + filename = testdatadir / "backtest-result_new.json" + bt_results = load_backtest_data(filename) + + data = {pair: generate_test_data('5m', 1200, start='2018-01-10') + for pair in bt_results['pair'].unique()} + + res = calculate_outstanding_balance(bt_results, "5m", data) + + assert isinstance(res, DataFrame) + assert len(res) == 1113 + assert 'value' in res.columns + + def test_load_trades(default_conf, mocker): db_mock = mocker.patch("freqtrade.data.btanalysis.load_trades_from_db", MagicMock()) bt_mock = mocker.patch("freqtrade.data.btanalysis.load_backtest_data", MagicMock())