From fd6c71286db073bcb5dc7d19bbd99f52cff38f03 Mon Sep 17 00:00:00 2001 From: Eddie Hebert Date: Thu, 25 Apr 2013 15:30:34 -0400 Subject: [PATCH] MAINT: Use sim_params for risk metrics init. Prepare for adding emission_rate in risk metrics logic. --- tests/test_risk_compare_batch_iterative.py | 5 ++++- zipline/finance/performance.py | 3 ++- zipline/finance/risk.py | 12 +++++++----- 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/tests/test_risk_compare_batch_iterative.py b/tests/test_risk_compare_batch_iterative.py index 0c06f525..c12bc45b 100644 --- a/tests/test_risk_compare_batch_iterative.py +++ b/tests/test_risk_compare_batch_iterative.py @@ -23,6 +23,7 @@ import pandas as pd import zipline.finance.risk as risk import zipline.finance.trading as trading +from zipline.finance.trading import SimulationParameters from zipline.protocol import DailyReturn from test_risk import RETURNS @@ -63,7 +64,9 @@ class RiskCompareIterativeToBatch(unittest.TestCase): end_date = trading.environment.trading_days[ start_index + len(RETURNS)] - risk_metrics_refactor = risk.RiskMetricsIterative(start_date, end_date) + sim_params = SimulationParameters(start_date, end_date) + + risk_metrics_refactor = risk.RiskMetricsIterative(sim_params) todays_date = start_date cur_returns = [] diff --git a/zipline/finance/performance.py b/zipline/finance/performance.py index 328c8fc4..1fdfe4ad 100644 --- a/zipline/finance/performance.py +++ b/zipline/finance/performance.py @@ -161,8 +161,9 @@ class PerformanceTracker(object): trading.environment.get_open_and_close(first_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 self.cumulative_risk_metrics = \ - risk.RiskMetricsIterative(self.period_start, self.period_end) + risk.RiskMetricsIterative(self.sim_params) self.emission_rate = sim_params.emission_rate # Temporarily hold these here as we work on streaming benchmarks. diff --git a/zipline/finance/risk.py b/zipline/finance/risk.py index f68092d2..bf558201 100644 --- a/zipline/finance/risk.py +++ b/zipline/finance/risk.py @@ -522,12 +522,14 @@ class RiskMetricsIterative(RiskMetricsBase): Call update() method on each dt to update the metrics. """ - def __init__(self, start_date, end_date): + def __init__(self, sim_params): self.treasury_curves = trading.environment.treasury_curves - self.start_date = start_date.replace(hour=0, minute=0, second=0, - microsecond=0) - self.end_date = end_date.replace(hour=0, minute=0, second=0, - microsecond=0) + self.start_date = sim_params.period_start.replace( + hour=0, minute=0, second=0, microsecond=0 + ) + self.end_date = sim_params.period_end.replace( + hour=0, minute=0, second=0, microsecond=0 + ) all_trading_days = trading.environment.trading_days mask = ((all_trading_days >= self.start_date) &