]> Piment Noir Git Repositories - freqai-strategies.git/commitdiff
fix(qav3): ensure symetry at extrema smoothing
authorJérôme Benoit <jerome.benoit@piment-noir.org>
Mon, 8 Dec 2025 15:41:15 +0000 (16:41 +0100)
committerJérôme Benoit <jerome.benoit@piment-noir.org>
Mon, 8 Dec 2025 15:41:15 +0000 (16:41 +0100)
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
quickadapter/user_data/strategies/Utils.py

index 317151e468ce9328b0d44f286ce38559728a1446..ab376edf9fd21b28e596fcb9e75e99aac8c342e9 100644 (file)
@@ -166,13 +166,13 @@ def smooth_extrema(
     if beta <= 0 or not np.isfinite(beta):
         beta = 1.0
 
-    std = get_gaussian_std(window)
     odd_window = get_odd_window(window)
+    std = get_gaussian_std(odd_window)
 
     if method == SMOOTHING_METHODS[0]:  # "gaussian"
         return zero_phase(
             series=series,
-            window=window,
+            window=odd_window,
             win_type=SMOOTHING_METHODS[0],
             std=std,
             beta=beta,
@@ -180,7 +180,7 @@ def smooth_extrema(
     elif method == SMOOTHING_METHODS[1]:  # "kaiser"
         return zero_phase(
             series=series,
-            window=window,
+            window=odd_window,
             win_type=SMOOTHING_METHODS[1],
             std=std,
             beta=beta,
@@ -188,7 +188,7 @@ def smooth_extrema(
     elif method == SMOOTHING_METHODS[2]:  # "triang"
         return zero_phase(
             series=series,
-            window=window,
+            window=odd_window,
             win_type=SMOOTHING_METHODS[2],
             std=std,
             beta=beta,
@@ -200,7 +200,7 @@ def smooth_extrema(
     else:
         return zero_phase(
             series=series,
-            window=window,
+            window=odd_window,
             win_type=SMOOTHING_METHODS[0],
             std=std,
             beta=beta,