From: Jérôme Benoit Date: Thu, 6 Feb 2025 17:12:26 +0000 (+0100) Subject: perf(qav3): fine tune label_period_candles HPO X-Git-Url: https://git.piment-noir.org/?a=commitdiff_plain;h=ac0f8e384bdca131964762db6998a853c70381e3;p=freqai-strategies.git perf(qav3): fine tune label_period_candles HPO Signed-off-by: Jérôme Benoit --- 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:]