mirror of
https://github.com/wassname/catalyst.git
synced 2026-07-01 03:40:51 +08:00
MAINT: Encapsulate engine initialization.
Required for internal override.
This commit is contained in:
+16
-10
@@ -211,16 +211,7 @@ class TradingAlgorithm(object):
|
||||
)
|
||||
# Pull in the environment's new AssetFinder for quick reference
|
||||
self.asset_finder = self.trading_environment.asset_finder
|
||||
|
||||
ffc_loader = kwargs.pop('ffc_loader', None)
|
||||
if ffc_loader is not None:
|
||||
self.engine = SimpleFFCEngine(
|
||||
ffc_loader,
|
||||
self.trading_environment.trading_days,
|
||||
self.asset_finder,
|
||||
)
|
||||
else:
|
||||
self.engine = NoOpFFCEngine()
|
||||
self.init_engine(kwargs.pop('ffc_loader', None))
|
||||
|
||||
# Maps from name to Term
|
||||
self._filters = {}
|
||||
@@ -308,6 +299,21 @@ class TradingAlgorithm(object):
|
||||
self.initialize_args = args
|
||||
self.initialize_kwargs = kwargs
|
||||
|
||||
def init_engine(self, loader):
|
||||
"""
|
||||
Construct and save an FFCEngine from loader.
|
||||
|
||||
If loader is None, constructs a NoOpFFCEngine.
|
||||
"""
|
||||
if loader is not None:
|
||||
self.engine = SimpleFFCEngine(
|
||||
loader,
|
||||
self.trading_environment.trading_days,
|
||||
self.asset_finder,
|
||||
)
|
||||
else:
|
||||
self.engine = NoOpFFCEngine()
|
||||
|
||||
def initialize(self, *args, **kwargs):
|
||||
"""
|
||||
Call self._initialize with `self` made available to Zipline API
|
||||
|
||||
Reference in New Issue
Block a user