pass day instead of market_open to next_open_and_closes and use day instead of market_close for benchmark index

This commit is contained in:
warren-oneill
2015-05-20 16:44:18 +02:00
parent bf3cb6e7a5
commit 064d973ec2
+9 -4
View File
@@ -61,6 +61,7 @@ from __future__ import division
import logbook
import pickle
from six import iteritems
from datetime import datetime
import numpy as np
import pandas as pd
@@ -92,9 +93,12 @@ class PerformanceTracker(object):
self.period_start = self.sim_params.period_start
self.period_end = self.sim_params.period_end
self.last_close = self.sim_params.last_close
first_day = self.sim_params.first_open
first_open = self.sim_params.first_open.tz_convert(
trading.environment.exchange_tz)
self.day = pd.Timestamp(datetime(first_open.year, first_open.month,
first_open.day), tz='UTC')
self.market_open, self.market_close = \
trading.environment.get_open_and_close(first_day)
trading.environment.get_open_and_close(self.day)
self.total_days = self.sim_params.days_in_period
self.capital_base = self.sim_params.capital_base
self.emission_rate = sim_params.emission_rate
@@ -423,7 +427,7 @@ class PerformanceTracker(object):
rate.
"""
self.update_performance()
completed_date = normalize_date(self.market_close)
completed_date = self.day
account = self.get_account(True)
# update risk metrics for cumulative performance
@@ -448,7 +452,8 @@ class PerformanceTracker(object):
# move the market day markers forward
self.market_open, self.market_close = \
trading.environment.next_open_and_close(self.market_open)
trading.environment.next_open_and_close(self.day)
self.day = trading.environment.next_trading_day(self.day)
# Roll over positions to current day.
self.todays_performance.rollover()