From e929816c07940649aa82c4529b5489e9a2f1c127 Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=A9r=C3=B4me=20Benoit?= Date: Thu, 6 Feb 2025 02:19:05 +0100 Subject: [PATCH] fix(qav3): properly size `label_period_candles` MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Jérôme Benoit --- .gitignore | 5 +++-- .../LightGBMRegressorQuickAdapterV35.py | 21 +++++++++---------- .../XGBoostRegressorQuickAdapterV35.py | 21 +++++++++---------- 3 files changed, 23 insertions(+), 24 deletions(-) diff --git a/.gitignore b/.gitignore index 1bdc585..b54c135 100644 --- a/.gitignore +++ b/.gitignore @@ -372,8 +372,9 @@ $RECYCLE.BIN/ # End of https://www.toptal.com/developers/gitignore/api/vim,visualstudiocode,pycharm+all,linux,osx,windows,python +*.log.* config.json *.sqlite* -models/ -data/ +**/user_data/models/** +**/user_data/data/** !.gitkeep diff --git a/quickadapter/user_data/freqaimodels/LightGBMRegressorQuickAdapterV35.py b/quickadapter/user_data/freqaimodels/LightGBMRegressorQuickAdapterV35.py index c910fa9..a8ab0d6 100644 --- a/quickadapter/user_data/freqaimodels/LightGBMRegressorQuickAdapterV35.py +++ b/quickadapter/user_data/freqaimodels/LightGBMRegressorQuickAdapterV35.py @@ -259,19 +259,18 @@ def objective( y_pred = model.predict(X_test) label_period_candles = trial.suggest_int( - "label_period_candles", 1, fit_live_predictions_candles // 2 - ) - y_pred_min, y_pred_max = min_max_pred( - pd.DataFrame(y_pred), fit_live_predictions_candles, label_period_candles - ) - y_test_min, y_test_max = min_max_pred( - pd.DataFrame(y_test), fit_live_predictions_candles, label_period_candles + "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, ) + y_test = y_test.tail(label_period_candles) + y_pred = y_pred[-label_period_candles:] - error = sklearn.metrics.root_mean_squared_error( - pd.concat([y_test_min, y_test_max]).reset_index(drop=True), - pd.concat([y_pred_min, y_pred_max]).reset_index(drop=True), - ) + error = sklearn.metrics.root_mean_squared_error(y_test, y_pred) return error diff --git a/quickadapter/user_data/freqaimodels/XGBoostRegressorQuickAdapterV35.py b/quickadapter/user_data/freqaimodels/XGBoostRegressorQuickAdapterV35.py index 992696b..6017b0a 100644 --- a/quickadapter/user_data/freqaimodels/XGBoostRegressorQuickAdapterV35.py +++ b/quickadapter/user_data/freqaimodels/XGBoostRegressorQuickAdapterV35.py @@ -264,19 +264,18 @@ def objective( y_pred = model.predict(X_test) label_period_candles = trial.suggest_int( - "label_period_candles", 1, fit_live_predictions_candles // 2 - ) - y_pred_min, y_pred_max = min_max_pred( - pd.DataFrame(y_pred), fit_live_predictions_candles, label_period_candles - ) - y_test_min, y_test_max = min_max_pred( - pd.DataFrame(y_test), fit_live_predictions_candles, label_period_candles + "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, ) + y_test = y_test.tail(label_period_candles) + y_pred = y_pred[-label_period_candles:] - error = sklearn.metrics.root_mean_squared_error( - pd.concat([y_test_min, y_test_max]).reset_index(drop=True), - pd.concat([y_pred_min, y_pred_max]).reset_index(drop=True), - ) + error = sklearn.metrics.root_mean_squared_error(y_test, y_pred) return error -- 2.43.0