diff --git a/zipline/transforms/utils.py b/zipline/transforms/utils.py index c8a431e1..59f40cb8 100644 --- a/zipline/transforms/utils.py +++ b/zipline/transforms/utils.py @@ -463,11 +463,17 @@ class BatchTransform(object): ################################################# # Determine whether we should call the transform + # 0. Support historical/legacy usage of '0' signaling, + # 'update on every bar' + if self.refresh_period == 0: + period_signals_update = True + else: # 1. Is the refresh period over? - period_over = self.trading_days_total % self.refresh_period == 0 + period_signals_update = ( + self.trading_days_total % self.refresh_period == 0) # 2. Have the args or kwargs been changed since last time? args_updated = args != self.last_args or kwargs != self.last_kwargs - recalculate_needed = args_updated or (period_over and + recalculate_needed = args_updated or (period_signals_update and self.updated) if recalculate_needed: