mirror of
https://github.com/wassname/catalyst.git
synced 2026-08-07 11:20:19 +08:00
ENH: Add a class-level instance method on TradingEnvironment.
Adds a classmethod, `instance` on `TradingEnvironment` that returns `zipline.finance.trading.environment`, instantiating it if necessary. This makes it possible to initialize the default environment instance in a less-roundabout way than creating a `SimulationParameters` object.
This commit is contained in:
committed by
Eddie Hebert
parent
5392506d6d
commit
7daf58ec9b
@@ -75,6 +75,14 @@ class NoFurtherDataError(Exception):
|
||||
|
||||
class TradingEnvironment(object):
|
||||
|
||||
@classmethod
|
||||
def instance(cls):
|
||||
global environment
|
||||
if not environment:
|
||||
environment = TradingEnvironment()
|
||||
|
||||
return environment
|
||||
|
||||
def __init__(
|
||||
self,
|
||||
load=None,
|
||||
@@ -227,10 +235,9 @@ class SimulationParameters(object):
|
||||
emission_rate='daily',
|
||||
data_frequency='daily',
|
||||
sids=None):
|
||||
global environment
|
||||
if not environment:
|
||||
# This is the global environment for trading simulation.
|
||||
environment = TradingEnvironment()
|
||||
|
||||
# This is the global environment for trading simulation.
|
||||
environment = TradingEnvironment.instance()
|
||||
|
||||
self.period_start = period_start
|
||||
self.period_end = period_end
|
||||
|
||||
Reference in New Issue
Block a user