]> Piment Noir Git Repositories - freqai-strategies.git/commitdiff
fix(qav3): ensure optuna is doing live optimization
authorJérôme Benoit <jerome.benoit@piment-noir.org>
Fri, 14 Feb 2025 18:23:38 +0000 (19:23 +0100)
committerJérôme Benoit <jerome.benoit@piment-noir.org>
Fri, 14 Feb 2025 18:23:38 +0000 (19:23 +0100)
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
quickadapter/user_data/freqaimodels/LightGBMRegressorQuickAdapterV35.py
quickadapter/user_data/freqaimodels/XGBoostRegressorQuickAdapterV35.py

index c1e0166e268003b882a11032257e3dcfc8810b6a..f4b0d46e68a60e0541d89056eeaca4517706f4c5 100644 (file)
@@ -184,9 +184,9 @@ class LightGBMRegressorQuickAdapterV35(BaseRegressionModel):
         dk.data["extra_returns_per_train"]["DI_cutoff"] = cutoff
 
         dk.data["extra_returns_per_train"]["label_period_candles"] = (
-            self.__optuna_hp.get(
-                pair, {}
-            ).get("label_period_candles", self.ft_params["label_period_candles"])
+            self.__optuna_hp.get(pair, {}).get(
+                "label_period_candles", self.ft_params["label_period_candles"]
+            )
         )
         dk.data["extra_returns_per_train"]["rmse"] = self.__optuna_hp.get(pair, {}).get(
             "rmse", 0
@@ -250,6 +250,10 @@ class LightGBMRegressorQuickAdapterV35(BaseRegressionModel):
         study_name = dk.pair
         storage = self.get_optuna_storage(dk)
         pruner = optuna.pruners.HyperbandPruner()
+        try:
+            optuna.delete_study(study_name=study_name, storage=storage)
+        except optuna.exceptions.StudyNotFound:
+            pass
         study = optuna.create_study(
             study_name=study_name,
             sampler=optuna.samplers.TPESampler(
@@ -259,7 +263,6 @@ class LightGBMRegressorQuickAdapterV35(BaseRegressionModel):
             pruner=pruner,
             direction=optuna.study.StudyDirection.MINIMIZE,
             storage=storage,
-            load_if_exists=True,
         )
         hyperopt_failed = False
         try:
index 53cee6f3c1502395f02cccc96d864c709ac645c6..ce0b8a952b84b3b224804db6b6d97fb892625858 100644 (file)
@@ -187,9 +187,9 @@ class XGBoostRegressorQuickAdapterV35(BaseRegressionModel):
         dk.data["extra_returns_per_train"]["DI_cutoff"] = cutoff
 
         dk.data["extra_returns_per_train"]["label_period_candles"] = (
-            self.__optuna_hp.get(
-                pair, {}
-            ).get("label_period_candles", self.ft_params["label_period_candles"])
+            self.__optuna_hp.get(pair, {}).get(
+                "label_period_candles", self.ft_params["label_period_candles"]
+            )
         )
         dk.data["extra_returns_per_train"]["rmse"] = self.__optuna_hp.get(pair, {}).get(
             "rmse", 0
@@ -253,6 +253,10 @@ class XGBoostRegressorQuickAdapterV35(BaseRegressionModel):
         study_name = dk.pair
         storage = self.get_optuna_storage(dk)
         pruner = optuna.pruners.HyperbandPruner()
+        try:
+            optuna.delete_study(study_name=study_name, storage=storage)
+        except optuna.exceptions.StudyNotFound:
+            pass
         study = optuna.create_study(
             study_name=study_name,
             sampler=optuna.samplers.TPESampler(
@@ -262,7 +266,6 @@ class XGBoostRegressorQuickAdapterV35(BaseRegressionModel):
             pruner=pruner,
             direction=optuna.study.StudyDirection.MINIMIZE,
             storage=storage,
-            load_if_exists=True,
         )
         hyperopt_failed = False
         try: