diff --git a/tests/modelling/test_modelling_algo.py b/tests/modelling/test_modelling_algo.py index 4932d161..b7fce006 100644 --- a/tests/modelling/test_modelling_algo.py +++ b/tests/modelling/test_modelling_algo.py @@ -197,9 +197,13 @@ class FFCAlgorithmTestCase(TestCase): # unfortunate. assert_almost_equal(computed, expected, decimal=2) + # Do the same checks in before_trading_start + before_trading_start = handle_data + algo = TradingAlgorithm( initialize=initialize, handle_data=handle_data, + before_trading_start=before_trading_start, data_frequency='daily', ffc_loader=self.ffc_loader, asset_finder=self.asset_finder, diff --git a/tests/test_tradesimulation.py b/tests/test_tradesimulation.py index fe26112f..bb5d1626 100644 --- a/tests/test_tradesimulation.py +++ b/tests/test_tradesimulation.py @@ -27,7 +27,7 @@ class BeforeTradingAlgorithm(TradingAlgorithm): self.before_trading_at = [] super(BeforeTradingAlgorithm, self).__init__(*args, **kwargs) - def before_trading_start(self): + def before_trading_start(self, data): self.before_trading_at.append(self.datetime) diff --git a/zipline/algorithm.py b/zipline/algorithm.py index d95dfff2..11dc7147 100644 --- a/zipline/algorithm.py +++ b/zipline/algorithm.py @@ -322,11 +322,11 @@ class TradingAlgorithm(object): with ZiplineAPI(self): self._initialize(self) - def before_trading_start(self): + def before_trading_start(self, data): if self._before_trading_start is None: return - self._before_trading_start(self) + self._before_trading_start(self, data) def handle_data(self, data): self._most_recent_data = data diff --git a/zipline/gens/tradesimulation.py b/zipline/gens/tradesimulation.py index 557a979c..15ff4411 100644 --- a/zipline/gens/tradesimulation.py +++ b/zipline/gens/tradesimulation.py @@ -334,7 +334,7 @@ class AlgorithmSimulator(object): dt = normalize_date(dt) self.simulation_dt = dt self.on_dt_changed(dt) - self.algo.before_trading_start() + self.algo.before_trading_start(self.current_data) def on_dt_changed(self, dt): if self.algo.datetime != dt: