TA-Lib介绍安装及使用教程

19 篇文章 36 订阅 ¥99.90 ¥99.00

一、TA-Lib简介

TA-Lib,英文全称“Technical Analysis Library”, 中文名称:技术分析库,是一个用于金融量化的第三方库,涵盖了150多种股票、期货交易软件中常用的技术分析指标,如MA、MACD、RSI、KDJ、动量指标、布林带等等。
TA-Lib可分为10个子板块:Overlap Studies(重叠指标),Momentum Indicators(动量指标),Volume Indicators(交易量指标),Cycle Indicators(周期指标),Price Transform(价格变换),Volatility Indicators(波动率指标),Pattern Recognition(模式识别),Statistic Functions(统计函数),Math Transform(数学变换)和Math Operators(数学运算)。

TA-Lib官网地址:https://www.ta-lib.org/。注:官网已很久未更新。

使用Python进行量化分析时,TA-Lib几乎是必经之路。

二、TA-Lib安装

本文介绍TA-Lib在Python环境下的安装。

使用pip在线安装

在提示符下输入如下命令

$ pip install TA-Lib

但可能会出现错误:

common.obj : warning LNK4197: export ‘PyInit_common’ specified multiple times; using first specification
Creating library build\temp.win-amd64-3.5\Release\talib\common.cp35-win_amd64.lib and object build\temp.win-amd64-3.5\Release\talib\common.cp35-win_amd64.exp
common.obj : error LNK2001: unresolved external symbol TA_SetUnstablePeriod
common.obj : error LNK2001: unresolved external symbol TA_Shutdown
common.obj : error LNK2001: unresolved external symbol TA_Initialize
common.obj : error LNK2001: unresolved external symbol TA_GetUnstablePeriod
common.obj : error LNK2001: unresolved external symbol TA_GetVersionString
build\lib.win-amd64-3.5\talib\common.cp35-win_amd64.pyd : fatal error LNK1120: 5 unresolved externals
error: command ‘C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\amd64\link.exe’ failed with exit status 1120

该问题可以考虑以下方式解决。

开始 -> 所有程序 -> Mircosoft Visual Studio 2010 -> visual studio tools -> Visual Studio x64 win64 command prompt (2010)
在VS x64 win64命令行下,cd C:\ta-lib\c\make\cdr\win32\msvc 目录下,执行nmake

也可以考虑使用如下命令安装

pip install https://github.com/mrjbq7/ta-lib/archive/TA_Lib-0.4.8.zip

使用本地文件Wheel安装(推荐)

加利福尼亚大学欧文分校 荧光动力学实验室 的 克里斯托夫·戈尔克( Christoph Gohlke)提供了一个非官方的Python扩展库,地址为

https://www.lfd.uci.edu/~gohlke/pythonlibs/#ta-lib

选择并下载和电脑(32位还是64位)及Python版本相应的库到本地
在这里插入图片描述
再使用如下命令,格式为

pip install TA_Lib-0.4.20-cp38-cp38-win_amd64.whl

其中TA_Lib-0.4.20-cp38-cp38-win_amd64.whl 要换成自己下载的文件名
安装过程如下
在这里插入图片描述
就能成功安装。
在Python中,输入import talib并且没有错误返回,则表示可以使用了。
在这里插入图片描述

三、TA-Lib的使用

MA均线指标

首先,需要获得金融数据,这里以币安交易所的BTC_USDT日线的K线为数据源

# -*- coding: utf-8 -*-
#Author: 比特量化 

import talib
from udcei.base.exchange import Exchange

exchange = Exchange('binance')
kline = exchange.kline(symbol = "BTC_USDT", interval = '1day')
stamp, open, high, low, close, volume = kline
#print(close)

将收盘价打印出来如下所示
在这里插入图片描述
再将收盘价传入到均线MA指标中,进行计算,计算5日均线的代码如下,

real = talib.MA(close, timeperiod=5) 

得到5日均线价格列表
在这里插入图片描述
前面4天因为数据不足所以为NAN。

基于均线数据,可以再做进一步的计算,比如金叉、死叉、多头排列、空头排列等。这样就实现了对数据的量化分析。

其他指标

TA-Lib的其他指标列出如下,
周期指标 Cycle Indicators
[‘HT_DCPERIOD’, ‘HT_DCPHASE’, ‘HT_PHASOR’, ‘HT_SINE’, ‘HT_TRENDMODE’],

数学运算 Math Operators
[‘ADD’, ‘DIV’, ‘MAX’, ‘MAXINDEX’, ‘MIN’, ‘MININDEX’, ‘MINMAX’, ‘MINMAXINDEX’, ‘MULT’, ‘SUB’, ‘SUM’],

数学变换 Math Transform
[‘ACOS’, ‘ASIN’, ‘ATAN’, ‘CEIL’, ‘COS’, ‘COSH’, ‘EXP’, ‘FLOOR’, ‘LN’, ‘LOG10’, ‘SIN’, ‘SINH’, ‘SQRT’, ‘TAN’, ‘TANH’],

趋势指标 Momentum Indicators
[‘ADX’, ‘ADXR’, ‘APO’, ‘AROON’, ‘AROONOSC’, ‘BOP’, ‘CCI’, ‘CMO’, ‘DX’, ‘MACD’, ‘MACDEXT’, ‘MACDFIX’, ‘MFI’, ‘MINUS_DI’, ‘MINUS_DM’, ‘MOM’, ‘PLUS_DI’, ‘PLUS_DM’, ‘PPO’, ‘ROC’, ‘ROCP’, ‘ROCR’, ‘ROCR100’, ‘RSI’, ‘STOCH’, ‘STOCHF’, ‘STOCHRSI’, ‘TRIX’, ‘ULTOSC’, ‘WILLR’],

重合研究 Overlap Studies
[‘BBANDS’, ‘DEMA’, ‘EMA’, ‘HT_TRENDLINE’, ‘KAMA’, ‘MA’, ‘MAMA’, ‘MAVP’, ‘MIDPOINT’, ‘MIDPRICE’, ‘SAR’, ‘SAREXT’, ‘SMA’, ‘T3’, ‘TEMA’, ‘TRIMA’, ‘WMA’],

模式识别 Pattern Recognition
[‘CDL2CROWS’, ‘CDL3BLACKCROWS’, ‘CDL3INSIDE’, ‘CDL3LINESTRIKE’, ‘CDL3OUTSIDE’, ‘CDL3STARSINSOUTH’, ‘CDL3WHITESOLDIERS’, ‘CDLABANDONEDBABY’, ‘CDLADVANCEBLOCK’, ‘CDLBELTHOLD’, ‘CDLBREAKAWAY’, ‘CDLCLOSINGMARUBOZU’, ‘CDLCONCEALBABYSWALL’, ‘CDLCOUNTERATTACK’, ‘CDLDARKCLOUDCOVER’, ‘CDLDOJI’, ‘CDLDOJISTAR’, ‘CDLDRAGONFLYDOJI’, ‘CDLENGULFING’, ‘CDLEVENINGDOJISTAR’, ‘CDLEVENINGSTAR’, ‘CDLGAPSIDESIDEWHITE’, ‘CDLGRAVESTONEDOJI’, ‘CDLHAMMER’, ‘CDLHANGINGMAN’, ‘CDLHARAMI’, ‘CDLHARAMICROSS’, ‘CDLHIGHWAVE’, ‘CDLHIKKAKE’, ‘CDLHIKKAKEMOD’, ‘CDLHOMINGPIGEON’, ‘CDLIDENTICAL3CROWS’, ‘CDLINNECK’, ‘CDLINVERTEDHAMMER’, ‘CDLKICKING’, ‘CDLKICKINGBYLENGTH’, ‘CDLLADDERBOTTOM’, ‘CDLLONGLEGGEDDOJI’, ‘CDLLONGLINE’, ‘CDLMARUBOZU’, ‘CDLMATCHINGLOW’, ‘CDLMATHOLD’, ‘CDLMORNINGDOJISTAR’, ‘CDLMORNINGSTAR’, ‘CDLONNECK’, ‘CDLPIERCING’, ‘CDLRICKSHAWMAN’, ‘CDLRISEFALL3METHODS’, ‘CDLSEPARATINGLINES’, ‘CDLSHOOTINGSTAR’, ‘CDLSHORTLINE’, ‘CDLSPINNINGTOP’, ‘CDLSTALLEDPATTERN’, ‘CDLSTICKSANDWICH’, ‘CDLTAKURI’, ‘CDLTASUKIGAP’, ‘CDLTHRUSTING’, ‘CDLTRISTAR’, ‘CDLUNIQUE3RIVER’, ‘CDLUPSIDEGAP2CROWS’, ‘CDLXSIDEGAP3METHODS’],

价格变换 Price Transform
[‘AVGPRICE’, ‘MEDPRICE’, ‘TYPPRICE’, ‘WCLPRICE’],

统计功能 Statistic Functions
[‘BETA’, ‘CORREL’, ‘LINEARREG’, ‘LINEARREG_ANGLE’, ‘LINEARREG_INTERCEPT’, ‘LINEARREG_SLOPE’, ‘STDDEV’, ‘TSF’, ‘VAR’],

强度指标 Volatility Indicators
[‘ATR’, ‘NATR’, ‘TRANGE’],

成交量指标 Volume Indicators
[‘AD’, ‘ADOSC’, ‘OBV’]

详细的用法可以参考本博客的TA-Lib专栏,地址为
https://blog.csdn.net/bitquant/category_9928494.html

(完)

  • 12
    点赞
  • 55
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

比特量化

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值