Merge pull request #398 from kryofly/test_speedup
tests: speed up backtests
This commit is contained in:
commit
4a3144ae43
@ -11,6 +11,13 @@ from freqtrade.optimize.backtesting import backtest, generate_text_table, get_ti
|
|||||||
import freqtrade.optimize.backtesting as backtesting
|
import freqtrade.optimize.backtesting as backtesting
|
||||||
|
|
||||||
|
|
||||||
|
def trim_dictlist(dl, num):
|
||||||
|
new = {}
|
||||||
|
for pair, pair_data in dl.items():
|
||||||
|
new[pair] = pair_data[num:]
|
||||||
|
return new
|
||||||
|
|
||||||
|
|
||||||
def test_generate_text_table():
|
def test_generate_text_table():
|
||||||
results = pd.DataFrame(
|
results = pd.DataFrame(
|
||||||
{
|
{
|
||||||
@ -43,6 +50,7 @@ def test_backtest(default_conf, mocker):
|
|||||||
exchange._API = Bittrex({'key': '', 'secret': ''})
|
exchange._API = Bittrex({'key': '', 'secret': ''})
|
||||||
|
|
||||||
data = optimize.load_data(None, ticker_interval=5, pairs=['BTC_ETH'])
|
data = optimize.load_data(None, ticker_interval=5, pairs=['BTC_ETH'])
|
||||||
|
data = trim_dictlist(data, -200)
|
||||||
results = backtest(default_conf['stake_amount'],
|
results = backtest(default_conf['stake_amount'],
|
||||||
optimize.preprocess(data), 10, True)
|
optimize.preprocess(data), 10, True)
|
||||||
assert not results.empty
|
assert not results.empty
|
||||||
@ -54,18 +62,12 @@ def test_backtest_1min_ticker_interval(default_conf, mocker):
|
|||||||
|
|
||||||
# Run a backtesting for an exiting 5min ticker_interval
|
# Run a backtesting for an exiting 5min ticker_interval
|
||||||
data = optimize.load_data(None, ticker_interval=1, pairs=['BTC_UNITEST'])
|
data = optimize.load_data(None, ticker_interval=1, pairs=['BTC_UNITEST'])
|
||||||
|
data = trim_dictlist(data, -200)
|
||||||
results = backtest(default_conf['stake_amount'],
|
results = backtest(default_conf['stake_amount'],
|
||||||
optimize.preprocess(data), 1, True)
|
optimize.preprocess(data), 1, True)
|
||||||
assert not results.empty
|
assert not results.empty
|
||||||
|
|
||||||
|
|
||||||
def trim_dictlist(dl, num):
|
|
||||||
new = {}
|
|
||||||
for pair, pair_data in dl.items():
|
|
||||||
new[pair] = pair_data[num:]
|
|
||||||
return new
|
|
||||||
|
|
||||||
|
|
||||||
def load_data_test(what):
|
def load_data_test(what):
|
||||||
data = optimize.load_data(None, ticker_interval=1, pairs=['BTC_UNITEST'])
|
data = optimize.load_data(None, ticker_interval=1, pairs=['BTC_UNITEST'])
|
||||||
data = trim_dictlist(data, -100)
|
data = trim_dictlist(data, -100)
|
||||||
@ -125,6 +127,7 @@ def simple_backtest(config, contour, num_results):
|
|||||||
def test_backtest2(default_conf, mocker):
|
def test_backtest2(default_conf, mocker):
|
||||||
mocker.patch.dict('freqtrade.main._CONF', default_conf)
|
mocker.patch.dict('freqtrade.main._CONF', default_conf)
|
||||||
data = optimize.load_data(None, ticker_interval=5, pairs=['BTC_ETH'])
|
data = optimize.load_data(None, ticker_interval=5, pairs=['BTC_ETH'])
|
||||||
|
data = trim_dictlist(data, -200)
|
||||||
results = backtest(default_conf['stake_amount'],
|
results = backtest(default_conf['stake_amount'],
|
||||||
optimize.preprocess(data), 10, True)
|
optimize.preprocess(data), 10, True)
|
||||||
assert not results.empty
|
assert not results.empty
|
||||||
|
Loading…
Reference in New Issue
Block a user