DOC: Add __doc__ string for all talib functions.

This commit is contained in:
Thomas Wiecki
2013-05-09 09:26:53 -04:00
committed by Eddie Hebert
parent 2e327a4d1e
commit c22b86194f
+15 -15
View File
@@ -19,12 +19,22 @@ import copy
from zipline.transforms import BatchTransform
def make_transform(talib_fn):
def make_transform(talib_fn, name):
"""
A factory for BatchTransforms based on TALIB abstract functions.
"""
# make class docstring
header = '\n#---- TA-Lib docs\n\n'
talib_docs = getattr(talib, talib_fn.info['name']).__doc__
divider1 = '\n#---- Default mapping (TA-Lib : Zipline)\n\n'
mappings = '\n'.join(' {0} : {1}'.format(k, v)
for k, v in talib_fn.input_names.items())
divider2 = '\n\n#---- Zipline docs\n'
help_str = (header + talib_docs + divider1 + mappings
+ divider2)
class TALibTransform(BatchTransform):
"""
__doc__ = help_str + """
TA-Lib keyword arguments must be passed at initialization. For
example, to construct a moving average with timeperiod of 5, pass
"timeperiod=5" during initialization.
@@ -71,6 +81,7 @@ def make_transform(talib_fn):
**kwargs : any arguments to be passed to the TA-Lib function.
"""
def __init__(self,
sid,
close='price',
@@ -152,18 +163,7 @@ def make_transform(talib_fn):
return 'Zipline BatchTransform: {0}'.format(
self.talib_fn.info['name'])
# make class docstring
header = '\n#---- TA-Lib docs\n\n'
talib_docs = getattr(talib, talib_fn.info['name']).__doc__
divider1 = '\n#---- Default mapping (TA-Lib : Zipline)\n\n'
mappings = '\n'.join(' {0} : {1}'.format(k, v)
for k, v in talib_fn.input_names.items())
divider2 = '\n\n#---- Zipline docs\n'
help_str = (header + talib_docs + divider1 + mappings
+ divider2 + TALibTransform.__doc__)
# TODO: Properly set a __doc__ string.
TALibTransform.help_str = help_str
TALibTransform.__name__ = name
#return class
return TALibTransform
@@ -172,4 +172,4 @@ def make_transform(talib_fn):
for name in talib.abstract.__all__:
fn = getattr(talib.abstract, name)
if name != 'Function':
locals()[name] = make_transform(fn)
locals()[name] = make_transform(fn, name)