]> Piment Noir Git Repositories - freqai-strategies.git/commitdiff
refactor(qav3): add versionning
authorJérôme Benoit <jerome.benoit@piment-noir.org>
Mon, 17 Mar 2025 12:42:23 +0000 (13:42 +0100)
committerJérôme Benoit <jerome.benoit@piment-noir.org>
Mon, 17 Mar 2025 12:42:23 +0000 (13:42 +0100)
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
quickadapter/user_data/config-template.json
quickadapter/user_data/freqaimodels/LightGBMRegressorQuickAdapterV3.py [moved from quickadapter/user_data/freqaimodels/LightGBMRegressorQuickAdapterV35.py with 99% similarity]
quickadapter/user_data/freqaimodels/XGBoostRegressorQuickAdapterV3.py [moved from quickadapter/user_data/freqaimodels/XGBoostRegressorQuickAdapterV35.py with 99% similarity]
quickadapter/user_data/strategies/QuickAdapterV3.py

index dc240eac817677af0ac5675aa09620dad5835db8..80e5eae93f79bd32fe63da8c1e02c3394dff351f 100644 (file)
@@ -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",
similarity index 99%
rename from quickadapter/user_data/freqaimodels/LightGBMRegressorQuickAdapterV35.py
rename to quickadapter/user_data/freqaimodels/LightGBMRegressorQuickAdapterV3.py
index 722fe603878b96e1dec637812cefb20d1ddd5392..cedca8d076305aa83cd33c73dc8182a4589928af 100644 (file)
@@ -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:
         """
similarity index 99%
rename from quickadapter/user_data/freqaimodels/XGBoostRegressorQuickAdapterV35.py
rename to quickadapter/user_data/freqaimodels/XGBoostRegressorQuickAdapterV3.py
index 46eb124fb97292b8835d680d3c97045a1cca5bc0..add4dfecb9d22eca7e2cf8e861292e31f422ded2 100644 (file)
@@ -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:
         """
index 1ccd8882efbe990283a1f22fa1250a7c3a89401d..3f24564c3b7489f2ed568c35c0d8f17444443c61 100644 (file)
@@ -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