From ac0f8e384bdca131964762db6998a853c70381e3 Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=A9r=C3=B4me=20Benoit?= Date: Thu, 6 Feb 2025 18:12:26 +0100 Subject: [PATCH] perf(qav3): fine tune label_period_candles HPO MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Jérôme Benoit --- .../freqaimodels/LightGBMRegressorQuickAdapterV35.py | 12 ++++++------ .../freqaimodels/XGBoostRegressorQuickAdapterV35.py | 12 +++++------- 2 files changed, 11 insertions(+), 13 deletions(-) diff --git a/quickadapter/user_data/freqaimodels/LightGBMRegressorQuickAdapterV35.py b/quickadapter/user_data/freqaimodels/LightGBMRegressorQuickAdapterV35.py index 07e7d75..befe599 100644 --- a/quickadapter/user_data/freqaimodels/LightGBMRegressorQuickAdapterV35.py +++ b/quickadapter/user_data/freqaimodels/LightGBMRegressorQuickAdapterV35.py @@ -276,14 +276,14 @@ def objective( ) y_pred = model.predict(X_test) + min_label_period_candles = 1 + 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 label_period_candles = trial.suggest_int( "label_period_candles", - int(fit_live_predictions_candles / 20) - if fit_live_predictions_candles > 20 - else 1, - int(fit_live_predictions_candles / 2) - if fit_live_predictions_candles > 2 - else fit_live_predictions_candles, + min_label_period_candles, + max_label_period_candles, ) y_test = y_test.tail(label_period_candles) y_pred = y_pred[-label_period_candles:] diff --git a/quickadapter/user_data/freqaimodels/XGBoostRegressorQuickAdapterV35.py b/quickadapter/user_data/freqaimodels/XGBoostRegressorQuickAdapterV35.py index fcffac6..d59c289 100644 --- a/quickadapter/user_data/freqaimodels/XGBoostRegressorQuickAdapterV35.py +++ b/quickadapter/user_data/freqaimodels/XGBoostRegressorQuickAdapterV35.py @@ -281,14 +281,12 @@ def objective( ) y_pred = model.predict(X_test) + min_label_period_candles = 1 + 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 label_period_candles = trial.suggest_int( - "label_period_candles", - int(fit_live_predictions_candles / 20) - if fit_live_predictions_candles > 20 - else 1, - int(fit_live_predictions_candles / 2) - if fit_live_predictions_candles > 2 - else fit_live_predictions_candles, + "label_period_candles", min_label_period_candles, max_label_period_candles ) y_test = y_test.tail(label_period_candles) y_pred = y_pred[-label_period_candles:] -- 2.43.0