diff --git a/tests/test_perf_tracking.py b/tests/test_perf_tracking.py index 23214016..53f52367 100644 --- a/tests/test_perf_tracking.py +++ b/tests/test_perf_tracking.py @@ -1105,8 +1105,7 @@ class TestPositionPerformance(WithInstanceTmpDir, WithTradingCalendars, txn2 = create_txn(self.asset2, trades_1[0].dt, 10.0, -100) pt = perf.PositionTracker(self.sim_params.data_frequency) - pp = perf.PerformancePeriod(1000.0, self.env.asset_finder, - self.sim_params.data_frequency) + pp = perf.PerformancePeriod(1000.0, self.sim_params.data_frequency) pp.position_tracker = pt pt.execute_transaction(txn1) pp.handle_execution(txn1) @@ -1197,8 +1196,7 @@ class TestPositionPerformance(WithInstanceTmpDir, WithTradingCalendars, {1: trades}) txn = create_txn(self.asset1, trades[1].dt, 10.0, 1000) pt = perf.PositionTracker(self.sim_params.data_frequency) - pp = perf.PerformancePeriod(1000.0, self.env.asset_finder, - self.sim_params.data_frequency) + pp = perf.PerformancePeriod(1000.0, self.sim_params.data_frequency) pp.position_tracker = pt pt.execute_transaction(txn) @@ -1288,7 +1286,7 @@ class TestPositionPerformance(WithInstanceTmpDir, WithTradingCalendars, {1: trades}) txn = create_txn(self.asset1, trades[1].dt, 10.0, 100) pt = perf.PositionTracker(self.sim_params.data_frequency) - pp = perf.PerformancePeriod(1000.0, self.env.asset_finder, + pp = perf.PerformancePeriod(1000.0, self.sim_params.data_frequency, period_open=self.sim_params.start_session, period_close=self.sim_params.end_session) @@ -1406,9 +1404,7 @@ single short-sale transaction""" txn = create_txn(self.asset1, trades[1].dt, 10.0, -100) pt = perf.PositionTracker(self.sim_params.data_frequency) - pp = perf.PerformancePeriod( - 1000.0, self.env.asset_finder, - self.sim_params.data_frequency) + pp = perf.PerformancePeriod(1000.0, self.sim_params.data_frequency) pp.position_tracker = pt pt.execute_transaction(txn) @@ -1525,8 +1521,9 @@ single short-sale transaction""" # now run a performance period encompassing the entire trade sample. ptTotal = perf.PositionTracker(self.sim_params.data_frequency) - ppTotal = perf.PerformancePeriod(1000.0, self.env.asset_finder, - self.sim_params.data_frequency) + ppTotal = perf.PerformancePeriod( + 1000.0, self.sim_params.data_frequency + ) ppTotal.position_tracker = pt ptTotal.execute_transaction(txn) @@ -1632,8 +1629,7 @@ trade after cover""" short_txn = create_txn(self.asset1, trades[1].dt, 10.0, -100) cover_txn = create_txn(self.asset1, trades[6].dt, 7.0, 100) pt = perf.PositionTracker(self.sim_params.data_frequency) - pp = perf.PerformancePeriod(1000.0, self.env.asset_finder, - self.sim_params.data_frequency) + pp = perf.PerformancePeriod(1000.0, self.sim_params.data_frequency) pp.position_tracker = pt pt.execute_transaction(short_txn) @@ -1720,7 +1716,6 @@ shares in position" pt = perf.PositionTracker(self.sim_params.data_frequency) pp = perf.PerformancePeriod( 1000.0, - self.env.asset_finder, self.sim_params.data_frequency, period_open=self.sim_params.start_session, period_close=self.sim_params.sessions[-1] @@ -1784,8 +1779,7 @@ shares in position" self.assertEqual(pp.pnl, -800, "this period goes from +400 to -400") pt3 = perf.PositionTracker(self.sim_params.data_frequency) - pp3 = perf.PerformancePeriod(1000.0, self.env.asset_finder, - self.sim_params.data_frequency) + pp3 = perf.PerformancePeriod(1000.0, self.sim_params.data_frequency) pp3.position_tracker = pt3 average_cost = 0 @@ -1836,8 +1830,7 @@ shares in position" transactions = factory.create_txn_history(*history_args) pt = perf.PositionTracker(self.sim_params.data_frequency) - pp = perf.PerformancePeriod(1000.0, self.env.asset_finder, - self.sim_params.data_frequency) + pp = perf.PerformancePeriod(1000.0, self.sim_params.data_frequency) pp.position_tracker = pt for idx, (txn, cb) in enumerate(zip(transactions, cost_bases)): @@ -1875,7 +1868,7 @@ shares in position" {1: trades}) txn = create_txn(self.asset1, trades[0].dt, 10.0, 100) pt = perf.PositionTracker(self.sim_params.data_frequency) - pp = perf.PerformancePeriod(1000.0, self.env.asset_finder, + pp = perf.PerformancePeriod(1000.0, self.sim_params.data_frequency, period_open=self.sim_params.start_session, period_close=self.sim_params.end_session) @@ -1918,7 +1911,7 @@ shares in position" {1: trades}) txn = create_txn(self.asset1, trades[0].dt, 10.0, 100) pt = perf.PositionTracker(self.sim_params.data_frequency) - pp = perf.PerformancePeriod(1000.0, self.env.asset_finder, + pp = perf.PerformancePeriod(1000.0, self.sim_params.data_frequency, period_open=self.sim_params.start_session, period_close=self.sim_params.end_session) diff --git a/zipline/finance/performance/period.py b/zipline/finance/performance/period.py index 1a0d8d70..1d009dd5 100644 --- a/zipline/finance/performance/period.py +++ b/zipline/finance/performance/period.py @@ -139,7 +139,6 @@ class PerformancePeriod(object): def __init__( self, starting_cash, - asset_finder, data_frequency, period_open=None, period_close=None, @@ -148,7 +147,6 @@ class PerformancePeriod(object): serialize_positions=True, name=None): - self.asset_finder = asset_finder self.data_frequency = data_frequency # Start and end of the entire period @@ -362,7 +360,7 @@ class PerformancePeriod(object): def handle_execution(self, txn): self.cash_flow += self._calculate_execution_cash_flow(txn) - asset = self.asset_finder.retrieve_asset(txn.asset) + asset = txn.asset if isinstance(asset, Future): try: old_price = self._payout_last_sale_prices[asset] @@ -394,7 +392,7 @@ class PerformancePeriod(object): try: multiplier = self._execution_cash_flow_multipliers[txn.asset] except KeyError: - asset = self.asset_finder.retrieve_asset(txn.asset) + asset = txn.asset # Futures experience no cash flow on transactions if isinstance(asset, Future): multiplier = 0 diff --git a/zipline/finance/performance/tracker.py b/zipline/finance/performance/tracker.py index d9b5b79d..6546429c 100644 --- a/zipline/finance/performance/tracker.py +++ b/zipline/finance/performance/tracker.py @@ -140,7 +140,6 @@ class PerformanceTracker(object): keep_orders=False, # don't serialize positions for cumulative period serialize_positions=False, - asset_finder=self.asset_finder, name="Cumulative" ) self.cumulative_performance.position_tracker = self.position_tracker @@ -156,7 +155,6 @@ class PerformanceTracker(object): keep_transactions=True, keep_orders=True, serialize_positions=True, - asset_finder=self.asset_finder, name="Daily" ) self.todays_performance.position_tracker = self.position_tracker