]> Piment Noir Git Repositories - freqai-strategies.git/commitdiff
perf(qav3): refine pivots labeling optimization
authorJérôme Benoit <jerome.benoit@piment-noir.org>
Mon, 9 Jun 2025 08:50:43 +0000 (10:50 +0200)
committerJérôme Benoit <jerome.benoit@piment-noir.org>
Mon, 9 Jun 2025 08:50:43 +0000 (10:50 +0200)
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py
quickadapter/user_data/strategies/Utils.py

index 57169908d7d46dd6ac9a5e30f691b245bb439a6e..afdbdedf2060990dd24a434a39be4485d16bd73b 100644 (file)
@@ -1156,7 +1156,7 @@ def zigzag(
     natr_ratio: float = 6.0,
 ) -> tuple[list[int], list[float], list[int]]:
     min_confirmation_window: int = 3
-    max_confirmation_window: int = 5
+    max_confirmation_window: int = 6
     n = len(df)
     if df.empty or n < max(natr_period, 2 * max_confirmation_window + 1):
         return [], [], []
@@ -1211,8 +1211,8 @@ def zigzag(
 
     def calculate_depth(
         pos: int,
-        min_depth: int = 8,
-        max_depth: int = 28,
+        min_depth: int = 6,
+        max_depth: int = 24,
     ) -> int:
         volatility_quantile = calculate_volatility_quantile(pos)
         if np.isnan(volatility_quantile):
@@ -1441,7 +1441,7 @@ def label_objective(
         max_label_period_candles,
         step=candles_step,
     )
-    label_natr_ratio = trial.suggest_float("label_natr_ratio", 2.0, 10.0, step=0.01)
+    label_natr_ratio = trial.suggest_float("label_natr_ratio", 3.0, 10.0, step=0.01)
 
     df = df.iloc[
         -(
index f14a01f5b856967ac376b9fd4366214575e966ea..dc579aab1107a4d961a50a0929e80202a531f69f 100644 (file)
@@ -422,7 +422,7 @@ def zigzag(
     natr_ratio: float = 6.0,
 ) -> tuple[list[int], list[float], list[int]]:
     min_confirmation_window: int = 3
-    max_confirmation_window: int = 5
+    max_confirmation_window: int = 6
     n = len(df)
     if df.empty or n < max(natr_period, 2 * max_confirmation_window + 1):
         return [], [], []
@@ -477,8 +477,8 @@ def zigzag(
 
     def calculate_depth(
         pos: int,
-        min_depth: int = 8,
-        max_depth: int = 28,
+        min_depth: int = 6,
+        max_depth: int = 24,
     ) -> int:
         volatility_quantile = calculate_volatility_quantile(pos)
         if np.isnan(volatility_quantile):