mirror of
https://github.com/wassname/catalyst.git
synced 2026-06-30 19:58:17 +08:00
Merge pull request #685 from quantopian/data-in-before-trading-start
ENH: Make data available in before_trading_start.
This commit is contained in:
@@ -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,
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user