Pandas TA Classic 是一个基于 Pandas 的技术分析库,提供常用行情指标、K 线形态识别、统计工具和策略批量计算能力,适用于量化分析、行情研究、回测数据预处理等场景。
项目包含 224 个技术指标与工具函数,以及 62 个原生 K 线形态。核心指标默认使用 Python 原生实现,部分指标可按需启用 TA-Lib 或 Numba 加速。
- 技术指标:覆盖趋势、动量、波动率、成交量、均线、统计等常用分类
- K 线形态:内置 62 个原生形态识别能力,无需依赖 TA-Lib
- Pandas 扩展:支持通过
df.ta.<indicator>()直接调用指标 - 策略系统:支持批量计算多个指标,适合策略分析与特征构建
- 可选加速:可按需接入 TA-Lib 或 Numba 提升计算性能
- 示例与测试:包含示例脚本、文档和较完整的测试用例
使用 uv:
uv pip install pandas-ta-classic使用 pip:
pip install pandas-ta-classic本地开发安装:
pip install -e ".[dev]"安装可选能力:
pip install -e ".[optional]"
pip install -e ".[oracle]"
pip install -e ".[backtest]"import pandas as pd
import pandas_ta_classic as ta
df = pd.read_csv("path/to/symbol.csv")
df.ta.sma(length=20, append=True)
df.ta.rsi(append=True)
df.ta.macd(append=True)
df.ta.bbands(append=True)链式调用:
df.ta.chain().sma(20).ta.rsi(14).ta.macd().ta.bbands(20)运行内置策略:
df.ta.strategy("CommonStrategy")candles:K 线形态cycles:周期类指标math:数学工具momentum:动量指标overlap:均线与价格叠加指标performance:收益与回撤指标statistics:统计指标trend:趋势指标volatility:波动率指标volume:成交量指标
TA-Lib 和 Numba 都是可选依赖:
- 未安装 TA-Lib 时,核心指标使用原生实现
- 安装 TA-Lib 后,可通过
talib=True启用部分指标的 C 库实现 - 安装 Numba 后,部分计算密集型指标可获得更好的性能
- K 线形态始终使用项目内置的原生实现
示例:
df.ta.ema(length=20)
df.ta.ema(length=20, talib=True)
df.ta.cdl_pattern(name="all")pandas_ta_classic/ 核心源码
tests/ 测试用例
docs/ 文档
examples/ 示例代码
tools/ 开发辅助工具
pytest如需运行包含可选依赖的测试,请先安装对应依赖组。
本项目基于 MIT License 开源,详情请查看 LICENSE 文件。