From a37ec18560ad68a9789e3a825dea0201994e953b Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=A9r=C3=B4me=20Benoit?= Date: Mon, 17 Mar 2025 13:42:23 +0100 Subject: [PATCH] refactor(qav3): add versionning 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 | 4 ++-- ...ickAdapterV35.py => LightGBMRegressorQuickAdapterV3.py} | 7 ++++++- ...uickAdapterV35.py => XGBoostRegressorQuickAdapterV3.py} | 7 ++++++- quickadapter/user_data/strategies/QuickAdapterV3.py | 5 +++++ 4 files changed, 19 insertions(+), 4 deletions(-) rename quickadapter/user_data/freqaimodels/{LightGBMRegressorQuickAdapterV35.py => LightGBMRegressorQuickAdapterV3.py} (99%) rename quickadapter/user_data/freqaimodels/{XGBoostRegressorQuickAdapterV35.py => XGBoostRegressorQuickAdapterV3.py} (99%) diff --git a/quickadapter/user_data/config-template.json b/quickadapter/user_data/config-template.json index dc240ea..80e5eae 100644 --- a/quickadapter/user_data/config-template.json +++ b/quickadapter/user_data/config-template.json @@ -1,8 +1,8 @@ { "$schema": "https://schema.freqtrade.io/schema.json", "strategy": "QuickAdapterV3", - "freqaimodel": "XGBoostRegressorQuickAdapterV35", - // "freqaimodel": "LightGBMRegressorQuickAdapterV35", + "freqaimodel": "XGBoostRegressorQuickAdapterV3", + // "freqaimodel": "LightGBMRegressorQuickAdapterV3", "max_open_trades": 10, "stake_currency": "USDT", "stake_amount": "unlimited", diff --git a/quickadapter/user_data/freqaimodels/LightGBMRegressorQuickAdapterV35.py b/quickadapter/user_data/freqaimodels/LightGBMRegressorQuickAdapterV3.py similarity index 99% rename from quickadapter/user_data/freqaimodels/LightGBMRegressorQuickAdapterV35.py rename to quickadapter/user_data/freqaimodels/LightGBMRegressorQuickAdapterV3.py index 722fe60..cedca8d 100644 --- a/quickadapter/user_data/freqaimodels/LightGBMRegressorQuickAdapterV35.py +++ b/quickadapter/user_data/freqaimodels/LightGBMRegressorQuickAdapterV3.py @@ -26,7 +26,7 @@ warnings.simplefilter(action="ignore", category=FutureWarning) logger = logging.getLogger(__name__) -class LightGBMRegressorQuickAdapterV35(BaseRegressionModel): +class LightGBMRegressorQuickAdapterV3(BaseRegressionModel): """ The following freqaimodel is released to sponsors of the non-profit FreqAI open-source project. If you find the FreqAI project useful, please consider supporting it by becoming a sponsor. @@ -43,6 +43,8 @@ class LightGBMRegressorQuickAdapterV35(BaseRegressionModel): https://github.com/sponsors/robcaulk """ + version = "3.6.0" + def __init__(self, **kwargs): super().__init__(**kwargs) self.pairs = self.config.get("exchange", {}).get("pair_whitelist") @@ -69,6 +71,9 @@ class LightGBMRegressorQuickAdapterV35(BaseRegressionModel): self.__optuna_period_params[pair] = ( self.optuna_load_best_params(pair, "period") or {} ) + logger.info( + f"Initialized {self.__class__.__name__} model version {self.version}" + ) def fit(self, data_dictionary: dict, dk: FreqaiDataKitchen, **kwargs) -> Any: """ diff --git a/quickadapter/user_data/freqaimodels/XGBoostRegressorQuickAdapterV35.py b/quickadapter/user_data/freqaimodels/XGBoostRegressorQuickAdapterV3.py similarity index 99% rename from quickadapter/user_data/freqaimodels/XGBoostRegressorQuickAdapterV35.py rename to quickadapter/user_data/freqaimodels/XGBoostRegressorQuickAdapterV3.py index 46eb124..add4dfe 100644 --- a/quickadapter/user_data/freqaimodels/XGBoostRegressorQuickAdapterV35.py +++ b/quickadapter/user_data/freqaimodels/XGBoostRegressorQuickAdapterV3.py @@ -26,7 +26,7 @@ warnings.simplefilter(action="ignore", category=FutureWarning) logger = logging.getLogger(__name__) -class XGBoostRegressorQuickAdapterV35(BaseRegressionModel): +class XGBoostRegressorQuickAdapterV3(BaseRegressionModel): """ The following freqaimodel is released to sponsors of the non-profit FreqAI open-source project. If you find the FreqAI project useful, please consider supporting it by becoming a sponsor. @@ -43,6 +43,8 @@ class XGBoostRegressorQuickAdapterV35(BaseRegressionModel): https://github.com/sponsors/robcaulk """ + version = "3.6.0" + def __init__(self, **kwargs): super().__init__(**kwargs) self.pairs = self.config.get("exchange", {}).get("pair_whitelist") @@ -69,6 +71,9 @@ class XGBoostRegressorQuickAdapterV35(BaseRegressionModel): self.__optuna_period_params[pair] = ( self.optuna_load_best_params(pair, "period") or {} ) + logger.info( + f"Initialized {self.__class__.__name__} model version {self.version}" + ) def fit(self, data_dictionary: dict, dk: FreqaiDataKitchen, **kwargs) -> Any: """ diff --git a/quickadapter/user_data/strategies/QuickAdapterV3.py b/quickadapter/user_data/strategies/QuickAdapterV3.py index 1ccd888..3f24564 100644 --- a/quickadapter/user_data/strategies/QuickAdapterV3.py +++ b/quickadapter/user_data/strategies/QuickAdapterV3.py @@ -40,6 +40,11 @@ class QuickAdapterV3(IStrategy): https://github.com/sponsors/robcaulk """ + INTERFACE_VERSION = 3 + + def version(self) -> str: + return "3.1.0" + timeframe = "5m" stoploss = -0.02 -- 2.43.0