]> Piment Noir Git Repositories - freqai-strategies.git/commitdiff
perf: revert to weibull_min
authorJérôme Benoit <jerome.benoit@piment-noir.org>
Thu, 30 Jan 2025 20:05:36 +0000 (21:05 +0100)
committerJérôme Benoit <jerome.benoit@piment-noir.org>
Thu, 30 Jan 2025 20:05:36 +0000 (21:05 +0100)
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
quickadapter/user_data/freqaimodels/LightGBMRegressorQuickAdapterV35.py
quickadapter/user_data/freqaimodels/XGBoostRegressorQuickAdapterV3.py
quickadapter/user_data/freqaimodels/XGBoostRegressorQuickAdapterV35.py

index 7721f7232cf35c34a49dd8cb008b150c638ff8e6..111ad93a46006ceef597fe23f119345032c53325 100644 (file)
@@ -181,8 +181,8 @@ class LightGBMRegressorQuickAdapterV35(BaseRegressionModel):
         else:
             di_values = pd.to_numeric(pred_df_full["DI_values"], errors="coerce")
             di_values = di_values.dropna()
-            f = spy.stats.genextreme.fit(di_values)
-            cutoff = spy.stats.genextreme.ppf(
+            f = spy.stats.weibull_min.fit(di_values)
+            cutoff = spy.stats.weibull_min.ppf(
                 self.freqai_info.get("outlier_threshold", 0.999), *f
             )
 
@@ -209,13 +209,19 @@ class LightGBMRegressorQuickAdapterV35(BaseRegressionModel):
         return eval_set, eval_weights
 
 
-def objective(trial, X, y, train_weights, X_test, y_test, test_weights, candles_step, params):
-    train_window = trial.suggest_int("train_period_candles", 1152, 17280, step=candles_step)
+def objective(
+    trial, X, y, train_weights, X_test, y_test, test_weights, candles_step, params
+):
+    train_window = trial.suggest_int(
+        "train_period_candles", 1152, 17280, step=candles_step
+    )
     X = X.tail(train_window)
     y = y.tail(train_window)
     train_weights = train_weights[-train_window:]
 
-    test_window = trial.suggest_int("test_period_candles", 1152, 17280, step=candles_step)
+    test_window = trial.suggest_int(
+        "test_period_candles", 1152, 17280, step=candles_step
+    )
     X_test = X_test.tail(test_window)
     y_test = y_test.tail(test_window)
     test_weights = test_weights[-test_window:]
index 8538e3be5c60dbda67dcce292d16bf6252cd8e24..e2a0aa20c0dc427a2f92b40107d3474bbdccccf6 100644 (file)
@@ -127,8 +127,8 @@ class XGBoostRegressorQuickAdapterV3(BaseRegressionModel):
         else:
             di_values = pd.to_numeric(pred_df_full["DI_values"], errors="coerce")
             di_values = di_values.dropna()
-            f = spy.stats.genextreme.fit(di_values)
-            cutoff = spy.stats.genextreme.ppf(
+            f = spy.stats.weibull_min.fit(di_values)
+            cutoff = spy.stats.weibull_min.ppf(
                 self.freqai_info.get("outlier_threshold", 0.999), *f
             )
 
index 084e5ee7a4453c417fa873a26de2314936ea794f..5908892fd03760b9456118d7915184a5d9d04b57 100644 (file)
@@ -178,8 +178,8 @@ class XGBoostRegressorQuickAdapterV35(BaseRegressionModel):
         else:
             di_values = pd.to_numeric(pred_df_full["DI_values"], errors="coerce")
             di_values = di_values.dropna()
-            f = spy.stats.genextreme.fit(di_values)
-            cutoff = spy.stats.genextreme.ppf(
+            f = spy.stats.weibull_min.fit(di_values)
+            cutoff = spy.stats.weibull_min.ppf(
                 self.freqai_info.get("outlier_threshold", 0.999), *f
             )
 
@@ -206,13 +206,19 @@ class XGBoostRegressorQuickAdapterV35(BaseRegressionModel):
         return eval_set, eval_weights
 
 
-def objective(trial, X, y, train_weights, X_test, y_test, test_weights, candles_step, params):
-    train_window = trial.suggest_int("train_period_candles", 1152, 17280, step=candles_step)
+def objective(
+    trial, X, y, train_weights, X_test, y_test, test_weights, candles_step, params
+):
+    train_window = trial.suggest_int(
+        "train_period_candles", 1152, 17280, step=candles_step
+    )
     X = X.tail(train_window)
     y = y.tail(train_window)
     train_weights = train_weights[-train_window:]
 
-    test_window = trial.suggest_int("test_period_candles", 1152, 17280, step=candles_step)
+    test_window = trial.suggest_int(
+        "test_period_candles", 1152, 17280, step=candles_step
+    )
     X_test = X_test.tail(test_window)
     y_test = y_test.tail(test_window)
     test_weights = test_weights[-test_window:]