From eb1cb27a07af006feb33f903e01fb26a2983555e Mon Sep 17 00:00:00 2001 From: Thomas Wiecki Date: Thu, 17 Jan 2013 11:46:17 -0500 Subject: [PATCH 1/2] REF: fields now defaults to price for mavg and stddev transform. Also allows string specification. --- zipline/transforms/mavg.py | 6 ++++-- zipline/transforms/stddev.py | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/zipline/transforms/mavg.py b/zipline/transforms/mavg.py index 06233992..2a35e968 100644 --- a/zipline/transforms/mavg.py +++ b/zipline/transforms/mavg.py @@ -29,10 +29,12 @@ class MovingAverage(object): """ __metaclass__ = TransformMeta - def __init__(self, fields, + def __init__(self, fields='price', market_aware=True, window_length=None, delta=None): - + if isinstance(fields, basestring): + fields = [fields] self.fields = fields + self.market_aware = market_aware self.delta = delta diff --git a/zipline/transforms/stddev.py b/zipline/transforms/stddev.py index 992ed481..2b928c19 100644 --- a/zipline/transforms/stddev.py +++ b/zipline/transforms/stddev.py @@ -31,11 +31,13 @@ class MovingStandardDev(object): """ __metaclass__ = TransformMeta - def __init__(self, fields, + def __init__(self, fields='price', market_aware=True, window_length=None, delta=None): + if isinstance(fields, basestring): + fields = [fields] + self.fields = fields self.market_aware = market_aware - self.fields = fields self.delta = delta self.window_length = window_length From 685b2ed6fd0e9a910b38e4554476393895055173 Mon Sep 17 00:00:00 2001 From: Thomas Wiecki Date: Thu, 17 Jan 2013 12:10:09 -0500 Subject: [PATCH 2/2] REF: Fields is kwarg is MovingStandardDevWindow. --- zipline/transforms/stddev.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/zipline/transforms/stddev.py b/zipline/transforms/stddev.py index 2b928c19..ff5ff82f 100644 --- a/zipline/transforms/stddev.py +++ b/zipline/transforms/stddev.py @@ -31,8 +31,8 @@ class MovingStandardDev(object): """ __metaclass__ = TransformMeta - def __init__(self, fields='price', - market_aware=True, window_length=None, delta=None): + def __init__(self, fields='price', market_aware=True, window_length=None, + delta=None): if isinstance(fields, basestring): fields = [fields] self.fields = fields @@ -64,10 +64,10 @@ class MovingStandardDev(object): Factory method for self.sid_windows. """ return MovingStandardDevWindow( - self.fields, self.market_aware, self.window_length, - self.delta + self.delta, + fields=self.fields ) def update(self, event): @@ -92,12 +92,14 @@ class MovingStandardDevWindow(EventWindow): instantiated inside a MovingStandardDev. """ - def __init__(self, fields, market_aware, window_length, delta): + def __init__(self, market_aware, window_length, delta, fields='price'): # Call the superclass constructor to set up base EventWindow # infrastructure. EventWindow.__init__(self, market_aware, window_length, delta) - + if isinstance(fields, basestring): + fields = [fields] self.fields = fields + self.sum = defaultdict(float) self.sum_sqr = defaultdict(float)