MAINT: Removes the ability to reference a global TradingEnvironment

This commit removes the ability to reference a shared TradingEnvironment through the zipline.finance.trading module. In place, the classes that require a TradingEnvironment, or its child AssetFinder, contain their own references to those objects.

This commit also adds serialization utilities that allow for the pickling/unpickling of objects without unintentionally their TradingEnvironments or AssetFinders.
This commit is contained in:
jfkirk
2015-09-10 11:53:28 -04:00
parent 661314ce49
commit dc964a7e7d
45 changed files with 1484 additions and 1173 deletions
+4 -1
View File
@@ -103,6 +103,7 @@ def with_algo(f):
initialize=initialize_with(self, tfm_name, days),
handle_data=handle_data_wrapper(f),
sim_params=sim_params,
env=self.env,
)
algo.run(source)
@@ -127,17 +128,19 @@ class TransformTestCase(TestCase):
data_frequency='daily',
emission_rate='daily',
)
cls.env = TradingEnvironment.instance()
cls.env = TradingEnvironment()
cls.env.write_data(equities_identifiers=[1, 2, 3])
cls.sim_and_source = {
'minute': (minute_sim_ps, factory.create_minutely_trade_source(
cls.sids,
sim_params=minute_sim_ps,
env=cls.env,
)),
'daily': (daily_sim_ps, factory.create_trade_source(
cls.sids,
trade_time_increment=timedelta(days=1),
sim_params=daily_sim_ps,
env=cls.env,
)),
}