From 95b379d567c402ef69d647e412c6ea285ce9071a Mon Sep 17 00:00:00 2001 From: Eddie Hebert Date: Tue, 25 Mar 2014 15:32:45 -0400 Subject: [PATCH] BUG: Fix misalignment of downside series calc when using exact dates. An oddity that was exposed while working on making the return series passed to the risk module more exact, the series comparison between the returns and mean returns was unbalanced, because the mean returns were not masked down to the downside data points; however, in most, if not all cases this was papered over by the call to `.valid()` --- zipline/finance/risk/risk.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/zipline/finance/risk/risk.py b/zipline/finance/risk/risk.py index 7d5e1455..5ecc362e 100644 --- a/zipline/finance/risk/risk.py +++ b/zipline/finance/risk/risk.py @@ -107,7 +107,7 @@ def sharpe_ratio(algorithm_volatility, algorithm_return, treasury_return): def downside_risk(algorithm_returns, mean_returns, normalization_factor): rets = algorithm_returns mar = mean_returns - downside_diff = (rets[rets < mar] - mar).valid() + downside_diff = (rets[rets < mar] - mar[rets < mar]) return np.std(downside_diff) * math.sqrt(normalization_factor)