]> Piment Noir Git Repositories - freqai-strategies.git/commitdiff
fix: align ensure_datetime_series with freqtrade data handler pattern
authorJérôme Benoit <jerome.benoit@piment-noir.org>
Fri, 1 May 2026 10:32:33 +0000 (12:32 +0200)
committerJérôme Benoit <jerome.benoit@piment-noir.org>
Fri, 1 May 2026 10:32:33 +0000 (12:32 +0200)
Chain .dt.as_unit("ms") to guarantee datetime64[ms, UTC] output
resolution regardless of pandas version, matching the contract
established in freqtrade commit 2c5dc72.

Ref: freqtrade/freqtrade#13107

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

index d47f7555ac8b5a921cf87081ab34617ecaf62f99..38b016ad772dd1544a58ef76b8bcf3d6e561b00a 100644 (file)
@@ -20,9 +20,10 @@ ACTION_COLUMN: Final = "&-action"
 
 
 def _ensure_datetime_series(series: pd.Series) -> pd.Series:
+    """Ensure a date series is datetime64[ms, UTC], following freqtrade's data handler pattern."""
     if pd.api.types.is_integer_dtype(series):
-        return pd.to_datetime(series, unit="ms", utc=True)
-    return pd.to_datetime(series, utc=True)
+        return pd.to_datetime(series, unit="ms", utc=True).dt.as_unit("ms")
+    return series.dt.as_unit("ms")
 
 
 class RLAgentStrategy(IStrategy):
index 54870ed79b9c4ddbb0a21a3e51412f06d90e816e..9ade5af992366416a8f0a102462dd194193d8e10 100644 (file)
@@ -645,9 +645,10 @@ def get_label_prediction_config(
 
 
 def ensure_datetime_series(series: pd.Series) -> pd.Series:
+    """Ensure a date series is datetime64[ms, UTC], following freqtrade's data handler pattern."""
     if pd.api.types.is_integer_dtype(series):
-        return pd.to_datetime(series, unit="ms", utc=True)
-    return pd.to_datetime(series, utc=True)
+        return pd.to_datetime(series, unit="ms", utc=True).dt.as_unit("ms")
+    return series.dt.as_unit("ms")
 
 
 def get_distance(p1: T, p2: T) -> T: