q.indicator.pandas_ta wraps every pandas-ta-classic indicator. The provider path preserves pandas-ta’s formulas, parameters, and output names explicitly.
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()
| 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 |
Outputs keep pandas-ta’s parameterised names (e.g. BBL_20_2.0, RSI_14):
bbands = q.indicator.pandas_ta.bbands(aapl, length=20)
bbands.tail()
| datetime |
|
|
|
|
|
| 2026-07-13 |
275.218388 |
299.187001 |
323.155614 |
16.022496 |
0.878057 |
| 2026-07-14 |
275.776575 |
300.373500 |
324.970425 |
16.377560 |
0.794478 |
| 2026-07-15 |
274.735727 |
301.927499 |
329.119271 |
18.012120 |
0.970225 |
| 2026-07-16 |
273.252201 |
303.628500 |
334.004799 |
20.008859 |
0.987741 |
| 2026-07-17 |
272.685283 |
305.517999 |
338.350715 |
21.493147 |
0.929785 |
Back to top