add account object to context

This commit is contained in:
Brian Fink
2014-10-10 17:10:45 -04:00
parent df234f516c
commit 50c5b73a7b
9 changed files with 201 additions and 3 deletions
+20 -1
View File
@@ -176,7 +176,10 @@ class TradingAlgorithm(object):
self.blotter = Blotter()
self.portfolio_needs_update = True
self.account_needs_update = True
self.performance_needs_update = True
self._portfolio = None
self._account = None
self.history_container = None
self.history_specs = {}
@@ -356,6 +359,8 @@ class TradingAlgorithm(object):
self.perf_tracker = PerformanceTracker(sim_params)
self.portfolio_needs_update = True
self.account_needs_update = True
self.performance_needs_update = True
self.data_gen = self._create_data_generator(source_filter, sim_params)
@@ -702,10 +707,24 @@ class TradingAlgorithm(object):
def updated_portfolio(self):
if self.portfolio_needs_update:
self._portfolio = self.perf_tracker.get_portfolio()
self._portfolio = \
self.perf_tracker.get_portfolio(self.performance_needs_update)
self.portfolio_needs_update = False
self.performance_needs_update = False
return self._portfolio
@property
def account(self):
return self.updated_account()
def updated_account(self):
if self.account_needs_update:
self._account = \
self.perf_tracker.get_account(self.performance_needs_update)
self.account_needs_update = False
self.performance_needs_update = False
return self._account
def set_logger(self, logger):
self.logger = logger