diff --git a/requirements.txt b/requirements.txt index f932e1074..888d4581c 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,5 +1,5 @@ requests -numpy +numpy < 2.0.0 pandas >=0.18.1 python-dateutil >=2.5.3 six >=1.10.0 diff --git a/rqalpha/mod/rqalpha_mod_sys_accounts/position_model.py b/rqalpha/mod/rqalpha_mod_sys_accounts/position_model.py index ddd69c16a..630039280 100644 --- a/rqalpha/mod/rqalpha_mod_sys_accounts/position_model.py +++ b/rqalpha/mod/rqalpha_mod_sys_accounts/position_model.py @@ -210,8 +210,8 @@ def _handle_split(self, trading_date, data_proxy): self._last_price /= ratio ratio = Decimal(ratio) # int(6000 * 1.15) -> 6899 - self._old_quantity = self._quantity = int(Decimal(self._quantity) * ratio) - self._logical_old_quantity = int(Decimal(self._logical_old_quantity) * ratio) + self._old_quantity = self._quantity = round(Decimal(self._quantity) * ratio) + self._logical_old_quantity = round(Decimal(self._logical_old_quantity) * ratio) class FuturePosition(Position): diff --git a/setup.py b/setup.py index 8542a6a32..10c9debcf 100644 --- a/setup.py +++ b/setup.py @@ -17,7 +17,7 @@ requirements = [ 'requests', - 'numpy', + 'numpy < 2.0.0', 'pandas >=1.0.5', 'python-dateutil', 'six', diff --git a/tests/outs/test_f_mean_reverting.pkl b/tests/outs/test_f_mean_reverting.pkl index d51df58e0..5c6e356b5 100644 Binary files a/tests/outs/test_f_mean_reverting.pkl and b/tests/outs/test_f_mean_reverting.pkl differ diff --git a/tests/outs/test_f_tick_size.pkl b/tests/outs/test_f_tick_size.pkl index c45cb60eb..e379872e6 100644 Binary files a/tests/outs/test_f_tick_size.pkl and b/tests/outs/test_f_tick_size.pkl differ