From dbcfc0a2a588675aa6c2359a1742630229d3fe8c Mon Sep 17 00:00:00 2001 From: Eddie Hebert Date: Thu, 17 Jan 2013 17:44:21 -0500 Subject: [PATCH] Restores previous get_stddev method and uses the price value. To maintain compatibility with existing algorithms. --- zipline/transforms/stddev.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/zipline/transforms/stddev.py b/zipline/transforms/stddev.py index ff5ff82f..454892c7 100644 --- a/zipline/transforms/stddev.py +++ b/zipline/transforms/stddev.py @@ -139,6 +139,24 @@ class MovingStandardDevWindow(EventWindow): self.sum[field] * _mean) / (len(self.ticks) - 1) return sqrt(_var) + def get_stddev(self): + """ + Returns stddev with 'price' for existing algorithms. + + Could possibly use existing algos. + """ + # Sample standard deviation is undefined for a single event or + # no events. + if len(self) <= 1: + return None + + else: + average = self.sum['price'] / len(self.ticks) + s_squared = (self.sum_sqr['price'] - self.sum['price'] * average) \ + / (len(self.ticks) - 1) + stddev = sqrt(s_squared) + return stddev + def get_stddevs(self): """ Return an ndict of all our tracked standard deviations.