From: Jérôme Benoit Date: Fri, 12 Sep 2025 12:42:38 +0000 (+0200) Subject: perf(qav3): fine tune pivot labeling optimization X-Git-Url: https://git.piment-noir.org/?a=commitdiff_plain;h=9cd85bed5583110acdffb65f57924ca68daa73b6;p=freqai-strategies.git perf(qav3): fine tune pivot labeling optimization Signed-off-by: Jérôme Benoit --- diff --git a/ReforceXY/user_data/config-template.json b/ReforceXY/user_data/config-template.json index 8854044..4649178 100644 --- a/ReforceXY/user_data/config-template.json +++ b/ReforceXY/user_data/config-template.json @@ -112,7 +112,7 @@ "enabled": true, "conv_width": 1, "purge_old_models": 2, - "expiration_hours": 12, + "expiration_hours": 48, "train_period_days": 60, // "live_retrain_hours": 0.5, "backtest_period_days": 2, diff --git a/quickadapter/user_data/config-template.json b/quickadapter/user_data/config-template.json index 4cd0b26..68a34a5 100644 --- a/quickadapter/user_data/config-template.json +++ b/quickadapter/user_data/config-template.json @@ -138,7 +138,7 @@ "&s-minima_threshold": -2, "&s-maxima_threshold": 2, "label_period_candles": 24, - "label_natr_ratio": 7.5, + "label_natr_ratio": 8.0, "hp_rmse": -1, "train_rmse": -1 }, diff --git a/quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py b/quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py index 8826d11..62cc15f 100644 --- a/quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py +++ b/quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py @@ -159,7 +159,7 @@ class QuickAdapterRegressorV3(BaseRegressionModel): "label_period_candles", 24 ), "label_natr_ratio": float( - self.ft_params.get("label_natr_ratio", 7.5) + self.ft_params.get("label_natr_ratio", 8.0) ), } ) @@ -1420,7 +1420,7 @@ def label_objective( max_label_period_candles, step=candles_step, ) - label_natr_ratio = trial.suggest_float("label_natr_ratio", 7.5, 21.5, step=0.01) + label_natr_ratio = trial.suggest_float("label_natr_ratio", 8.0, 20.0, step=0.01) label_period_cycles = fit_live_predictions_candles / label_period_candles df = df.iloc[-(max(2, int(label_period_cycles)) * label_period_candles) :] diff --git a/quickadapter/user_data/strategies/QuickAdapterV3.py b/quickadapter/user_data/strategies/QuickAdapterV3.py index 4c8e444..c60ac68 100644 --- a/quickadapter/user_data/strategies/QuickAdapterV3.py +++ b/quickadapter/user_data/strategies/QuickAdapterV3.py @@ -224,7 +224,7 @@ class QuickAdapterV3(IStrategy): ), "label_natr_ratio": float( self.freqai_info["feature_parameters"].get( - "label_natr_ratio", 7.5 + "label_natr_ratio", 8.0 ) ), } @@ -431,7 +431,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", 7.5) + self.freqai_info["feature_parameters"].get("label_natr_ratio", 8.0) ) def set_label_natr_ratio(self, pair: str, label_natr_ratio: float) -> None: diff --git a/quickadapter/user_data/strategies/Utils.py b/quickadapter/user_data/strategies/Utils.py index 52a0e86..7400285 100644 --- a/quickadapter/user_data/strategies/Utils.py +++ b/quickadapter/user_data/strategies/Utils.py @@ -495,7 +495,7 @@ class TrendDirection(IntEnum): def zigzag( df: pd.DataFrame, natr_period: int = 14, - natr_ratio: float = 7.5, + natr_ratio: float = 8.0, ) -> tuple[list[int], list[float], list[TrendDirection], list[float]]: n = len(df) if df.empty or n < natr_period: