pandas_ta 库并没有采用传统技术分析教科书中“趋势、震荡、成交量”等基于交易逻辑的分类方式,而是采用了更贴近量化开发实践的功能性分类体系。这种分类直接映射到其 API 调用结构上,主要分为以下三大维度:

1. 按指标类别分类

这是 pandas_ta 最核心的组织方式,所有指标被归入约 15 个功能模块中。每个模块对应一个独立的命名空间,可通过 ta.{category}() 或 df.ta.{category}() 调用:

类别说明代表性指标
Overlaps与价格曲线重叠绘制的指标SMA, EMA, BOLL, VWAP, HMA
Momentum衡量价格变化速度与强度的振荡器RSI, MACD, STOCH, CCI, ROC
Volatility度量价格波动幅度的指标ATR, BBW, KC, NATR, THERMO
Volume结合量价关系的指标OBV, MFI, AD, CMF, VP
Trend专门用于识别/确认趋势方向的指标ADX, DMI, PSAR, SUPERTREND, VORTEX
Statistics统计学衍生指标ZSCORE, SKEW, KURT, QUANTILE
Cycles周期/时间序列分析指标EBSW, REFLEX, INVERTEDHAMMER
PatternK线形态识别CDL_DOJI, CDL_ENGULFING 等60+种
Performance收益率与风险绩效度量LOGRET, PCTCHANGE, SHARPE, SORTINO
Utils / Helpers辅助计算工具CROSS, ABOVE, BELOW, IFELSE

注意: 部分指标可能同时具备多重属性(如 MACD 既是动量也是趋势指标),pandas_ta 会根据其主要用途将其归入单一类别。例如 MACD 被归入 Momentum 而非 Trend。

2. 按调用粒度分类

除了功能类别,pandas_ta 还提供了三种不同粒度的使用接口,适应不同的开发场景:

  • 单指标调用: ta.rsi(close, length=14) —— 精确控制单个指标的参数,适合调试和定制化策略。
  • 类别批量调用: df.ta.momentum(length=14, append=True) —— 一次性计算该类别下所有指标,适合特征工程探索。
  • 自定义策略: df.ta.strategy(name="my_strategy", config=[...]) —— 通过 JSON/YAML 配置文件定义指标组合,适合生产环境中的可复现研究。

3. 按数据依赖分类

这一分类虽未在文档中显式标注,但在实际使用中至关重要:

  • 仅依赖收盘价: 如 EMA、RSI,只需 close 列即可计算。
  • 依赖 OHLC 多列: 如 ATR、BOLL、SUPERTREND,需要完整的开高低收数据。
  • 依赖成交量: 如 OBV、MFI、AD,必须提供 volume 列,否则返回 NaN。
  • 依赖外部数据: 如 VP(成交量分布)需要指定价格区间参数;部分统计指标可能需要额外传入基准序列。

4. 与传统分类的差异提醒

许多交易者习惯按“趋势型 / 震荡型 / 量能型”来记忆指标,但 pandas_ta 的 Overlaps 类别是一个独特设计——它纯粹基于可视化位置(是否与K线同轴绘制)而非交易逻辑。这意味着:

  • EMA(趋势跟踪)和 BOLL(波动率通道)同属 Overlaps;
  • ADX(纯趋势强度)却被归入 Trend 而非 Overlaps;
  • VWAP(量价趋势)也在 Overlaps 中。

因此,在使用 pandas_ta 时,建议以功能模块为索引查找指标,而非套用传统教科书分类。可通过 df.ta.indicators() 获取完整指标列表及其所属类别,或通过 ta.Category 字典对象查看各类别下所有可用指标。

更多推荐