]> Piment Noir Git Repositories - freqai-strategies.git/commitdiff
fix(qav3): symetric quantile thresholds
authorJérôme Benoit <jerome.benoit@piment-noir.org>
Sun, 2 Mar 2025 09:35:56 +0000 (10:35 +0100)
committerJérôme Benoit <jerome.benoit@piment-noir.org>
Sun, 2 Mar 2025 09:35:56 +0000 (10:35 +0100)
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
quickadapter/user_data/freqaimodels/LightGBMRegressorQuickAdapterV35.py
quickadapter/user_data/freqaimodels/XGBoostRegressorQuickAdapterV35.py

index 84f0b6411f1c3a4c1c157bc9d114bc59fe725caa..1c4a1563775e55ddafde3fbc23f82af42f6b3faa 100644 (file)
@@ -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]
 
 
index e14bf098245ba18421deee5863ff4f6ab7b3c682..ad7c646bcc61ed8494027d5655097e2c2fb31cad 100644 (file)
@@ -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]