Pandas TA 入门教程:三分钟跑通 130+ 技术指标计算
【免费下载链接】pandas-taTechnical Analysis Indicators - Pandas TA is an easy to use Python 3 Pandas Extension with 130+ Indicators项目地址: https://gitcode.com/gh_mirrors/pa/pandas-ta
Pandas TA 是一个基于 Pandas 的技术指标计算库,内置 130 多个技术指标,覆盖动能、趋势、波动率、成交量等 10 大类。安装后直接在 DataFrame 上调用df.ta.sma()就能拿到结果,不用手推公式、不用转换数据。这篇教程按"装好 → 算第一个均线 → 生成交易信号"的路径走一遍,每步都是最小可运行示例。
手算指标有多费劲
自己算过 RSI 吗?滚动的平滑 RMA(一种衰减加权平均)、空值填充、再给结果列起个带参数的名字,一个指标要写十几行。换 10 只股票跑同一套公式,参数和命名还得保持一致,不然列名就乱套了。麻烦的根源是:指标公式散落在业务代码里,没有统一入口。
给 DataFrame 加个前缀就搞定一半:Pandas TA 是什么
Pandas TA 是 Pandas 的 Python 3 扩展,依赖 numpy 和 pandas(版本参考仓库的 requirements.txt)。核心思路:把全部指标函数挂到 DataFrame 的ta属性上——
- 调
df.ta.rsi()自动读取 close 列,不用手动传列 - 结果列名统一,如
SMA_10、RSI_14,参数值直接体现在列名里 append=True把结果直接写回原表;df.ta.indicators()可列出所有可用指标
按类别的分布(数据来自仓库 README):
| 类别 | 数量 | 代表指标 |
|---|---|---|
| momentum 动能 | 41 | macd、rsi、stoch、cci |
| overlap 重叠(均线族) | 33 | sma、ema、hma、vwap |
| trend 趋势 | 18 | adx、psar、ttm_trend |
| volatility 波动 | 14 | atr、bbands、donchian |
| volume 成交量 | 15 | obv、ad、mfi |
| candles 蜡烛形态 | 64 | doji、ha(平均K线) |
入口实现在 pandas_ta/core.py,其余指标代码按上面这些类别分目录存放。
三分钟跑通:安装与第一个 SMA
📊 装两个包,yfinance 负责拉取行情数据:
pip install pandas-ta yfinance然后算第一个技术指标计算:
import pandas as pd import pandas_ta as ta df = pd.DataFrame().ta.ticker("AAPL") # 拉取 AAPL 日线 df.ta.sma(length=10, append=True) # 算 10 日简单移动均线 print(df["SMA_10"].tail()) # 看最后 5 个值输出是 5 个数字:新列SMA_10即过去 10 日收盘价的均值,前 9 行为空(窗口未满)。想查某个参数含义,解释器里help(ta.sma)即可。
实战演练:用金叉生成进出场信号
最经典的场景是金叉(短期均线上穿长期均线,常被视为买入信号)。完整闭环:输入是上一步的 AAPL 数据,操作是一行均线比较,结果是两个布尔信号列:
df["GC"] = df.ta.sma(50, append=True) > df.ta.sma(200, append=True) sig = df.ta.tsignals(df.GC, asbool=True, append=True) print(df[["TS_Entries", "TS_Exits"]].tail())GC是布尔趋势列(True 表示 50 日线在 200 日线上方)。tsignals找出其中的转折点:False 变 True 的位置记为TS_Entries(入场),True 变 False 记为TS_Exits(出场)。这两列可直接喂给 vectorbt 等回测框架,完整回测示例在 examples/ 目录。
进阶:Strategy 批量跑指标与常见坑
逐个调用指标太慢。Strategy 是"命名指标组":用一个字典列表定义(每个字典的kind是指标名),调df.ta.strategy()即可,默认全核多进程并行计算。库自带 CommonStrategy(常用小集合)和 AllStrategy(一次跑全部),也可以按类别跑,例如只跑 momentum。
几个容易踩的坑:
dpo和ichimoku默认存在前视(用到未来数据)问题,回测时设lookahead=Falsevwap要求 DataFrame 索引是 DatetimeIndex- 蜡烛形态指标依赖 TA-Lib,没装就只能用内置的少数形态
完整指标清单和参数文档见 README.md,examples 里还有基础用法、Strategy、vectorbt 回测 3 个示例 Notebook。上手之后,下一步就是把自己手写的指标公式搬进 Strategy 里批量跑。
【免费下载链接】pandas-taTechnical Analysis Indicators - Pandas TA is an easy to use Python 3 Pandas Extension with 130+ Indicators项目地址: https://gitcode.com/gh_mirrors/pa/pandas-ta
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考