Skip to content

TA-Lib 技术文档 ​

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


库简介 ​

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

内置指标覆盖多个类别:重叠研究(趋势)、动量指标、成交量指标、波动率指标、价格变换、形态识别、周期指标、统计函数等(官方共 10 个类别)。

官方主页: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:官方软件源没有 libta-lib-dev,需从源码编译
wget http://prdownloads.sourceforge.net/ta-lib/ta-lib-0.4.0-src.tar.gz
tar -xzf ta-lib-0.4.0-src.tar.gz && cd ta-lib
./configure --prefix=/usr && make && sudo make install
pip install TA-Lib

# conda(推荐,conda-forge 提供预编译包)
conda install -c conda-forge ta-lib

官方参考资料 ​

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