From c703dabcc762b03c6d2f22059bfb04d4538bbe3c Mon Sep 17 00:00:00 2001 From: bxdd Date: Thu, 13 May 2021 00:46:17 +0800 Subject: [PATCH] fix rule_strategy reset method --- qlib/contrib/backtest/executor.py | 4 ++-- qlib/contrib/strategy/rule_strategy.py | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/qlib/contrib/backtest/executor.py b/qlib/contrib/backtest/executor.py index 65d9cfaea..96be0778f 100644 --- a/qlib/contrib/backtest/executor.py +++ b/qlib/contrib/backtest/executor.py @@ -37,8 +37,8 @@ class BaseTradeCalendar: """ self.step_bar = step_bar - self.start_time = pd.Timestamp(start_time) - self.end_time = pd.Timestamp(end_time) + self.start_time = pd.Timestamp(start_time) if start_time else None + self.end_time = pd.Timestamp(end_time) if end_time else None self.reset(start_time=start_time, end_time=end_time) def _reset_trade_calendar(self, start_time, end_time): diff --git a/qlib/contrib/strategy/rule_strategy.py b/qlib/contrib/strategy/rule_strategy.py index 240a61595..3b66b0f1e 100644 --- a/qlib/contrib/strategy/rule_strategy.py +++ b/qlib/contrib/strategy/rule_strategy.py @@ -233,9 +233,9 @@ class SBBStrategyEMA(SBBStrategyBase): self.instruments = D.instruments(instruments) self.freq = freq - def _reset_trade_calendar(self, start_time=None, end_time=None): - super(SBBStrategyEMA, self)._reset_trade_calendar(start_time=start_time, end_time=end_time) - if start_time and end_time: + def reset(self, start_time=None, end_time=None, **kwargs): + super(SBBStrategyEMA, self).reset(start_time=start_time, end_time=end_time, **kwargs) + if self.start_time and self.end_time and (start_time or end_time): fields = ["EMA($close, 10)-EMA($close, 20)"] signal_start_time, _ = self._get_calendar_time(trade_index=self.trade_index, shift=1) signal_df = D.features(