From 18bb2e83fb039ea7a8997fd659747ddd6d8ba6c5 Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=A9r=C3=B4me=20Benoit?= Date: Tue, 28 Jan 2025 11:33:47 +0100 Subject: [PATCH] refactor: scipy weibull -> genextrem MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Jérôme Benoit --- quickadapter/user_data/config-template.json | 16 +--------------- .../LightGBMRegressorQuickAdapterV35.py | 6 +++--- .../XGBoostRegressorQuickAdapterV3.py | 6 +++--- .../XGBoostRegressorQuickAdapterV35.py | 6 +++--- 4 files changed, 10 insertions(+), 24 deletions(-) diff --git a/quickadapter/user_data/config-template.json b/quickadapter/user_data/config-template.json index 4c3db3e..ffcb9af 100644 --- a/quickadapter/user_data/config-template.json +++ b/quickadapter/user_data/config-template.json @@ -77,20 +77,6 @@ // "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": [ { @@ -128,7 +114,7 @@ "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, diff --git a/quickadapter/user_data/freqaimodels/LightGBMRegressorQuickAdapterV35.py b/quickadapter/user_data/freqaimodels/LightGBMRegressorQuickAdapterV35.py index ac4ecfe..2d98624 100644 --- a/quickadapter/user_data/freqaimodels/LightGBMRegressorQuickAdapterV35.py +++ b/quickadapter/user_data/freqaimodels/LightGBMRegressorQuickAdapterV35.py @@ -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() diff --git a/quickadapter/user_data/freqaimodels/XGBoostRegressorQuickAdapterV3.py b/quickadapter/user_data/freqaimodels/XGBoostRegressorQuickAdapterV3.py index 99d8873..17a0821 100644 --- a/quickadapter/user_data/freqaimodels/XGBoostRegressorQuickAdapterV3.py +++ b/quickadapter/user_data/freqaimodels/XGBoostRegressorQuickAdapterV3.py @@ -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() diff --git a/quickadapter/user_data/freqaimodels/XGBoostRegressorQuickAdapterV35.py b/quickadapter/user_data/freqaimodels/XGBoostRegressorQuickAdapterV35.py index 3128ab3..e2fa445 100644 --- a/quickadapter/user_data/freqaimodels/XGBoostRegressorQuickAdapterV35.py +++ b/quickadapter/user_data/freqaimodels/XGBoostRegressorQuickAdapterV35.py @@ -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() -- 2.43.0