Fixes under-incrementation of risk report.

We were only incrementing the risk report by one day, and never
checking to see if that day we incremented into was a trading day
or not.

We now increment by day until we are on a trading day.

With an assist from @twiecki on:

Adapted test_risk_compare_batch_iterative to work with fixed
iterative risk class.
This commit is contained in:
Eddie Hebert
2012-11-15 14:13:04 -05:00
committed by Eddie Hebert
parent 4c3554042e
commit d5697cdf0a
4 changed files with 19 additions and 8 deletions
+4
View File
@@ -591,3 +591,7 @@ shares in position"
cumulative_pos = perf_tracker.cumulative_performance.positions[sid]
expected_size = txn_count / 2 * -25
self.assertEqual(cumulative_pos.amount, expected_size)
self.assertEqual(perf_tracker.period_end.
replace(hour=0, minute=0, second=0),
perf_tracker.cumulative_risk_metrics.end_date)
+8 -5
View File
@@ -71,10 +71,15 @@ class RiskCompareIterativeToBatch(unittest.TestCase):
cur_returns.append(todays_return_obj)
# Move forward day counter to next trading day
todays_date += self.oneday
while not self.trading_env.is_trading_day(todays_date):
todays_date += self.oneday
try:
risk_metrics_original = risk.RiskMetricsBatch(
start_date=self.start_date,
end_date=todays_date + self.oneday,
end_date=todays_date,
returns=cur_returns,
trading_environment=self.trading_env
)
@@ -82,12 +87,10 @@ class RiskCompareIterativeToBatch(unittest.TestCase):
#assert that when original raises exception, same
#exception is raised by risk_metrics_refactor
np.testing.assert_raises(
type(e), risk_metrics_refactor.update, ret, self.oneday)
type(e), risk_metrics_refactor.update, ret)
continue
risk_metrics_refactor.update(ret, self.oneday)
todays_date += self.oneday
risk_metrics_refactor.update(ret)
self.assertEqual(
risk_metrics_original.start_date,