From 34a842c0520642a79270f395dd12ef2605a5e19f Mon Sep 17 00:00:00 2001 From: Richard Frank Date: Wed, 18 Nov 2015 13:11:55 -0500 Subject: [PATCH] MAINT: Also return nan when simulation is shorter than 2 days --- zipline/finance/risk/period.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/zipline/finance/risk/period.py b/zipline/finance/risk/period.py index 4461de74..63c3c8cc 100644 --- a/zipline/finance/risk/period.py +++ b/zipline/finance/risk/period.py @@ -252,14 +252,16 @@ class RiskMetricsPeriod(object): http://en.wikipedia.org/wiki/Beta_(finance) """ # it doesn't make much sense to calculate beta for less than two days, - # so return none. + # so return nan. if len(self.algorithm_returns) < 2: - return 0.0, 0.0, 0.0, 0.0, [] + return np.nan, np.nan, np.nan, np.nan, [] returns_matrix = np.vstack([self.algorithm_returns, self.benchmark_returns]) C = np.cov(returns_matrix, ddof=1) + # If there are missing benchmark values, then we can't calculate the + # beta. if not np.isfinite(C).all(): return np.nan, np.nan, np.nan, np.nan, []