From a1584cebe7bdc479fa94c5597687261d29ee75e5 Mon Sep 17 00:00:00 2001 From: jfkirk Date: Mon, 2 Nov 2015 10:02:58 -0500 Subject: [PATCH] STY: Factors-out event price handling --- zipline/finance/performance/tracker.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/zipline/finance/performance/tracker.py b/zipline/finance/performance/tracker.py index ac3e00a7..83553416 100644 --- a/zipline/finance/performance/tracker.py +++ b/zipline/finance/performance/tracker.py @@ -288,16 +288,18 @@ class PerformanceTracker(object): return _dict - def process_trade(self, event): - # update last sale, and pay out a cash adjustment + def _handle_event_price(self, event): + # updates last sale, and pays out a cash adjustment if applicable cash_adjustment = self.position_tracker.update_last_sale(event) if cash_adjustment != 0: for perf_period in self.perf_periods: perf_period.handle_cash_payment(cash_adjustment) + def process_trade(self, event): + self._handle_event_price(event) + def process_transaction(self, event): - # Transaction events also count as trade events for the trackers - self.process_trade(event) + self._handle_event_price(event) self.txn_count += 1 self.position_tracker.execute_transaction(event) for perf_period in self.perf_periods: