做python量化交易,尤其是做趋势跟踪的或者是K线指标分析跟踪的,TA-lib库基本都多多少少用到。尤其对于从传统K线技术分析转计算机量化的同好,基本上算是必备。
第一,安装, 可以通过pip install ta-lib 进行安装,如果安装不了或者编译报错,可以直接在下载whl,然后pip install whl路径名 来安装
第二,使用文档,比较简单,简单介绍各个方法,这个链接:
第三,使用,其实很简单,其实就是输入numpy.array 数组,包括OHLC数据,必须是double类型。
比如相对强度RSI, real = RSI ( close , timeperiod = 14 ) 就是输入close array数组,计算参数14,也会输出一个RSI值的np.array,不过前面13个是NAN空置,后面第十四个才是RSI值,之后第十五是前面第二到第十五个close 算出RSI值,依次递推。
closeArray = np.linspace(0,11.0,11) meanArray = talib.SMA(closearray,3) print("closeArray: %s" %closearray) print("meanArray: %s" %meanarray) for i in range(3,len(closearray)): print(closearray[i-3:i].mean())
可以用均值示例,talib.SMA是简单均值的意思,其他都是类似使用,这里后面也用了np.array的mean方法通过循环来计算均值数组,可以看出结果基本一样的,在实际应用发现,其实大部分talib方法都可以通过数组循环得到一样效果,不过talib快多了,能用talib还是用。
最后,talib对于国内常见kdj,macd指标也有提供,从其他量化论坛讨论反馈,似乎和国内常用行情软件结果不太一致,
个人感觉应该均值一类选取不一样,实际上使用就要注意点。
另外,talib还提供了一批k线图形识别方法,什么三个乌鸦,十字星形态一类。主要就是填入ohlc数组,方法返回是正数数组,只会有0,100,或者-100。100表示现在这个k线是这个形态,-100是反形态,有些方法没有反形态。
下面真正介绍:mac如何安装量化分析的常用库TA-lib
mac下pip安装ta-lib会报错
Running setup.py install for ta-lib ... error ERROR: Command errored out with exit status 1: command: /usr/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/gk/sw9sly3x5w3_mspdt4h8tm380000gn/T/pip-install-1emRyO/ta-lib/setup.py'"'"'; __file__='"'"'/private/var/folders/gk/sw9sly3x5w3_mspdt4h8tm380000gn/T/pip-install-1emRyO/ta-lib/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /private/var/folders/gk/sw9sly3x5w3_mspdt4h8tm380000gn/T/pip-record-wXGPIe/install-record.txt --single-version-externally-managed --user --prefix= --compile --install-headers /Users/huchao/Library/Python/2.7/include/python2.7/ta-lib cwd: /private/var/folders/gk/sw9sly3x5w3_mspdt4h8tm380000gn/T/pip-install-1emRyO/ta-lib/ Complete output (27 lines): /private/var/folders/gk/sw9sly3x5w3_mspdt4h8tm380000gn/T/pip-install-1emRyO/ta-lib/setup.py:71: UserWarning: Cannot find ta-lib library, installation may fail. warnings.warn('Cannot find ta-lib library, installation may fail.')
报错的原因是缺少ta-lib library,看起来是编译时候缺少链接库。需要安装ta-lib静态库,于是使用brew安装一下ta-lib。
brew install ta-lib
安装完毕之后就可以pip install ta-lib,就可以安装成功了。