Merge pull request #63 from quantopian/transform_default_field

REF: fields now defaults to price for mavg and stddev transform. Also allows string specification.
This commit is contained in:
Eddie Hebert
2013-01-17 09:18:21 -08:00
2 changed files with 15 additions and 9 deletions
+4 -2
View File
@@ -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
+11 -7
View File
@@ -31,11 +31,13 @@ class MovingStandardDev(object):
"""
__metaclass__ = TransformMeta
def __init__(self, fields,
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
self.market_aware = market_aware
self.fields = fields
self.delta = delta
self.window_length = window_length
@@ -62,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):
@@ -90,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)