From 18b909d2b5e189b86830844f212c173eaa17ce5a Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=A9r=C3=B4me=20Benoit?= Date: Fri, 14 Mar 2025 14:59:08 +0100 Subject: [PATCH] perf(qav3): split evenly fit live predictions window MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Jérôme Benoit --- .../freqaimodels/LightGBMRegressorQuickAdapterV35.py | 9 ++++++--- .../freqaimodels/XGBoostRegressorQuickAdapterV35.py | 9 ++++++--- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/quickadapter/user_data/freqaimodels/LightGBMRegressorQuickAdapterV35.py b/quickadapter/user_data/freqaimodels/LightGBMRegressorQuickAdapterV35.py index 24baa08..1cf89f2 100644 --- a/quickadapter/user_data/freqaimodels/LightGBMRegressorQuickAdapterV35.py +++ b/quickadapter/user_data/freqaimodels/LightGBMRegressorQuickAdapterV35.py @@ -590,10 +590,13 @@ def period_objective( max_label_period_candles, step=candles_step, ) - y_test = y_test.iloc[-fit_live_predictions_candles:].to_numpy() - test_weights = test_weights[-fit_live_predictions_candles:] - y_pred = y_pred[-fit_live_predictions_candles:] label_window: int = label_period_candles * 2 + label_windows_length: int = ( + fit_live_predictions_candles // label_window + ) * label_window + y_test = y_test.iloc[-label_windows_length:].to_numpy() + test_weights = test_weights[-label_windows_length:] + y_pred = y_pred[-label_windows_length:] y_test = [y_test[i : i + label_window] for i in range(0, len(y_test), label_window)] test_weights = [ test_weights[i : i + label_window] diff --git a/quickadapter/user_data/freqaimodels/XGBoostRegressorQuickAdapterV35.py b/quickadapter/user_data/freqaimodels/XGBoostRegressorQuickAdapterV35.py index bdec0f6..0e65884 100644 --- a/quickadapter/user_data/freqaimodels/XGBoostRegressorQuickAdapterV35.py +++ b/quickadapter/user_data/freqaimodels/XGBoostRegressorQuickAdapterV35.py @@ -598,10 +598,13 @@ def period_objective( max_label_period_candles, step=candles_step, ) - y_test = y_test.iloc[-fit_live_predictions_candles:].to_numpy() - test_weights = test_weights[-fit_live_predictions_candles:] - y_pred = y_pred[-fit_live_predictions_candles:] label_window: int = label_period_candles * 2 + label_windows_length: int = ( + fit_live_predictions_candles // label_window + ) * label_window + y_test = y_test.iloc[-label_windows_length:].to_numpy() + test_weights = test_weights[-label_windows_length:] + y_pred = y_pred[-label_windows_length:] y_test = [y_test[i : i + label_window] for i in range(0, len(y_test), label_window)] test_weights = [ test_weights[i : i + label_window] -- 2.43.0