Merge pull request #685 from quantopian/data-in-before-trading-start

ENH: Make data available in before_trading_start.
This commit is contained in:
Scott Sanderson
2015-08-25 10:49:59 -04:00
4 changed files with 8 additions and 4 deletions
+4
View File
@@ -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,
+1 -1
View File
@@ -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)
+2 -2
View File
@@ -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
+1 -1
View File
@@ -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: