From 0395715fa15670f2d6b9be9da425cd875c5809ef Mon Sep 17 00:00:00 2001 From: Mark Aron Szulyovszky Date: Tue, 15 Mar 2022 17:39:39 +0100 Subject: [PATCH] fix(Config): set remove_overlapping_events=True (#246) * fix(Config): set remove_overlapping_events=True * fix(Config): only use level_1 features * feat(Config): added get_minimal_config --- config/presets.py | 43 ++++++++++++++++++++++++++++++++++++-- tests/test_evaluation.py | 4 ++-- tests/test_walk_forward.py | 4 ++-- 3 files changed, 45 insertions(+), 6 deletions(-) diff --git a/config/presets.py b/config/presets.py index c1a9c4d..421b21d 100644 --- a/config/presets.py +++ b/config/presets.py @@ -24,14 +24,53 @@ def get_default_config() -> RawConfig: other_assets=[], exogenous_data=[], load_non_target_asset=True, - own_features=["level_2"], + own_features=["level_1"], other_features=["z_score"], exogenous_features=[], directional_models=classification_models, meta_models=meta_models, event_filter="cusum_vol", event_filter_multiplier=3.5, - remove_overlapping_events=False, + remove_overlapping_events=True, + labeling="two_class", + forecasting_horizon=10, + transaction_costs=0.002, + save_models=True, + ensembling_method="voting_soft", + ) + + +def get_minimal_config() -> RawConfig: + + classification_models = [ + "LogisticRegression_two_class", + # "LDA", + # "NB", + # "RFC", + # "LGBM", + # "StaticMom", + ] + meta_models = ["LogisticRegression_two_class", "LGBM"] + + return RawConfig( + dimensionality_reduction_ratio=0, + n_features_to_select=0, + initial_window_size=3800, + retrain_every=2000, + scaler="minmax", # 'normalize' 'minmax' 'standardize' 'robust' + assets=["fivemin_crypto"], + target_asset="BTCUSDT", + other_assets=[], + exogenous_data=[], + load_non_target_asset=False, + own_features=[], + other_features=[], + exogenous_features=[], + directional_models=classification_models, + meta_models=meta_models, + event_filter="none", + event_filter_multiplier=3.5, + remove_overlapping_events=True, labeling="two_class", forecasting_horizon=10, transaction_costs=0.002, diff --git a/tests/test_evaluation.py b/tests/test_evaluation.py index 0ce2d98..4a64f5e 100644 --- a/tests/test_evaluation.py +++ b/tests/test_evaluation.py @@ -1,6 +1,6 @@ import numpy as np import pandas as pd -from training.walk_forward import walk_forward_train, walk_forward_inference +from training.walk_forward import walk_forward_train, walk_forward_inference_batched from models.base import Model from utils.evaluate import evaluate_predictions from sklearn.base import BaseEstimator, ClassifierMixin @@ -74,7 +74,7 @@ def test_evaluation(): from_index=None, transformations_over_time=[], ) - predictions, _ = walk_forward_inference( + predictions, _ = walk_forward_inference_batched( model_name="test", model_over_time=model_over_time, transformations_over_time=[], diff --git a/tests/test_walk_forward.py b/tests/test_walk_forward.py index 51315cb..dac6ccd 100644 --- a/tests/test_walk_forward.py +++ b/tests/test_walk_forward.py @@ -1,6 +1,6 @@ import numpy as np import pandas as pd -from training.walk_forward import walk_forward_train, walk_forward_inference +from training.walk_forward import walk_forward_train, walk_forward_inference_batched from models.base import Model from sklearn.base import BaseEstimator, ClassifierMixin @@ -70,7 +70,7 @@ def test_walk_forward_train_test(): from_index=None, transformations_over_time=[], ) - predictions, _ = walk_forward_inference( + predictions, _ = walk_forward_inference_batched( model_name="test", model_over_time=model_over_time, transformations_over_time=[],