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:
Scott Sanderson
2014-06-05 12:02:53 -04:00
committed by Eddie Hebert
parent 5392506d6d
commit 7daf58ec9b
+11 -4
View File
@@ -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