From 449f195401d3cd1564063b91ccbca5a4476c6f32 Mon Sep 17 00:00:00 2001 From: s0wa48 Date: Wed, 4 Mar 2026 15:06:31 +0100 Subject: [PATCH] fix: change float32 to float64 in Sign operator to prevent precision loss --- qlib/data/ops.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/qlib/data/ops.py b/qlib/data/ops.py index d9a2ffbb3e3..11068815de2 100644 --- a/qlib/data/ops.py +++ b/qlib/data/ops.py @@ -156,11 +156,11 @@ def __init__(self, feature): def _load_internal(self, instrument, start_index, end_index, *args): """ - To avoid error raised by bool type input, we transform the data into float32. + To avoid error raised by bool type input, we transform the data into float64. """ series = self.feature.load(instrument, start_index, end_index, *args) # TODO: More precision types should be configurable - series = series.astype(np.float32) + series = series.astype(np.float64) return getattr(np, self.func)(series)