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 等模型。常用因子:
| 指标 | 函数 | 金融含义 |
|---|---|---|
| MACD | talib.MACD() | 趋势强度与转折信号 |
| RSI | talib.RSI() | 超买超卖强度 |
| Bollinger Bands | talib.BBANDS() | 价格波动率区间 |
| ATR | talib.ATR() | 真实波动幅度(止损参考) |
| ADX | talib.ADX() | 趋势强弱过滤器 |
| Stochastic | talib.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