]> Piment Noir Git Repositories - freqai-strategies.git/commitdiff
fix(qav3): initialize optuna objective default return to proper type
authorJérôme Benoit <jerome.benoit@piment-noir.org>
Wed, 19 Feb 2025 16:35:05 +0000 (17:35 +0100)
committerJérôme Benoit <jerome.benoit@piment-noir.org>
Wed, 19 Feb 2025 16:35:05 +0000 (17:35 +0100)
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
quickadapter/user_data/config-template.json
quickadapter/user_data/freqaimodels/LightGBMRegressorQuickAdapterV35.py
quickadapter/user_data/freqaimodels/XGBoostRegressorQuickAdapterV35.py

index fdeeeb60c73e12fad81d7fea4f17649faf1a3800..5c77e1fdfb8280b49850d76db403d175d6e6e0ba 100644 (file)
       "&s-minima_threshold": -2,
       "&s-maxima_threshold": 2,
       "label_period_candles": 100,
-      "hp_rmse": 0,
-      "period_rmse": 0
+      "hp_rmse": -1,
+      "period_rmse": -1
     },
     "feature_parameters": {
       "include_corr_pairlist": [
index 3f5446eb7c7e591233142c1b23ca36a5fce1e0db..12dd97d31bf8cade0f8d00ca841acb2d8a56a176 100644 (file)
@@ -52,8 +52,8 @@ class LightGBMRegressorQuickAdapterV35(BaseRegressionModel):
             and self.__optuna_config.get("enabled", False)
             and self.data_split_parameters.get("test_size", TEST_SIZE) > 0
         )
-        self.__optuna_hp_rmse: dict[str, float | None] = {}
-        self.__optuna_period_rmse: dict[str, float | None] = {}
+        self.__optuna_hp_rmse: dict[str, float] = {}
+        self.__optuna_period_rmse: dict[str, float] = {}
         self.__optuna_hp_params: dict[str, dict] = {}
         self.__optuna_period_params: dict[str, dict] = {}
 
@@ -91,7 +91,7 @@ class LightGBMRegressorQuickAdapterV35(BaseRegressionModel):
                 }
             if optuna_hp_rmse:
                 if dk.pair not in self.__optuna_hp_rmse:
-                    self.__optuna_hp_rmse[dk.pair] = None
+                    self.__optuna_hp_rmse[dk.pair] = -1
                 self.__optuna_hp_rmse[dk.pair] = optuna_hp_rmse
 
             optuna_period_params, optuna_period_rmse = self.optuna_period_optimize(
@@ -110,7 +110,7 @@ class LightGBMRegressorQuickAdapterV35(BaseRegressionModel):
                 self.__optuna_period_params[dk.pair] = optuna_period_params
             if optuna_period_rmse:
                 if dk.pair not in self.__optuna_period_rmse:
-                    self.__optuna_period_rmse[dk.pair] = None
+                    self.__optuna_period_rmse[dk.pair] = -1
                 self.__optuna_period_rmse[dk.pair] = optuna_period_rmse
 
             if self.__optuna_period_params.get(dk.pair):
@@ -224,15 +224,15 @@ class LightGBMRegressorQuickAdapterV35(BaseRegressionModel):
         dk.data["extra_returns_per_train"]["DI_cutoff"] = cutoff
 
         dk.data["extra_returns_per_train"]["label_period_candles"] = (
-            self.__optuna_period_params.get(
-                pair, {}
-            ).get("label_period_candles", self.ft_params["label_period_candles"])
+            self.__optuna_period_params.get(pair, {}).get(
+                "label_period_candles", self.ft_params["label_period_candles"]
+            )
         )
         dk.data["extra_returns_per_train"]["hp_rmse"] = self.__optuna_hp_rmse.get(
-            pair, {}
+            pair, -1
         )
         dk.data["extra_returns_per_train"]["period_rmse"] = (
-            self.__optuna_period_rmse.get(pair, {})
+            self.__optuna_period_rmse.get(pair, -1)
         )
 
     def eval_set_and_weights(self, X_test, y_test, test_weights):
index fde58ccea8a82761625f19cdc5469c5d760de4cc..3e4dc155672f626c2dc2d0cdc71e4941f231a126 100644 (file)
@@ -52,8 +52,8 @@ class XGBoostRegressorQuickAdapterV35(BaseRegressionModel):
             and self.__optuna_config.get("enabled", False)
             and self.data_split_parameters.get("test_size", TEST_SIZE) > 0
         )
-        self.__optuna_hp_rmse: dict[str, float | None] = {}
-        self.__optuna_period_rmse: dict[str, float | None] = {}
+        self.__optuna_hp_rmse: dict[str, float] = {}
+        self.__optuna_period_rmse: dict[str, float] = {}
         self.__optuna_hp_params: dict[str, dict] = {}
         self.__optuna_period_params: dict[str, dict] = {}
 
@@ -91,7 +91,7 @@ class XGBoostRegressorQuickAdapterV35(BaseRegressionModel):
                 }
             if optuna_hp_rmse:
                 if dk.pair not in self.__optuna_hp_rmse:
-                    self.__optuna_hp_rmse[dk.pair] = None
+                    self.__optuna_hp_rmse[dk.pair] = -1
                 self.__optuna_hp_rmse[dk.pair] = optuna_hp_rmse
 
             optuna_period_params, optuna_period_rmse = self.optuna_period_optimize(
@@ -110,7 +110,7 @@ class XGBoostRegressorQuickAdapterV35(BaseRegressionModel):
                 self.__optuna_period_params[dk.pair] = optuna_period_params
             if optuna_period_rmse:
                 if dk.pair not in self.__optuna_period_rmse:
-                    self.__optuna_period_rmse[dk.pair] = None
+                    self.__optuna_period_rmse[dk.pair] = -1
                 self.__optuna_period_rmse[dk.pair] = optuna_period_rmse
 
             if self.__optuna_period_params.get(dk.pair):
@@ -225,15 +225,15 @@ class XGBoostRegressorQuickAdapterV35(BaseRegressionModel):
         dk.data["extra_returns_per_train"]["DI_cutoff"] = cutoff
 
         dk.data["extra_returns_per_train"]["label_period_candles"] = (
-            self.__optuna_period_params.get(
-                pair, {}
-            ).get("label_period_candles", self.ft_params["label_period_candles"])
+            self.__optuna_period_params.get(pair, {}).get(
+                "label_period_candles", self.ft_params["label_period_candles"]
+            )
         )
         dk.data["extra_returns_per_train"]["hp_rmse"] = self.__optuna_hp_rmse.get(
-            pair, {}
+            pair, -1
         )
         dk.data["extra_returns_per_train"]["period_rmse"] = (
-            self.__optuna_period_rmse.get(pair, {})
+            self.__optuna_period_rmse.get(pair, -1)
         )
 
     def eval_set_and_weights(self, X_test, y_test, test_weights):