TA-Lib

q.indicator.talib wraps every TA-Lib indicator in a pandas-friendly signature. The provider path is explicit because formulas and warm-up behavior can differ from native and pandas-ta implementations.

Sample data

We use qrt’s bundled AAPL sample dataset — loaded offline via q.data.datasets.load, no network dependency (see the Data tutorial for more on q.data):

import pandas as pd

import qrt as q

aapl = q.data.datasets.load("aapl")
aapl.tail()
open high low close volume
datetime
2026-07-13 317.019989 323.450012 315.779999 317.309998 43257800
2026-07-14 313.760010 316.190002 311.910004 314.859985 36336800
2026-07-15 317.619995 328.730011 317.320007 327.500000 60957600
2026-07-16 328.010010 334.679993 326.790009 333.260010 62970600
2026-07-17 331.980011 334.989990 329.000000 333.739990 63365300

Single-output indicators return a Series named after the indicator; multi-output indicators return a DataFrame with TA-Lib’s output names as columns:

rsi = q.indicator.talib.RSI(aapl)
atr = q.indicator.talib.ATR(aapl, timeperiod=20)
macd = q.indicator.talib.MACD(aapl)

pd.concat([rsi, atr, macd], axis=1).tail()
rsi atr macd macdsignal macdhist
datetime
2026-07-13 64.170933 7.852924 5.248546 2.576021 2.672525
2026-07-14 61.464187 7.730277 5.482192 3.157255 2.324937
2026-07-15 68.780593 8.037265 6.611093 3.848023 2.763070
2026-07-16 71.441496 8.029901 7.879707 4.654360 3.225348
2026-07-17 71.658274 7.927905 8.822128 5.487913 3.334215
Back to top