在Python中使用C TA-Lib函数
2 个回答
0
如果你只需要一个库里的单一功能,使用ctypes会更好。ctypes是Python标准库中的一个模块,它可以让你调用用其他语言写的库,比如C语言。
你只需要在Python控制台上查一下怎么用ctypes把TA-LIB变成Python对象,以及怎么调用你需要的功能。ctypes会自动把整数和字符串转换成C语言能识别的格式,不过对于其他类型的参数,你可能需要做一些额外的标注。
7
我觉得你可以尝试三种简单的方法:
SWIG
TA-Lib自带一个Python的封装,这个封装是通过SWIG生成的。不过这个封装很久没有更新,所以它只能和Python 2.3一起使用。Andy Hawkins写了一些指导,教你怎么让它在更新的Python版本上工作。
Cython
我写了一个TA-Lib的Python封装,它使用Cython来封装TA-Lib里的所有函数,并且我把它发布在了Github上。对我来说,这个封装效果很好,使用了Numpy数组,速度比SWIG接口快2到4倍,更符合Python的风格,而且安装起来更简单(在Mac OS X上可以使用)。
Ctypes
如果你只需要库里的少数几个函数,你可以使用ctypes来调用TA-Lib库里的函数。