]> Piment Noir Git Repositories - freqai-strategies.git/commitdiff
refactor: scipy weibull -> genextrem
authorJérôme Benoit <jerome.benoit@piment-noir.org>
Tue, 28 Jan 2025 10:33:47 +0000 (11:33 +0100)
committerJérôme Benoit <jerome.benoit@piment-noir.org>
Tue, 28 Jan 2025 10:33:47 +0000 (11:33 +0100)
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
quickadapter/user_data/config-template.json
quickadapter/user_data/freqaimodels/LightGBMRegressorQuickAdapterV35.py
quickadapter/user_data/freqaimodels/XGBoostRegressorQuickAdapterV3.py
quickadapter/user_data/freqaimodels/XGBoostRegressorQuickAdapterV35.py

index 4c3db3ede3b6dcdd2034c50ffd6db1ab33fddc6a..ffcb9af05c127b67519697a2ab591158c2a8707e 100644 (file)
         //     "PEPE/USDT",
         //     "BONK/USDT"
         // ],
-        "pair_blacklist": [
-            // Exchange
-            "(1000.*).*/.*",
-            // Leverage
-            ".*(_PREMIUM|BEAR|BULL|HALF|HEDGE|UP|DOWN|[1235][SL])/.*",
-            // Fiat
-            "(ARS|AUD|BIDR|BRZ|BRL|CAD|CHF|EUR|GBP|HKD|IDRT|JPY|NGN|PLN|RON|RUB|SGD|TRY|UAH|USD|ZAR)/.*",
-            // Stable
-            "(AEUR|FDUSD|BUSD|CUSD|CUSDT|DAI|PAXG|SUSD|TUSD|USDC|USDN|USDP|USDT|VAI|UST|USTC|AUSD)/.*",
-            // FAN
-            "(ACM|AFA|ALA|ALL|ALPINE|APL|ASR|ATM|BAR|CAI|CHZ|CITY|FOR|GAL|GOZ|IBFK|JUV|LEG|LOCK-1|NAVI|NMR|NOV|PFL|PSG|ROUSH|STV|TH|TRA|UCH|UFC|YBO)/.*",
-            // Others
-            "(1EARTH|ILA|BOBA|CWAR|OMG|DMTR|MLS|TORN|LUNA|BTS|QKC|ACA|FTT|SRM|YFII|SNM|ANC|AION|MIR|WABI|QLC|NEBL|AUTO|VGX|DREP|PNT|PERL|LOOM|ID|NULS|TOMO|WTC|1000SATS|ORDI|XMR|ANT|MULTI|VAI|DREP|MOB|PNT|BTCDOM|WAVES|WNXM|XEM|ZEC|ELF|ARK|MDX|BETA|KP3R|AKRO|AMB|BOND|FIRO|OAX|EPX|OOKI|ONDO|MAGA|MAGAETH|TREMP|BODEN|STRUMP|TOOKER|TMANIA|BOBBY|BABYTRUMP|PTTRUMP|DTI|TRUMPIE|MAGAPEPE|PEPEMAGA|HARD|MBL|GAL|DOCK|POLS|CTXC|JASMY|BAL|SNT|CREAM|REN|LINA|REEF|UNFI|IRIS|CVP|GFT|KEY|WRX|BLZ|DAR|TROY|STMX|FTM|URO|FRED)/.*"
-        ]
     },
     "pairlists": [
         {
         "fit_live_predictions_candles": 300,
         "track_performance": false,
         "data_kitchen_thread_count": 6, // set to number of CPU threads / 4
-        "weibull_outlier_threshold": 0.999,
+        "outlier_threshold": 0.999,
         "optuna_hyperopt": true,
         "optuna_hyperopt_trials": 36,
         "optuna_hyperopt_timeout": 3600,
index ac4ecfea8f5f7ec709e1a7ebd618d0ddb1d988d5..2d986244e3f970e3c84149a11dada6d10a6789fc 100644 (file)
@@ -193,9 +193,9 @@ class LightGBMRegressorQuickAdapterV35(BaseRegressionModel):
         else:
             di_values = pd.to_numeric(pred_df_full["DI_values"], errors="coerce")
             di_values = di_values.dropna()
-            f = spy.stats.weibull_min.fit(di_values)
-            cutoff = spy.stats.weibull_min.ppf(
-                self.freqai_info.get("weibull_outlier_threshold", 0.999), *f
+            f = spy.stats.genextreme.fit(di_values)
+            cutoff = spy.stats.genextreme.ppf(
+                self.freqai_info.get("outlier_threshold"), *f
             )
 
         dk.data["DI_value_mean"] = pred_df_full["DI_values"].mean()
index 99d8873c7ad19e76f9c5dbda061ad55a22535eb0..17a0821c38eb4e427ded77a4554fab50c9996c2a 100644 (file)
@@ -128,9 +128,9 @@ class XGBoostRegressorQuickAdapterV3(BaseRegressionModel):
         else:
             di_values = pd.to_numeric(pred_df_full["DI_values"], errors="coerce")
             di_values = di_values.dropna()
-            f = spy.stats.weibull_min.fit(di_values)
-            cutoff = spy.stats.weibull_min.ppf(
-                self.freqai_info.get("weibull_outlier_threshold", 0.999), *f
+            f = spy.stats.genextreme.fit(di_values)
+            cutoff = spy.stats.genextreme.ppf(
+                self.freqai_info.get("outlier_threshold"), *f
             )
 
         dk.data["DI_value_mean"] = pred_df_full["DI_values"].mean()
index 3128ab371113a78618a7e77016bbb7d85f94498b..e2fa4453945fa0c50622854f2b3f8369f1b64230 100644 (file)
@@ -190,9 +190,9 @@ class XGBoostRegressorQuickAdapterV35(BaseRegressionModel):
         else:
             di_values = pd.to_numeric(pred_df_full["DI_values"], errors="coerce")
             di_values = di_values.dropna()
-            f = spy.stats.weibull_min.fit(di_values)
-            cutoff = spy.stats.weibull_min.ppf(
-                self.freqai_info.get("weibull_outlier_threshold", 0.999), *f
+            f = spy.stats.genextreme.fit(di_values)
+            cutoff = spy.stats.genextreme.ppf(
+                self.freqai_info.get("outlier_threshold"), *f
             )
 
         dk.data["DI_value_mean"] = pred_df_full["DI_values"].mean()