]> Piment Noir Git Repositories - freqai-strategies.git/commitdiff
perf(qav3): fine tune labeling optuna optimization
authorJérôme Benoit <jerome.benoit@piment-noir.org>
Fri, 19 Sep 2025 14:55:53 +0000 (16:55 +0200)
committerJérôme Benoit <jerome.benoit@piment-noir.org>
Fri, 19 Sep 2025 14:55:53 +0000 (16:55 +0200)
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
quickadapter/user_data/config-template.json
quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py
quickadapter/user_data/strategies/QuickAdapterV3.py
quickadapter/user_data/strategies/Utils.py

index ec27ab34650d35948ef4560d950dfa84fe5e6f7c..c7a96838083696bcdd8e657460ed9f96e2443f45 100644 (file)
       "&s-minima_threshold": -2,
       "&s-maxima_threshold": 2,
       "label_period_candles": 24,
-      "label_natr_ratio": 8.5,
+      "label_natr_ratio": 9.0,
       "hp_rmse": -1,
       "train_rmse": -1
     },
index c3b53d13fd9a8a2fb509ca724d13ce3454db882e..977b32c683a51908f421c2a41138d67524bea59f 100644 (file)
@@ -159,7 +159,7 @@ class QuickAdapterRegressorV3(BaseRegressionModel):
                         "label_period_candles", 24
                     ),
                     "label_natr_ratio": float(
-                        self.ft_params.get("label_natr_ratio", 8.5)
+                        self.ft_params.get("label_natr_ratio", 9.0)
                     ),
                 }
             )
@@ -1509,7 +1509,7 @@ def label_objective(
         max_label_period_candles,
         step=candles_step,
     )
-    label_natr_ratio = trial.suggest_float("label_natr_ratio", 8.5, 12.5, step=0.05)
+    label_natr_ratio = trial.suggest_float("label_natr_ratio", 9.0, 12.0, step=0.05)
 
     label_period_cycles = fit_live_predictions_candles / label_period_candles
     df = df.iloc[-(max(2, int(label_period_cycles)) * label_period_candles) :]
index 3b682e604feae6b08b52c2212da0f02d40d64f28..2320d7ce357543ac835c46e900fc9de1c8d6d206 100644 (file)
@@ -219,7 +219,7 @@ class QuickAdapterV3(IStrategy):
                     ),
                     "label_natr_ratio": float(
                         self.freqai_info["feature_parameters"].get(
-                            "label_natr_ratio", 8.5
+                            "label_natr_ratio", 9.0
                         )
                     ),
                 }
@@ -426,7 +426,7 @@ class QuickAdapterV3(IStrategy):
         if label_natr_ratio and isinstance(label_natr_ratio, float):
             return label_natr_ratio
         return float(
-            self.freqai_info["feature_parameters"].get("label_natr_ratio", 8.5)
+            self.freqai_info["feature_parameters"].get("label_natr_ratio", 9.0)
         )
 
     def set_label_natr_ratio(self, pair: str, label_natr_ratio: float) -> None:
index 87eb20ac883dacc163d8587e9aa2ac81da77981e..ddade7f950d4d4a6edde6105e213437e17dbca5b 100644 (file)
@@ -495,7 +495,7 @@ class TrendDirection(IntEnum):
 def zigzag(
     df: pd.DataFrame,
     natr_period: int = 14,
-    natr_ratio: float = 8.5,
+    natr_ratio: float = 9.0,
 ) -> tuple[list[int], list[float], list[TrendDirection], list[float]]:
     n = len(df)
     if df.empty or n < natr_period: