Update tests to reflect new backtest returns
This commit is contained in:
parent
f2e182002d
commit
4c00d4496d
@ -501,13 +501,14 @@ def test_backtest_results(default_conf, fee, mocker, caplog, data) -> None:
|
|||||||
# Dummy data as we mock the analyze functions
|
# Dummy data as we mock the analyze functions
|
||||||
data_processed = {pair: frame.copy()}
|
data_processed = {pair: frame.copy()}
|
||||||
min_date, max_date = get_timerange({pair: frame})
|
min_date, max_date = get_timerange({pair: frame})
|
||||||
results = backtesting.backtest(
|
result = backtesting.backtest(
|
||||||
processed=data_processed,
|
processed=data_processed,
|
||||||
start_date=min_date,
|
start_date=min_date,
|
||||||
end_date=max_date,
|
end_date=max_date,
|
||||||
max_open_trades=10,
|
max_open_trades=10,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
results = result['results']
|
||||||
assert len(results) == len(data.trades)
|
assert len(results) == len(data.trades)
|
||||||
assert round(results["profit_ratio"].sum(), 3) == round(data.profit_perc, 3)
|
assert round(results["profit_ratio"].sum(), 3) == round(data.profit_perc, 3)
|
||||||
|
|
||||||
|
@ -804,6 +804,12 @@ def test_backtest_start_timerange(default_conf, mocker, caplog, testdatadir):
|
|||||||
@pytest.mark.filterwarnings("ignore:deprecated")
|
@pytest.mark.filterwarnings("ignore:deprecated")
|
||||||
def test_backtest_start_multi_strat(default_conf, mocker, caplog, testdatadir):
|
def test_backtest_start_multi_strat(default_conf, mocker, caplog, testdatadir):
|
||||||
|
|
||||||
|
default_conf['ask_strategy'].update({
|
||||||
|
"use_sell_signal": True,
|
||||||
|
"sell_profit_only": False,
|
||||||
|
"sell_profit_offset": 0.0,
|
||||||
|
"ignore_roi_if_buy_signal": False,
|
||||||
|
})
|
||||||
patch_exchange(mocker)
|
patch_exchange(mocker)
|
||||||
backtestmock = MagicMock(return_value={
|
backtestmock = MagicMock(return_value={
|
||||||
'results': pd.DataFrame(columns=BT_DATA_COLUMNS),
|
'results': pd.DataFrame(columns=BT_DATA_COLUMNS),
|
||||||
@ -872,7 +878,12 @@ def test_backtest_start_multi_strat(default_conf, mocker, caplog, testdatadir):
|
|||||||
|
|
||||||
@pytest.mark.filterwarnings("ignore:deprecated")
|
@pytest.mark.filterwarnings("ignore:deprecated")
|
||||||
def test_backtest_start_multi_strat_nomock(default_conf, mocker, caplog, testdatadir, capsys):
|
def test_backtest_start_multi_strat_nomock(default_conf, mocker, caplog, testdatadir, capsys):
|
||||||
|
default_conf['ask_strategy'].update({
|
||||||
|
"use_sell_signal": True,
|
||||||
|
"sell_profit_only": False,
|
||||||
|
"sell_profit_offset": 0.0,
|
||||||
|
"ignore_roi_if_buy_signal": False,
|
||||||
|
})
|
||||||
patch_exchange(mocker)
|
patch_exchange(mocker)
|
||||||
result1 = pd.DataFrame({'pair': ['XRP/BTC', 'LTC/BTC'],
|
result1 = pd.DataFrame({'pair': ['XRP/BTC', 'LTC/BTC'],
|
||||||
'profit_ratio': [0.0, 0.0],
|
'profit_ratio': [0.0, 0.0],
|
||||||
|
@ -590,7 +590,8 @@ def test_generate_optimizer(mocker, hyperopt_conf) -> None:
|
|||||||
'hyperopt_min_trades': 1,
|
'hyperopt_min_trades': 1,
|
||||||
})
|
})
|
||||||
|
|
||||||
backtest_result = pd.DataFrame({"pair": ["UNITTEST/BTC", "UNITTEST/BTC",
|
backtest_result = {
|
||||||
|
'results': pd.DataFrame({"pair": ["UNITTEST/BTC", "UNITTEST/BTC",
|
||||||
"UNITTEST/BTC", "UNITTEST/BTC"],
|
"UNITTEST/BTC", "UNITTEST/BTC"],
|
||||||
"profit_ratio": [0.003312, 0.010801, 0.013803, 0.002780],
|
"profit_ratio": [0.003312, 0.010801, 0.013803, 0.002780],
|
||||||
"profit_abs": [0.000003, 0.000011, 0.000014, 0.000003],
|
"profit_abs": [0.000003, 0.000011, 0.000014, 0.000003],
|
||||||
@ -609,7 +610,11 @@ def test_generate_optimizer(mocker, hyperopt_conf) -> None:
|
|||||||
"stake_amount": [0.01, 0.01, 0.01, 0.01],
|
"stake_amount": [0.01, 0.01, 0.01, 0.01],
|
||||||
"sell_reason": [SellType.ROI, SellType.STOP_LOSS,
|
"sell_reason": [SellType.ROI, SellType.STOP_LOSS,
|
||||||
SellType.ROI, SellType.FORCE_SELL]
|
SellType.ROI, SellType.FORCE_SELL]
|
||||||
})
|
}),
|
||||||
|
'config': hyperopt_conf,
|
||||||
|
'locks': [],
|
||||||
|
'final_balance': 1000,
|
||||||
|
}
|
||||||
|
|
||||||
mocker.patch('freqtrade.optimize.hyperopt.Backtesting.backtest', return_value=backtest_result)
|
mocker.patch('freqtrade.optimize.hyperopt.Backtesting.backtest', return_value=backtest_result)
|
||||||
mocker.patch('freqtrade.optimize.hyperopt.get_timerange',
|
mocker.patch('freqtrade.optimize.hyperopt.get_timerange',
|
||||||
|
Loading…
Reference in New Issue
Block a user