From: Jérôme Benoit Date: Fri, 7 Feb 2025 10:30:32 +0000 (+0100) Subject: perf(qav3): fine tune optuna search space X-Git-Url: https://git.piment-noir.org/?a=commitdiff_plain;h=3207f5953a04d753857ee8901549253885c4a3e2;p=freqai-strategies.git perf(qav3): fine tune optuna search space Signed-off-by: Jérôme Benoit --- diff --git a/quickadapter/user_data/freqaimodels/LightGBMRegressorQuickAdapterV35.py b/quickadapter/user_data/freqaimodels/LightGBMRegressorQuickAdapterV35.py index 260dc47..7f4136b 100644 --- a/quickadapter/user_data/freqaimodels/LightGBMRegressorQuickAdapterV35.py +++ b/quickadapter/user_data/freqaimodels/LightGBMRegressorQuickAdapterV35.py @@ -78,6 +78,7 @@ class LightGBMRegressorQuickAdapterV35(BaseRegressionModel): X_test, y_test, test_weights, + self.data_split_parameters.get("test_size", TEST_SIZE), self.freqai_info.get("fit_live_predictions_candles", 100), self.__optuna_config.get("candles_step", 100), self.model_training_parameters, @@ -235,11 +236,12 @@ def objective( X_test, y_test, test_weights, + test_size, fit_live_predictions_candles, candles_step, params, ): - min_train_window: int = 10 + min_train_window: int = 600 max_train_window: int = ( len(X) if len(X) > min_train_window else (min_train_window + len(X)) ) @@ -250,7 +252,7 @@ def objective( y = y.tail(train_window) train_weights = train_weights[-train_window:] - min_test_window: int = 10 + min_test_window: int = int(min_train_window * test_size) max_test_window: int = ( len(X_test) if len(X_test) > min_test_window @@ -276,7 +278,7 @@ def objective( ) y_pred = model.predict(X_test) - min_label_period_candles = 1 + min_label_period_candles = int(fit_live_predictions_candles / 10) max_label_period_candles = int(fit_live_predictions_candles / 2) if max_label_period_candles < min_label_period_candles: max_label_period_candles = min_label_period_candles diff --git a/quickadapter/user_data/freqaimodels/XGBoostRegressorQuickAdapterV35.py b/quickadapter/user_data/freqaimodels/XGBoostRegressorQuickAdapterV35.py index d87654e..5f37651 100644 --- a/quickadapter/user_data/freqaimodels/XGBoostRegressorQuickAdapterV35.py +++ b/quickadapter/user_data/freqaimodels/XGBoostRegressorQuickAdapterV35.py @@ -78,6 +78,7 @@ class XGBoostRegressorQuickAdapterV35(BaseRegressionModel): X_test, y_test, test_weights, + self.data_split_parameters.get("test_size", TEST_SIZE), self.freqai_info.get("fit_live_predictions_candles", 100), self.__optuna_config.get("candles_step", 100), self.model_training_parameters, @@ -235,11 +236,12 @@ def objective( X_test, y_test, test_weights, + test_size, fit_live_predictions_candles, candles_step, params, ): - min_train_window: int = 10 + min_train_window: int = 600 max_train_window: int = ( len(X) if len(X) > min_train_window else (min_train_window + len(X)) ) @@ -250,7 +252,7 @@ def objective( y = y.tail(train_window) train_weights = train_weights[-train_window:] - min_test_window: int = 10 + min_test_window: int = int(min_train_window * test_size) max_test_window: int = ( len(X_test) if len(X_test) > min_test_window @@ -281,7 +283,7 @@ def objective( ) y_pred = model.predict(X_test) - min_label_period_candles = 1 + min_label_period_candles = int(fit_live_predictions_candles / 10) max_label_period_candles = int(fit_live_predictions_candles / 2) if max_label_period_candles < min_label_period_candles: max_label_period_candles = min_label_period_candles