From: Jérôme Benoit Date: Fri, 14 Mar 2025 13:59:08 +0000 (+0100) Subject: perf(qav3): split evenly fit live predictions window X-Git-Url: https://git.piment-noir.org/?a=commitdiff_plain;h=18b909d2b5e189b86830844f212c173eaa17ce5a;p=freqai-strategies.git perf(qav3): split evenly fit live predictions window Signed-off-by: Jérôme Benoit --- 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]