diff --git a/tests/freqai/test_freqai_interface.py b/tests/freqai/test_freqai_interface.py index e812dd47e..d6e67caeb 100644 --- a/tests/freqai/test_freqai_interface.py +++ b/tests/freqai/test_freqai_interface.py @@ -1,11 +1,13 @@ # from unittest.mock import MagicMock # from freqtrade.commands.optimize_commands import setup_optimize_configuration, start_edge import copy -# import platform +import platform import shutil from pathlib import Path from unittest.mock import MagicMock +import pytest + from freqtrade.configuration import TimeRange from freqtrade.data.dataprovider import DataProvider from freqtrade.freqai.data_kitchen import FreqaiDataKitchen @@ -58,52 +60,53 @@ def test_train_model_in_series_LightGBM(mocker, default_conf): shutil.rmtree(Path(freqai.dk.full_path)) -# FIXME: hits segfault -# @pytest.mark.skipif("arm" in platform.uname()[-1], reason="no ARM..") -# def test_train_model_in_series_Catboost(mocker, default_conf): -# freqaiconf = freqai_conf(copy.deepcopy(default_conf)) -# freqaiconf.update({"timerange": "20180110-20180130"}) -# freqaiconf.update({"freqaimodel": "CatboostPredictionModel"}) -# strategy = get_patched_freqai_strategy(mocker, freqaiconf) -# exchange = get_patched_exchange(mocker, freqaiconf) -# strategy.dp = DataProvider(freqaiconf, exchange) -# strategy.freqai_info = freqaiconf.get("freqai", {}) -# freqai = strategy.model.bridge -# freqai.live = True -# freqai.dk = FreqaiDataKitchen(freqaiconf, freqai.dd) -# timerange = TimeRange.parse_timerange("20180110-20180130") -# freqai.dk.load_all_pair_histories(timerange) +@pytest.mark.skipif("arm" in platform.uname()[-1], reason="no ARM for Catboost ...") +def test_train_model_in_series_Catboost(mocker, default_conf): + freqaiconf = freqai_conf(copy.deepcopy(default_conf)) + freqaiconf.update({"timerange": "20180110-20180130"}) + freqaiconf.update({"freqaimodel": "CatboostPredictionModel"}) + del freqaiconf['freqai']['model_training_parameters']['verbosity'] + strategy = get_patched_freqai_strategy(mocker, freqaiconf) + exchange = get_patched_exchange(mocker, freqaiconf) + strategy.dp = DataProvider(freqaiconf, exchange) -# freqai.dd.pair_dict = MagicMock() + strategy.freqai_info = freqaiconf.get("freqai", {}) + freqai = strategy.freqai + freqai.live = True + freqai.dk = FreqaiDataKitchen(freqaiconf, freqai.dd) + timerange = TimeRange.parse_timerange("20180110-20180130") + freqai.dk.load_all_pair_histories(timerange) -# data_load_timerange = TimeRange.parse_timerange("20180110-20180130") -# new_timerange = TimeRange.parse_timerange("20180120-20180130") + freqai.dd.pair_dict = MagicMock() -# freqai.train_model_in_series(new_timerange, "ADA/BTC", -# strategy, freqai.dk, data_load_timerange) + data_load_timerange = TimeRange.parse_timerange("20180110-20180130") + new_timerange = TimeRange.parse_timerange("20180120-20180130") -# assert ( -# Path(freqai.dk.data_path / str(freqai.dk.model_filename + "_model.joblib")) -# .resolve() -# .exists() -# ) -# assert ( -# Path(freqai.dk.data_path / str(freqai.dk.model_filename + "_metadata.json")) -# .resolve() -# .exists() -# ) -# assert ( -# Path(freqai.dk.data_path / str(freqai.dk.model_filename + "_trained_df.pkl")) -# .resolve() -# .exists() -# ) -# assert ( -# Path(freqai.dk.data_path / str(freqai.dk.model_filename + "_svm_model.joblib")) -# .resolve() -# .exists() -# ) + freqai.train_model_in_series(new_timerange, "ADA/BTC", + strategy, freqai.dk, data_load_timerange) -# shutil.rmtree(Path(freqai.dk.full_path)) + assert ( + Path(freqai.dk.data_path / str(freqai.dk.model_filename + "_model.joblib")) + .resolve() + .exists() + ) + assert ( + Path(freqai.dk.data_path / str(freqai.dk.model_filename + "_metadata.json")) + .resolve() + .exists() + ) + assert ( + Path(freqai.dk.data_path / str(freqai.dk.model_filename + "_trained_df.pkl")) + .resolve() + .exists() + ) + assert ( + Path(freqai.dk.data_path / str(freqai.dk.model_filename + "_svm_model.joblib")) + .resolve() + .exists() + ) + + shutil.rmtree(Path(freqai.dk.full_path)) def test_start_backtesting(mocker, default_conf):