]> Piment Noir Git Repositories - freqai-strategies.git/commitdiff
perf(qav3): refine default quantile value
authorJérôme Benoit <jerome.benoit@sap.com>
Tue, 4 Mar 2025 21:53:07 +0000 (22:53 +0100)
committerJérôme Benoit <jerome.benoit@sap.com>
Tue, 4 Mar 2025 21:53:07 +0000 (22:53 +0100)
Signed-off-by: Jérôme Benoit <jerome.benoit@sap.com>
quickadapter/user_data/freqaimodels/LightGBMRegressorQuickAdapterV35.py
quickadapter/user_data/freqaimodels/XGBoostRegressorQuickAdapterV35.py

index 5fcd4d1d925fbf37f99867824e460b5d0b400e3b..c095527f9b9ed353b1c76b6b2065d20fa26e9937 100644 (file)
@@ -70,9 +70,9 @@ class LightGBMRegressorQuickAdapterV35(BaseRegressionModel):
             )
             self.freqai_info["feature_parameters"][pair] = {}
             self.freqai_info["feature_parameters"][pair]["label_period_candles"] = (
-                self.__optuna_period_params[pair].get(
-                    "label_period_candles", self.ft_params["label_period_candles"]
-                )
+                self.__optuna_period_params[
+                    pair
+                ].get("label_period_candles", self.ft_params["label_period_candles"])
             )
 
     def fit(self, data_dictionary: Dict, dk: FreqaiDataKitchen, **kwargs) -> Any:
@@ -230,9 +230,9 @@ 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, -1
@@ -499,7 +499,7 @@ class LightGBMRegressorQuickAdapterV35(BaseRegressionModel):
         label_period_frequency: int = int(
             fit_live_predictions_candles / (label_period_candles * 2)
         )
-        q = self.freqai_info.get("quantile", 0.67)
+        q = self.freqai_info.get("quantile", 0.75)
         min_pred = pred_df_sorted.iloc[-label_period_frequency:].quantile(1 - q)
         max_pred = pred_df_sorted.iloc[:label_period_frequency].quantile(q)
         return min_pred[EXTREMA_COLUMN], max_pred[EXTREMA_COLUMN]
index bdb9bdc081b1f1f79cb79e573fd16a0e9fd1d90b..076b40e0e0b5c53a77c7b41d598961c1026663a6 100644 (file)
@@ -70,9 +70,9 @@ class XGBoostRegressorQuickAdapterV35(BaseRegressionModel):
             )
             self.freqai_info["feature_parameters"][pair] = {}
             self.freqai_info["feature_parameters"][pair]["label_period_candles"] = (
-                self.__optuna_period_params[pair].get(
-                    "label_period_candles", self.ft_params["label_period_candles"]
-                )
+                self.__optuna_period_params[
+                    pair
+                ].get("label_period_candles", self.ft_params["label_period_candles"])
             )
 
     def fit(self, data_dictionary: Dict, dk: FreqaiDataKitchen, **kwargs) -> Any:
@@ -231,9 +231,9 @@ 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, -1
@@ -500,7 +500,7 @@ class XGBoostRegressorQuickAdapterV35(BaseRegressionModel):
         label_period_frequency: int = int(
             fit_live_predictions_candles / (label_period_candles * 2)
         )
-        q = self.freqai_info.get("quantile", 0.67)
+        q = self.freqai_info.get("quantile", 0.75)
         min_pred = pred_df_sorted.iloc[-label_period_frequency:].quantile(1 - q)
         max_pred = pred_df_sorted.iloc[:label_period_frequency].quantile(q)
         return min_pred[EXTREMA_COLUMN], max_pred[EXTREMA_COLUMN]