From 5a1cfb5a2fba2d825fe84a5352514e1994f013a9 Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=A9r=C3=B4me=20Benoit?= Date: Mon, 9 Jun 2025 10:50:43 +0200 Subject: [PATCH] perf(qav3): refine pivots labeling optimization MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Jérôme Benoit --- .../user_data/freqaimodels/QuickAdapterRegressorV3.py | 8 ++++---- quickadapter/user_data/strategies/Utils.py | 6 +++--- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py b/quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py index 5716990..afdbded 100644 --- a/quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py +++ b/quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py @@ -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[ -( diff --git a/quickadapter/user_data/strategies/Utils.py b/quickadapter/user_data/strategies/Utils.py index f14a01f..dc579aa 100644 --- a/quickadapter/user_data/strategies/Utils.py +++ b/quickadapter/user_data/strategies/Utils.py @@ -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): -- 2.43.0