为 Pandas DataFrame 提供 224 个技术指标和 62 种原生 K 线形态识别的 Python 扩展库。
TA-Lib/ta-lib-python
TA-Lib 的 Python 封装,提供 200 多种技术分析指标和 K 线形态识别,支持 NumPy、Pandas 和 Polars 数据。
- Star
- 12,373
- Fork
- 2,005
- 未关闭 Issue
- 87
- 最近提交
- 前天
本页只介绍开源项目,不构成投资建议。交易和投资可能造成亏损,使用前请自行评估风险,并遵守当地法律法规。
这是什么?
TA-Lib 是一个广泛使用的 C 语言技术分析库,ta-lib-python 通过 Cython 绑定将其提供给 Python 使用。它涵盖移动平均线、MACD、RSI、随机指标、布林带等常用指标,以及 K 线形态识别和统计函数。输入可以是 NumPy 数组、Pandas Series 或 DataFrame,也支持 Polars 的 Series 和 DataFrame。
包内提供三种调用方式:与 C 库一一对应的 Function API,接收包含 OHLCV 等命名列的字典或 DataFrame 的 Abstract API,以及 Streaming API。Streaming API 为每个指标保留一个状态句柄,新 K 线到来时无需重算历史数据即可更新结果。预编译 wheel 已内置 C 库,覆盖 Linux、macOS 和 Windows,多数用户无需编译器;从源码构建时可以下载固定版本的 TA-Lib,也可以链接已安装的版本。
项目说明了 NaN 处理和 lookback 周期的规则,这些与 Pandas 滚动函数的行为不同,并提供了不稳定周期的设置选项。计算和流式更新支持多线程,包括自由线程版 CPython。
核心功能
- 01提供 200 多个指标,涵盖重叠、动量、成交量、波动率、周期和统计等类别。
- 02包含 K 线形态识别函数。
- 03支持 NumPy、Pandas 和 Polars 数据输入。
- 04提供 Function、Abstract 和 Streaming 三种调用接口。
- 05预编译 wheel 内置 C 库,覆盖主流操作系统,支持 Python 3.9 至 3.14。
适用场景
- 在历史 OHLCV 数据上计算技术指标,用于回测交易策略。
- 在量化研究中为 Pandas 或 Polars DataFrame 添加指标列。
- 使用 Streaming API 在实时行情中逐根 K 线更新指标。
- 在价格序列中识别 K 线形态。
快速上手
- 1
从 PyPI 安装该包
python -m pip install TA-Lib - 2
导入函数式 API 并计算简单移动平均线
python -c "import numpy as np, talib; print(talib.SMA(np.random.random(100)))"
使用前须知
- 从源码构建需要网络访问、C 编译器和 CMake,Windows 上还需要 Microsoft C++ Build Tools。
标签
常见问题
- ta-lib-python 是什么?
- TA-Lib 的 Python 封装,提供 200 多种技术分析指标和 K 线形态识别,支持 NumPy、Pandas 和 Polars 数据。 TA-Lib 是一个广泛使用的 C 语言技术分析库,ta-lib-python 通过 Cython 绑定将其提供给 Python 使用。它涵盖移动平均线、MACD、RSI、随机指标、布林带等常用指标,以及 K 线形态识别和统计函数。输入可以是 NumPy 数组、Pandas Series 或 DataFrame,也支持 Polars 的 Series 和 DataFrame。
- ta-lib-python 可以免费使用吗?用的什么许可证?
- ta-lib-python 以 BSD-2-Clause 许可证开源。用于商业产品前,请先确认许可证条款。
- ta-lib-python 还在维护吗?
- 活跃维护中。ta-lib-python 最近一次提交是在 2026年11月5日。
- ta-lib-python 适合用来做什么?
- 在历史 OHLCV 数据上计算技术指标,用于回测交易策略。 在量化研究中为 Pandas 或 Polars DataFrame 添加指标列。 使用 Streaming API 在实时行情中逐根 K 线更新指标。 在价格序列中识别 K 线形态。
- ta-lib-python 怎么安装和运行?
- 从 PyPI 安装该包: python -m pip install TA-Lib 导入函数式 API 并计算简单移动平均线: python -c "import numpy as np, talib; print(talib.SMA(np.random.random(100)))"
- 在哪里获取 ta-lib-python?
- 源代码和安装说明在 GitHub 上:https://github.com/TA-Lib/ta-lib-python
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
提供 447 个技术指标的 C# / Python 库,支持 O(1) 流式计算与 SIMD 批量计算,并与 TA-Lib 等库交叉验证。
非官方 Python 库,可将 TradingView 的股票、加密货币、外汇等筛选器数据获取为 Pandas DataFrame。
一个本地运行的 MCP 服务器,让 AI 助手可获取股票行情、做技术分析、管理投资组合,并可选进行 Python 回测。
面向A股的开源Python量化交易系统,涵盖数据管理、选股、择时、风控与回测。
A股量化选股系统,收盘后运行六种技术形态策略并推送结果至飞书。