使用 Ta-lib 计算 MACD 等技术指标

太阳宫中路反指王
2018-12-21

最近很多朋友使用老虎的开放API时, 都会咨询我们获取 MACD、KDJ 等技术指标的方法。

开放API没有提供计算好的技术指标数据, 因为这类指标的计算方法比较简单。

这里做一个简单的示例,供大家参考:


首先需要安装ta-lib。 ta-lib 的全称是 technical analysis library

mac电脑的安装比较简单, 只需要在中端中运行两行代码:

>>> brew install ta-lib

>>> pip install ta-lib

安装完毕后, 我们在 jupyter notebook 中演示 ta-lib 的使用


一、导入 talib 的计算库, 并设置兼容模式的值为1:默认的talib值为0

注意,在兼容模式为1时,表示使用metastock的技术指标计算方式, 与国内的主流股票软件计算方式一致。


二、 使用老虎开放API, 获取 $京东(JD)$ 的日级行情数据。

这里对开放API进行了二次封装, 返回了一个dataframe。


三、 计算 MACD 前,先查看一下 MACD 的文档:

输入的参数有四个:

- 第一个是价格序列: 这里我们采用日级的收盘价

- 第二、第三、第四个参数是 MACD 的几个参数的计算周期; 股票软件默认的周期是12, 26, 9


四、计算dif、dea、 macd 的值

dif、dea、macd 都是一个array, macd[-1] 表示最新一日的macd 值,以此类推。



五、 将计算出的值与股票软件中对比, 完全一致。

需要注意的是, 股票软件中的macd的计算方法是 (dif - dea)*2 。 所以, 我们需要将talib计算出的macd值*2。

免责声明:上述内容仅代表发帖人个人观点,不构成本平台的任何投资建议。

精彩评论

  • 真.虎虎生威
    2019-05-09
    真.虎虎生威
    ta-lib哪里有set_compatibility ,我咋遍寻不见?
  • 大一TMT
    2018-12-24
    大一TMT
    量化师+程序员
  • 森林的森
    2018-12-21
    森林的森
    牛人
发表看法
5
1