From 2a8f69fc01fab3f58f3a5d1f0b77dcc58a36b27f Mon Sep 17 00:00:00 2001 From: jfkirk Date: Tue, 31 May 2016 15:19:26 -0400 Subject: [PATCH] MAINT: DataPortal env -> asset_finder --- tests/data/test_minute_bars.py | 3 +-- tests/finance/test_slippage.py | 4 ++-- tests/test_algorithm.py | 18 +++++++-------- tests/test_benchmark.py | 2 +- tests/test_data_portal.py | 3 ++- tests/test_finance.py | 4 ++-- tests/test_perf_tracking.py | 40 +++++++++++++++++----------------- tests/test_security_list.py | 8 +++---- zipline/_protocol.pyx | 2 +- zipline/algorithm.py | 4 ++-- zipline/data/data_portal.py | 7 +++--- zipline/testing/core.py | 23 +++++++++---------- zipline/testing/fixtures.py | 2 +- zipline/utils/run_algo.py | 2 +- zipline/utils/simfactory.py | 2 +- 15 files changed, 62 insertions(+), 62 deletions(-) diff --git a/tests/data/test_minute_bars.py b/tests/data/test_minute_bars.py index 43742019..d0abcbde 100644 --- a/tests/data/test_minute_bars.py +++ b/tests/data/test_minute_bars.py @@ -42,7 +42,6 @@ from zipline.data.minute_bars import ( US_EQUITIES_MINUTES_PER_DAY, BcolzMinuteWriterColumnMismatch ) -from zipline.utils.calendars import get_calendar from zipline.testing.fixtures import ( WithInstanceTmpDir, @@ -63,7 +62,7 @@ class BcolzMinuteBarTestCase(WithTradingSchedule, WithInstanceTmpDir, @classmethod def init_class_fixtures(cls): super(BcolzMinuteBarTestCase, cls).init_class_fixtures() - trading_days = get_calendar('NYSE').trading_days( + trading_days = cls.trading_schedule.trading_sessions( TEST_CALENDAR_START, TEST_CALENDAR_STOP ) cls.market_opens = trading_days.market_open diff --git a/tests/finance/test_slippage.py b/tests/finance/test_slippage.py index 7eebc418..24e4a30d 100644 --- a/tests/finance/test_slippage.py +++ b/tests/finance/test_slippage.py @@ -94,7 +94,7 @@ class SlippageTestCase(WithSimParams, WithDataPortal, ZiplineTestCase): with tmp_bcolz_minute_bar_reader(self.trading_schedule, days, assets) \ as reader: data_portal = DataPortal( - self.env, self.trading_schedule, + self.env.asset_finder, self.trading_schedule, first_trading_day=reader.first_trading_day, equity_minute_reader=reader, ) @@ -484,7 +484,7 @@ class SlippageTestCase(WithSimParams, WithDataPortal, ZiplineTestCase): with tmp_bcolz_minute_bar_reader(self.trading_schedule, days, assets) \ as reader: data_portal = DataPortal( - self.env, self.trading_schedule, + self.env.asset_finder, self.trading_schedule, first_trading_day=reader.first_trading_day, equity_minute_reader=reader, ) diff --git a/tests/test_algorithm.py b/tests/test_algorithm.py index 99bb0604..a63830a4 100644 --- a/tests/test_algorithm.py +++ b/tests/test_algorithm.py @@ -957,7 +957,7 @@ def before_trading_start(context, data): ) data_portal = create_data_portal( - env, + env.asset_finder, tempdir, sim_params, equities.index, @@ -1556,8 +1556,8 @@ def handle_data(context, data): trades = factory.create_daily_trade_source( [0], self.sim_params, self.env, self.trading_schedule) data_portal = create_data_portal_from_trade_history( - self.env, self.trading_schedule, tempdir, self.sim_params, - {0: trades}) + self.env.asset_finder, self.trading_schedule, tempdir, + self.sim_params, {0: trades}) results = test_algo.run(data_portal) all_txns = [ @@ -2727,7 +2727,7 @@ class TestTradingControls(WithSimParams, WithDataPortal, ZiplineTestCase): ) data_portal = create_data_portal( - env, + env.asset_finder, tempdir, sim_params, [1], @@ -2849,7 +2849,7 @@ class TestTradingControls(WithSimParams, WithDataPortal, ZiplineTestCase): env=env, ) data_portal = create_data_portal( - env, + env.asset_finder, tempdir, self.sim_params, [0], @@ -2864,7 +2864,7 @@ class TestTradingControls(WithSimParams, WithDataPortal, ZiplineTestCase): with TempDirectory() as tempdir, \ tmp_trading_env(equities=metadata) as env: data_portal = create_data_portal( - env, + env.asset_finder, tempdir, self.sim_params, [0], @@ -2884,7 +2884,7 @@ class TestTradingControls(WithSimParams, WithDataPortal, ZiplineTestCase): with TempDirectory() as tempdir, \ tmp_trading_env(equities=metadata) as env: data_portal = create_data_portal( - env, + env.asset_finder, tempdir, self.sim_params, [0], @@ -3454,7 +3454,7 @@ class TestEquityAutoClose(WithTmpDir, WithTradingSchedule, ZiplineTestCase): ) reader = BcolzDailyBarReader(path) data_portal = DataPortal( - env, self.trading_schedule, + env.asset_finder, self.trading_schedule, first_trading_day=reader.first_trading_day, equity_daily_reader=reader, ) @@ -3484,7 +3484,7 @@ class TestEquityAutoClose(WithTmpDir, WithTradingSchedule, ZiplineTestCase): ) reader = BcolzMinuteBarReader(self.tmpdir.path) data_portal = DataPortal( - env, self.trading_schedule, + env.asset_finder, self.trading_schedule, first_trading_day=reader.first_trading_day, equity_minute_reader=reader, ) diff --git a/tests/test_benchmark.py b/tests/test_benchmark.py index 2c5da177..5ee9e35d 100644 --- a/tests/test_benchmark.py +++ b/tests/test_benchmark.py @@ -154,7 +154,7 @@ class TestBenchmark(WithDataPortal, WithSimParams, WithTradingSchedule, ) with tmp_reader as reader: data_portal = DataPortal( - self.env, self.trading_schedule, + self.env.asset_finder, self.trading_schedule, first_trading_day=reader.first_trading_day, equity_minute_reader=reader, equity_daily_reader=self.bcolz_daily_bar_reader, diff --git a/tests/test_data_portal.py b/tests/test_data_portal.py index 71b50bd9..4adc6b29 100644 --- a/tests/test_data_portal.py +++ b/tests/test_data_portal.py @@ -26,7 +26,8 @@ class TestDataPortal(WithTradingEnvironment, ZiplineTestCase): def init_instance_fixtures(self): super(TestDataPortal, self).init_instance_fixtures() - self.data_portal = DataPortal(self.env, self.trading_schedule, + self.data_portal = DataPortal(self.env.asset_finder, + self.trading_schedule, first_trading_day=None) def test_bar_count_for_simple_transforms(self): diff --git a/tests/test_finance.py b/tests/test_finance.py index fe1bd65b..2aa93070 100644 --- a/tests/test_finance.py +++ b/tests/test_finance.py @@ -226,7 +226,7 @@ class FinanceTestCase(WithLogger, equity_minute_reader = BcolzMinuteBarReader(tempdir.path) data_portal = DataPortal( - env, self.trading_schedule, + env.asset_finder, self.trading_schedule, first_trading_day=equity_minute_reader.first_trading_day, equity_minute_reader=equity_minute_reader, ) @@ -254,7 +254,7 @@ class FinanceTestCase(WithLogger, equity_daily_reader = BcolzDailyBarReader(path) data_portal = DataPortal( - env, self.trading_schedule, + env.asset_finder, self.trading_schedule, first_trading_day=equity_daily_reader.first_trading_day, equity_daily_reader=equity_daily_reader, ) diff --git a/tests/test_perf_tracking.py b/tests/test_perf_tracking.py index 0fbd17a6..29755dca 100644 --- a/tests/test_perf_tracking.py +++ b/tests/test_perf_tracking.py @@ -316,7 +316,7 @@ class TestSplitPerformance(WithSimParams, WithTmpDir, ZiplineTestCase): # set up a long position in sid 1 # 100 shares at $20 apiece = $2000 position data_portal = create_data_portal_from_trade_history( - self.env, + self.env.asset_finder, self.trading_schedule, self.tmpdir, self.sim_params, @@ -456,7 +456,7 @@ class TestDividendPerformance(WithSimParams, writer.write(splits, mergers, dividends) adjustment_reader = SQLiteAdjustmentReader(dbpath) data_portal = create_data_portal_from_trade_history( - self.env, + self.env.asset_finder, self.trading_schedule, self.instance_tmpdir, self.sim_params, @@ -533,7 +533,7 @@ class TestDividendPerformance(WithSimParams, adjustment_reader = SQLiteAdjustmentReader(dbpath) data_portal = create_data_portal_from_trade_history( - self.env, + self.env.asset_finder, self.trading_schedule, self.instance_tmpdir, self.sim_params, @@ -598,7 +598,7 @@ class TestDividendPerformance(WithSimParams, adjustment_reader = SQLiteAdjustmentReader(dbpath) data_portal = create_data_portal_from_trade_history( - self.env, + self.env.asset_finder, self.trading_schedule, self.instance_tmpdir, self.sim_params, @@ -660,7 +660,7 @@ class TestDividendPerformance(WithSimParams, adjustment_reader = SQLiteAdjustmentReader(dbpath) data_portal = create_data_portal_from_trade_history( - self.env, + self.env.asset_finder, self.trading_schedule, self.instance_tmpdir, self.sim_params, @@ -723,7 +723,7 @@ class TestDividendPerformance(WithSimParams, adjustment_reader = SQLiteAdjustmentReader(dbpath) data_portal = create_data_portal_from_trade_history( - self.env, + self.env.asset_finder, self.trading_schedule, self.instance_tmpdir, self.sim_params, @@ -790,7 +790,7 @@ class TestDividendPerformance(WithSimParams, adjustment_reader = SQLiteAdjustmentReader(dbpath) data_portal = create_data_portal_from_trade_history( - self.env, + self.env.asset_finder, self.trading_schedule, self.instance_tmpdir, self.sim_params, @@ -852,7 +852,7 @@ class TestDividendPerformance(WithSimParams, adjustment_reader = SQLiteAdjustmentReader(dbpath) data_portal = create_data_portal_from_trade_history( - self.env, + self.env.asset_finder, self.trading_schedule, self.instance_tmpdir, self.sim_params, @@ -911,7 +911,7 @@ class TestDividendPerformance(WithSimParams, adjustment_reader = SQLiteAdjustmentReader(dbpath) data_portal = create_data_portal_from_trade_history( - self.env, + self.env.asset_finder, self.trading_schedule, self.instance_tmpdir, self.sim_params, @@ -981,7 +981,7 @@ class TestDividendPerformance(WithSimParams, sim_params.update_internal_from_trading_schedule(self.trading_schedule) data_portal = create_data_portal_from_trade_history( - self.env, + self.env.asset_finder, self.trading_schedule, self.instance_tmpdir, sim_params, @@ -1085,7 +1085,7 @@ class TestPositionPerformance(WithInstanceTmpDir, WithTradingSchedule, ) data_portal = create_data_portal_from_trade_history( - self.env, + self.env.asset_finder, self.trading_schedule, self.instance_tmpdir, self.sim_params, @@ -1182,7 +1182,7 @@ class TestPositionPerformance(WithInstanceTmpDir, WithTradingSchedule, ) data_portal = create_data_portal_from_trade_history( - self.env, + self.env.asset_finder, self.trading_schedule, self.instance_tmpdir, self.sim_params, @@ -1274,7 +1274,7 @@ class TestPositionPerformance(WithInstanceTmpDir, WithTradingSchedule, ) data_portal = create_data_portal_from_trade_history( - self.env, + self.env.asset_finder, self.trading_schedule, self.instance_tmpdir, self.sim_params, @@ -1392,7 +1392,7 @@ single short-sale transaction""" trades_1 = trades[:-2] data_portal = create_data_portal_from_trade_history( - self.env, + self.env.asset_finder, self.trading_schedule, self.instance_tmpdir, self.sim_params, @@ -1624,7 +1624,7 @@ cost of sole txn in test" ) data_portal = create_data_portal_from_trade_history( - self.env, + self.env.asset_finder, self.trading_schedule, self.instance_tmpdir, self.sim_params, @@ -1744,7 +1744,7 @@ single short-sale transaction""" ) data_portal = create_data_portal_from_trade_history( - self.env, + self.env.asset_finder, self.trading_schedule, self.instance_tmpdir, self.sim_params, @@ -1989,7 +1989,7 @@ trade after cover""" ) data_portal = create_data_portal_from_trade_history( - self.env, + self.env.asset_finder, self.trading_schedule, self.instance_tmpdir, self.sim_params, @@ -2078,7 +2078,7 @@ shares in position" transactions = factory.create_txn_history(*history_args)[:4] data_portal = create_data_portal_from_trade_history( - self.env, + self.env.asset_finder, self.trading_schedule, self.instance_tmpdir, self.sim_params, @@ -2238,7 +2238,7 @@ shares in position" ) data_portal = create_data_portal_from_trade_history( - self.env, + self.env.asset_finder, self.trading_schedule, self.instance_tmpdir, self.sim_params, @@ -2283,7 +2283,7 @@ shares in position" ) data_portal = create_data_portal_from_trade_history( - self.env, + self.env.asset_finder, self.trading_schedule, self.instance_tmpdir, self.sim_params, diff --git a/tests/test_security_list.py b/tests/test_security_list.py index dacf4903..9e96d81a 100644 --- a/tests/test_security_list.py +++ b/tests/test_security_list.py @@ -110,7 +110,7 @@ class SecurityListTestCase(WithLogger, WithTradingSchedule, ZiplineTestCase): cls.tempdir2 = cls.enter_class_context(tmp_dir()) cls.data_portal = create_data_portal( - env=cls.env, + asset_finder=cls.env.asset_finder, tempdir=cls.tempdir, sim_params=cls.sim_params, sids=range(0, 5), @@ -118,7 +118,7 @@ class SecurityListTestCase(WithLogger, WithTradingSchedule, ZiplineTestCase): ) cls.data_portal2 = create_data_portal( - env=cls.env2, + asset_finder=cls.env2.asset_finder, tempdir=cls.tempdir2, sim_params=cls.sim_params2, sids=range(0, 5), @@ -221,7 +221,7 @@ class SecurityListTestCase(WithLogger, WithTradingSchedule, ZiplineTestCase): LEVERAGED_ETFS.keys())[0] + timedelta(days=7), num_days=5) data_portal = create_data_portal( - self.env, + self.env.asset_finder, self.tempdir, sim_params=sim_params, sids=range(0, 5), @@ -273,7 +273,7 @@ class SecurityListTestCase(WithLogger, WithTradingSchedule, ZiplineTestCase): add_security_data([], ['BZQ']) data_portal = create_data_portal( - env, + env.asset_finder, new_tempdir, sim_params, range(0, 5), diff --git a/zipline/_protocol.pyx b/zipline/_protocol.pyx index 7b471331..02d3074c 100644 --- a/zipline/_protocol.pyx +++ b/zipline/_protocol.pyx @@ -203,7 +203,7 @@ cdef class BarData: view = self._views[asset] except KeyError: try: - asset = self.data_portal.env.asset_finder.retrieve_asset(asset) + asset = self.data_portal.asset_finder.retrieve_asset(asset) except ValueError: # assume fetcher pass diff --git a/zipline/algorithm.py b/zipline/algorithm.py index d35d063a..5ea3324a 100644 --- a/zipline/algorithm.py +++ b/zipline/algorithm.py @@ -632,7 +632,7 @@ class TradingAlgorithm(object): copy_panel.items, copy_panel.major_axis[0], ) self._assets_from_source = ( - self.trading_environment.asset_finder.retrieve_all( + self.asset_finder.retrieve_all( copy_panel.items ) ) @@ -641,7 +641,7 @@ class TradingAlgorithm(object): copy_panel, ) self.data_portal = DataPortal( - self.trading_environment, + self.asset_finder, self.trading_schedule, first_trading_day=equity_daily_reader.first_trading_day, equity_daily_reader=equity_daily_reader, diff --git a/zipline/data/data_portal.py b/zipline/data/data_portal.py index a83b5f50..14523c68 100644 --- a/zipline/data/data_portal.py +++ b/zipline/data/data_portal.py @@ -495,7 +495,7 @@ class DataPortal(object): other adjustment data to the raw data from the readers. """ def __init__(self, - env, + asset_finder, trading_schedule, first_trading_day, equity_daily_reader=None, @@ -503,13 +503,12 @@ class DataPortal(object): future_daily_reader=None, future_minute_reader=None, adjustment_reader=None): - self.env = env + self.trading_schedule = trading_schedule + self.asset_finder = asset_finder self.views = {} - self._asset_finder = env.asset_finder - self._carrays = { 'open': {}, 'high': {}, diff --git a/zipline/testing/core.py b/zipline/testing/core.py index ed3d7d36..41c86e9a 100644 --- a/zipline/testing/core.py +++ b/zipline/testing/core.py @@ -475,15 +475,15 @@ def write_daily_data(tempdir, sim_params, sids): return path -def create_data_portal(env, tempdir, sim_params, sids, trading_schedule, - adjustment_reader=None): +def create_data_portal(asset_finder, tempdir, sim_params, sids, + trading_schedule, adjustment_reader=None): if sim_params.data_frequency == "daily": daily_path = write_daily_data(tempdir, sim_params, sids) equity_daily_reader = BcolzDailyBarReader(daily_path) return DataPortal( - env, trading_schedule, + asset_finder, trading_schedule, first_trading_day=equity_daily_reader.first_trading_day, equity_daily_reader=equity_daily_reader, adjustment_reader=adjustment_reader @@ -500,7 +500,7 @@ def create_data_portal(env, tempdir, sim_params, sids, trading_schedule, equity_minute_reader = BcolzMinuteBarReader(minute_path) return DataPortal( - env, trading_schedule, + asset_finder, trading_schedule, first_trading_day=equity_minute_reader.first_trading_day, equity_minute_reader=equity_minute_reader, adjustment_reader=adjustment_reader @@ -613,8 +613,8 @@ def trades_by_sid_to_dfs(trades_by_sid, index): ) -def create_data_portal_from_trade_history(env, trading_schedule, tempdir, - sim_params, trades_by_sid): +def create_data_portal_from_trade_history(asset_finder, trading_schedule, + tempdir, sim_params, trades_by_sid): if sim_params.data_frequency == "daily": path = os.path.join(tempdir.path, "testdaily.bcolz") BcolzDailyBarWriter(path, sim_params.trading_days).write( @@ -624,7 +624,7 @@ def create_data_portal_from_trade_history(env, trading_schedule, tempdir, equity_daily_reader = BcolzDailyBarReader(path) return DataPortal( - env, trading_schedule, + asset_finder, trading_schedule, first_trading_day=equity_daily_reader.first_trading_day, equity_daily_reader=equity_daily_reader, ) @@ -676,7 +676,7 @@ def create_data_portal_from_trade_history(env, trading_schedule, tempdir, equity_minute_reader = BcolzMinuteBarReader(tempdir.path) return DataPortal( - env, trading_schedule, + asset_finder, trading_schedule, first_trading_day=equity_minute_reader.first_trading_day, equity_minute_reader=equity_minute_reader, ) @@ -689,7 +689,8 @@ class FakeDataPortal(DataPortal): if env is None: env = TradingEnvironment() - super(FakeDataPortal, self).__init__(env, trading_schedule, + super(FakeDataPortal, self).__init__(env.asset_finder, + trading_schedule, first_trading_day) def get_spot_value(self, asset, field, dt, data_frequency): @@ -721,8 +722,8 @@ class FetcherDataPortal(DataPortal): Mock dataportal that returns fake data for history and non-fetcher spot value. """ - def __init__(self, env, trading_schedule, first_trading_day=None): - super(FetcherDataPortal, self).__init__(env, trading_schedule, + def __init__(self, asset_finder, trading_schedule, first_trading_day=None): + super(FetcherDataPortal, self).__init__(asset_finder, trading_schedule, first_trading_day) def get_spot_value(self, asset, field, dt, data_frequency): diff --git a/zipline/testing/fixtures.py b/zipline/testing/fixtures.py index 4e9262b8..e4b5ebb0 100644 --- a/zipline/testing/fixtures.py +++ b/zipline/testing/fixtures.py @@ -1197,7 +1197,7 @@ class WithDataPortal(WithAdjustmentReader, first_trading_day = None return DataPortal( - self.env, + self.env.asset_finder, self.trading_schedule, first_trading_day=first_trading_day, equity_daily_reader=( diff --git a/zipline/utils/run_algo.py b/zipline/utils/run_algo.py index 8885e222..77748aaa 100644 --- a/zipline/utils/run_algo.py +++ b/zipline/utils/run_algo.py @@ -130,7 +130,7 @@ def _run(handle_data, ) env = TradingEnvironment(asset_db_path=connstr) data = DataPortal( - env, default_nyse_schedule, + env.asset_finder, default_nyse_schedule, first_trading_day=bundle_data.minute_bar_reader.first_trading_day, equity_minute_reader=bundle_data.minute_bar_reader, equity_daily_reader=bundle_data.daily_bar_reader, diff --git a/zipline/utils/simfactory.py b/zipline/utils/simfactory.py index 7ce81c23..ad03e79b 100644 --- a/zipline/utils/simfactory.py +++ b/zipline/utils/simfactory.py @@ -82,7 +82,7 @@ def create_test_zipline(**config): trades_by_sid[trade.sid].append(trade) data_portal = create_data_portal_from_trade_history( - config['env'], + config['env'].asset_finder, trading_schedule, config['tempdir'], config['sim_params'],