mirror of
https://github.com/wassname/catalyst.git
synced 2026-07-14 11:15:09 +08:00
DOC: Add __doc__ string for all talib functions.
This commit is contained in:
committed by
Eddie Hebert
parent
2e327a4d1e
commit
c22b86194f
+15
-15
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user