Skip to content

TA-Lib 技术文档

TA-Lib(Technical Analysis Library)是最权威的开源技术分析指标库,提供 200+ 个标准技术指标,以 C/C++ 实现核心计算,是 A 股量化策略指标工程的事实标准。


库简介

TA-Lib 最早于 2001 年发布,采用 BSD 许可证,由 Mario Fortier 主导开发。C 语言核心保证了极高的计算性能,Python 封装可直接在 pandas/numpy 工作流中使用。

内置指标覆盖五大类:重叠研究(趋势)、动量指标、成交量指标、波动率、价格变换、形态识别

官方主页:TA-Lib GitHub:TA-Lib/ta-lib


在 A 股量化策略中的应用

1. 机器学习特征工程

将 TA-Lib 指标作为输入特征输入 XGBoost/LightGBM 等模型。常用因子:

指标函数金融含义
MACDtalib.MACD()趋势强度与转折信号
RSItalib.RSI()超买超卖强度
Bollinger Bandstalib.BBANDS()价格波动率区间
ATRtalib.ATR()真实波动幅度(止损参考)
ADXtalib.ADX()趋势强弱过滤器
Stochastictalib.STOCH()K/D 随机指标

2. K 线形态识别

TA-Lib 内置 60+ 种 K 线形态识别函数:

  • talib.CDLHAMMER() — 锤子线(底部反转信号)
  • talib.CDLENGULFING() — 吞没形态
  • talib.CDL3BLACKCROWS() — 三只乌鸦(顶部信号)

返回值为 100(看涨)、-100(看跌)或 0(无信号),可作为二分类标签辅助特征。

3. 策略规则生成

直接使用指标构建规则型策略,如 MACD 金叉/死叉、RSI 阈值突破、布林带区间突破,作为量化策略的信号层。


常用指标速查

python
import talib

close  = df['close'].values
high   = df['high'].values
low    = df['low'].values
volume = df['volume'].values

# 趋势
macd, signal, hist = talib.MACD(close, fastperiod=12, slowperiod=26, signalperiod=9)
ma20 = talib.SMA(close, timeperiod=20)

# 动量
rsi  = talib.RSI(close, timeperiod=14)
k, d = talib.STOCH(high, low, close)

# 波动率
upper, mid, lower = talib.BBANDS(close, timeperiod=20)
atr = talib.ATR(high, low, close, timeperiod=14)

# 成交量
obv = talib.OBV(close, volume)

安装说明

bash
# macOS
brew install ta-lib && pip install ta-lib

# Ubuntu/Debian
apt-get install libta-lib-dev && pip install ta-lib

# 通用(预编译 wheel)
pip install TA-Lib

官方参考资料

⚡ Real-time Data · 📊 Smart Analysis · 🎯 Backtesting