From: Jérôme Benoit Date: Sun, 2 Mar 2025 09:35:56 +0000 (+0100) Subject: fix(qav3): symetric quantile thresholds X-Git-Url: https://git.piment-noir.org/?a=commitdiff_plain;h=d81f68b47576d2a1ef7f2ae8229b01e67c77ae64;p=freqai-strategies.git fix(qav3): symetric quantile thresholds Signed-off-by: Jérôme Benoit --- diff --git a/quickadapter/user_data/freqaimodels/LightGBMRegressorQuickAdapterV35.py b/quickadapter/user_data/freqaimodels/LightGBMRegressorQuickAdapterV35.py index 84f0b64..1c4a156 100644 --- a/quickadapter/user_data/freqaimodels/LightGBMRegressorQuickAdapterV35.py +++ b/quickadapter/user_data/freqaimodels/LightGBMRegressorQuickAdapterV35.py @@ -506,12 +506,9 @@ class LightGBMRegressorQuickAdapterV35(BaseRegressionModel): label_period_frequency: int = int( fit_live_predictions_candles / (label_period_candles * 2) ) - min_pred = pred_df_sorted.iloc[-label_period_frequency:].quantile( - self.freqai_info.get("min_quantile", 0.67) - ) - max_pred = pred_df_sorted.iloc[:label_period_frequency].quantile( - self.freqai_info.get("max_quantile", 0.67) - ) + q = self.freqai_info.get("quantile", 0.67) + min_pred = pred_df_sorted.iloc[-label_period_frequency:].quantile(1 - q) + max_pred = pred_df_sorted.iloc[:label_period_frequency].quantile(q) return min_pred[EXTREMA_COLUMN], max_pred[EXTREMA_COLUMN] diff --git a/quickadapter/user_data/freqaimodels/XGBoostRegressorQuickAdapterV35.py b/quickadapter/user_data/freqaimodels/XGBoostRegressorQuickAdapterV35.py index e14bf09..ad7c646 100644 --- a/quickadapter/user_data/freqaimodels/XGBoostRegressorQuickAdapterV35.py +++ b/quickadapter/user_data/freqaimodels/XGBoostRegressorQuickAdapterV35.py @@ -507,12 +507,9 @@ class XGBoostRegressorQuickAdapterV35(BaseRegressionModel): label_period_frequency: int = int( fit_live_predictions_candles / (label_period_candles * 2) ) - min_pred = pred_df_sorted.iloc[-label_period_frequency:].quantile( - self.freqai_info.get("min_quantile", 0.67) - ) - max_pred = pred_df_sorted.iloc[:label_period_frequency].quantile( - self.freqai_info.get("max_quantile", 0.67) - ) + q = self.freqai_info.get("quantile", 0.67) + min_pred = pred_df_sorted.iloc[-label_period_frequency:].quantile(1 - q) + max_pred = pred_df_sorted.iloc[:label_period_frequency].quantile(q) return min_pred[EXTREMA_COLUMN], max_pred[EXTREMA_COLUMN]