]> Piment Noir Git Repositories - freqai-strategies.git/commitdiff
refactor(quickadapter)!: rename mislabeled log-return feature columns (#153)
authorJérôme Benoit <jerome.benoit@piment-noir.org>
Sun, 26 Jul 2026 21:49:09 +0000 (23:49 +0200)
committerGitHub <noreply@github.com>
Sun, 26 Jul 2026 21:49:09 +0000 (23:49 +0200)
Rename FreqAI feature columns for name/computation coherence.

Mislabeled log returns:
- %-tcp-period       -> %-top_log_return-period
- %-bcp-period       -> %-bottom_log_return-period
- %-close_pct_change -> %-close_log_return (QuickAdapterV3 and ReforceXY RLAgentStrategy)

Namespace harmonization with the %-dist_to_<x> convention:
- %-distzlema50 -> %-dist_to_zlema_50
- %-distzlema12 -> %-dist_to_zlema_12
- %-distzlema26 -> %-dist_to_zlema_26

BREAKING CHANGE: FreqAI feature column names changed; existing trained models
must be retrained since the feature identifiers differ.

ReforceXY/user_data/strategies/RLAgentStrategy.py
quickadapter/user_data/strategies/QuickAdapterV3.py

index aa2efa9f5f8f07d3aae3368b2502ba2693e48b76..e3eb1c77f6d64a0595dd7d13edb9f57e459ae457 100644 (file)
@@ -73,8 +73,7 @@ class RLAgentStrategy(IStrategy):
     def feature_engineering_expand_basic(
         self, dataframe: DataFrame, metadata: dict[str, Any], **kwargs
     ) -> DataFrame:
-        # TODO [BREAKING]: Rename %-close_pct_change -> %-close_log_return
-        dataframe["%-close_pct_change"] = np.log(dataframe.get("close")).diff()
+        dataframe["%-close_log_return"] = np.log(dataframe.get("close")).diff()
         dataframe["%-raw_volume"] = dataframe.get("volume")
 
         return dataframe
index 2b5629f36ff2211a65b02e7d5e061d59eeed9e7e..d68f2cbe86fbb37baa369035ed9593c01507fc59 100644 (file)
@@ -698,12 +698,10 @@ class QuickAdapterV3(IStrategy):
             volumes,
             length=period,
         )
-        # TODO [BREAKING]: Rename %-tcp-period -> %-top_log_return-period
-        dataframe["%-tcp-period"] = top_log_return(
+        dataframe["%-top_log_return-period"] = top_log_return(
             dataframe, period=period, logger=logger
         )
-        # TODO [BREAKING]: Rename %-bcp-period -> %-bottom_log_return-period
-        dataframe["%-bcp-period"] = bottom_log_return(
+        dataframe["%-bottom_log_return-period"] = bottom_log_return(
             dataframe, period=period, logger=logger
         )
         dataframe["%-prp-period"] = price_retracement_percent(
@@ -732,7 +730,6 @@ class QuickAdapterV3(IStrategy):
         closes = dataframe.get("close")
         volumes = dataframe.get("volume")
 
-        # TODO [BREAKING]: Rename %-close_pct_change -> %-close_log_return
         close_values = closes.to_numpy(dtype=float)
         invalid_close_count = int(
             np.count_nonzero(~np.isfinite(close_values) | (close_values <= 0.0))
@@ -743,7 +740,7 @@ class QuickAdapterV3(IStrategy):
                 invalid_close_count,
             )
         with np.errstate(divide="ignore", invalid="ignore"):
-            dataframe["%-close_pct_change"] = Series(
+            dataframe["%-close_log_return"] = Series(
                 np.where(
                     np.isfinite(close_values) & (close_values > 0.0),
                     np.log(close_values),
@@ -815,9 +812,9 @@ class QuickAdapterV3(IStrategy):
         dataframe["zlema_50"] = zlema(closes, period=50)
         dataframe["zlema_12"] = zlema(closes, period=12)
         dataframe["zlema_26"] = zlema(closes, period=26)
-        dataframe["%-distzlema50"] = get_distance(closes, dataframe["zlema_50"])
-        dataframe["%-distzlema12"] = get_distance(closes, dataframe["zlema_12"])
-        dataframe["%-distzlema26"] = get_distance(closes, dataframe["zlema_26"])
+        dataframe["%-dist_to_zlema_50"] = get_distance(closes, dataframe["zlema_50"])
+        dataframe["%-dist_to_zlema_12"] = get_distance(closes, dataframe["zlema_12"])
+        dataframe["%-dist_to_zlema_26"] = get_distance(closes, dataframe["zlema_26"])
         macd = ta.MACD(dataframe)
         dataframe["%-macd"] = macd["macd"]
         dataframe["%-macdsignal"] = macd["macdsignal"]