pip install tindicators
from tindicators import ti
Example usage:
>>> import numpy as np
>>> ti.sma(np.arange(10), 3)
array([nan, nan, 1., 2., 3., 4., 5., 6., 7., 8.])
There are currently 161 indicators available in tindicators v0.9.12.
Source: Technical Analysis from A to Z
Implementation: dema.cc
Signature:
ti.dema(
series: np.ndarray,
period
) -> NamedTuple(...,
dema = np.ndarray
)
Source: Technical Analysis from A to Z
Implementation: ema.cc
Signature:
ti.ema(
series: np.ndarray,
period
) -> NamedTuple(...,
ema = np.ndarray
)
Source: Pearson, Neuvo, Astola, Gabbouj, Generalized Hampel Filters
Implementation: hfsma.cc
Signature:
ti.hfsma(
series: np.ndarray,
sma_period,
k,
threshold
) -> NamedTuple(...,
hfsma = np.ndarray
)
Source: -
Implementation: hma.cc
Signature:
ti.hma(
series: np.ndarray,
period
) -> NamedTuple(...,
hma = np.ndarray
)
Source: Pearson, Neuvo, Astola, Gabbouj, Generalized Hampel Filters
Implementation: hfema.cc
Signature:
ti.hfema(
series: np.ndarray,
ema_period,
k,
threshold
) -> NamedTuple(...,
hfema = np.ndarray
)
Source: Technical Analysis from A to Z
Implementation: sma.cc
Signature:
ti.sma(
series: np.ndarray,
period
) -> NamedTuple(...,
sma = np.ndarray
)
Source: Ehlers, Time Warp - Without Space Travel
Implementation: lf.cc
Signature:
ti.lf(
series: np.ndarray,
gamma
) -> NamedTuple(...,
lf = np.ndarray
)
Source: Stocks & Commodities V. 36:03 (8–11): Recursive Median Filters by John F. Ehlers
Implementation: rmf.cc
Signature:
ti.rmf(
series: np.ndarray,
critical_period,
median_period
) -> NamedTuple(...,
rmf = np.ndarray
)
Source: Ehlers. Rocket Science for Traders, pp. 182-183
Implementation: mama.cc
Signature:
ti.mama(
series: np.ndarray,
fastlimit,
slowlimit
) -> NamedTuple(...,
mama = np.ndarray,
fama = np.ndarray
)
Source: Satchwell. Regularization. Stocks & Commodities V. 21:7 (38-41)
Implementation: rema.cc
Signature:
ti.rema(
series: np.ndarray,
period,
lambda
) -> NamedTuple(...,
rema = np.ndarray
)
Source: Technical Analysis from A to Z
Implementation: tema.cc
Signature:
ti.tema(
series: np.ndarray,
period
) -> NamedTuple(...,
tema = np.ndarray
)
Source: Technical Analysis from A to Z
Implementation: trima.cc
Signature:
ti.trima(
series: np.ndarray,
period
) -> NamedTuple(...,
trima = np.ndarray
)
Source: -
Implementation: vidya.cc
Signature:
ti.vidya(
series: np.ndarray,
short period,
long period,
alpha
) -> NamedTuple(...,
vidya = np.ndarray
)
Source: -
Implementation: vwma.cc
Signature:
ti.vwma(
close: np.ndarray,
volume: np.ndarray,
period
) -> NamedTuple(...,
vwma = np.ndarray
)
Source: -
Implementation: vwap.cc
Signature:
ti.vwap(
high: np.ndarray,
low: np.ndarray,
close: np.ndarray,
volume: np.ndarray,
period
) -> NamedTuple(...,
vwap = np.ndarray
)
Source: Technical Analysis from A to Z
Implementation: wilders.cc
Signature:
ti.wilders(
series: np.ndarray,
period
) -> NamedTuple(...,
wilders = np.ndarray
)
Source: Technical Analysis from A to Z
Implementation: wma.cc
Signature:
ti.wma(
series: np.ndarray,
period
) -> NamedTuple(...,
wma = np.ndarray
)
Source: -
Implementation: zlema.cc
Signature:
ti.zlema(
series: np.ndarray,
period
) -> NamedTuple(...,
zlema = np.ndarray
)
Source: Meyers. The Japanese Yen, Recursed
Implementation: rmta.cc
Signature:
ti.rmta(
series: np.ndarray,
period,
beta
) -> NamedTuple(...,
rmta = np.ndarray
)
Source: Gaussian and Other Low Lag Filters - John Ehlers
Implementation: gf1.cc
Signature:
ti.gf1(
series: np.ndarray,
period
) -> NamedTuple(...,
gf1 = np.ndarray
)
Source: Gaussian and Other Low Lag Filters - John Ehlers
Implementation: gf2.cc
Signature:
ti.gf2(
series: np.ndarray,
period
) -> NamedTuple(...,
gf2 = np.ndarray
)
Source: Gaussian and Other Low Lag Filters - John Ehlers
Implementation: gf3.cc
Signature:
ti.gf3(
series: np.ndarray,
period
) -> NamedTuple(...,
gf3 = np.ndarray
)
Source: Gaussian and Other Low Lag Filters - John Ehlers
Implementation: gf4.cc
Signature:
ti.gf4(
series: np.ndarray,
period
) -> NamedTuple(...,
gf4 = np.ndarray
)
Source: Raudys, A., Lenčiauskas, V., & Malčius, E. (2013). Moving Averages for Financial Data Smoothing. Information and Software Technologies, 34–45. doi:10.1007/978-3-642-41947-8_4
Implementation: ehma.cc
Signature:
ti.ehma(
series: np.ndarray,
period
) -> NamedTuple(...,
ehma = np.ndarray
)
Source: The Distribution of Share Prices and Elastic Time and Volume Weighted Moving Averages, Christian P. Fries, preprint
Implementation: evwma.cc
Signature:
ti.evwma(
close: np.ndarray,
volume: np.ndarray,
period,
gamma
) -> NamedTuple(...,
evwma = np.ndarray
)
Source: LEO MOVING AVERAGE + SUPPORT/RESISTANCE
Implementation: lma.cc
Signature:
ti.lma(
close: np.ndarray,
period
) -> NamedTuple(...,
lma = np.ndarray
)
Source: -
Implementation: pwma.cc
Signature:
ti.pwma(
series: np.ndarray,
period,
power
) -> NamedTuple(...,
pwma = np.ndarray
)
Source: Raudys, A., Lenčiauskas, V., & Malčius, E. (2013). Moving Averages for Financial Data Smoothing. Information and Software Technologies, 34–45. doi:10.1007/978-3-642-41947-8_4
Implementation: swma.cc
Signature:
ti.swma(
series: np.ndarray,
period
) -> NamedTuple(...,
swma = np.ndarray
)
Source: Stocks & Commodities V. 12:1 (11-19): Smoothing Data With Faster Moving Averages by Patrick G. Mulloy
Implementation: dwma.cc
Signature:
ti.dwma(
series: np.ndarray,
period
) -> NamedTuple(...,
dwma = np.ndarray
)
Source: V.18:1 (56-60): More Responsive Moving Averages by Joe Sharp,Ph.D.
Implementation: shmma.cc
Signature:
ti.shmma(
series: np.ndarray,
period
) -> NamedTuple(...,
shmma = np.ndarray
)
Source: Stocks & Commodities V. 31:10 (26-30): Build A Better Moving Average by Richard D. Ahrens
Implementation: ahma.cc
Signature:
ti.ahma(
series: np.ndarray,
period
) -> NamedTuple(...,
ahma = np.ndarray
)
Source: V.16:1 (33-37): Smoothing Techniques For More Accurate Signals by Tim Tillson
Implementation: t3.cc
Signature:
ti.t3(
series: np.ndarray,
period,
v
) -> NamedTuple(...,
t3 = np.ndarray
)
Source: Stocks & Commodities V. 34:08 (26–29): The Middle-High-Low Moving Average by Vitali Apirine
Implementation: mhlma.cc
Signature:
ti.mhlma(
series: np.ndarray,
period,
ma_period
) -> NamedTuple(...,
mhlsma = np.ndarray,
mhlema = np.ndarray
)
Source: Trading Techniques. Measuring market choppiness with chaos
Implementation: cmi.cc
Signature:
ti.cmi(
high: np.ndarray,
low: np.ndarray,
close: np.ndarray,
period
) -> NamedTuple(...,
cmi = np.ndarray
)
Source: Shepard, D. (1968). A two-dimensional interpolation function for irregularly-spaced data. Proceedings of the 1968 23rd ACM National Conference on -. doi:10.1145/800186.810616
Implementation: idwma.cc
Signature:
ti.idwma(
series: np.ndarray,
period,
exponent
) -> NamedTuple(...,
idwma = np.ndarray
)
Source: Mathworks. Moving Standard Deviation
Implementation: emsd.cc
Signature:
ti.emsd(
series: np.ndarray,
period,
ma_period
) -> NamedTuple(...,
emsd = np.ndarray
)
Source: Australian Bureau of Statistics. Time Series Analysis: The Process of Seasonal Adjustment
Implementation: hwma.cc
Signature:
ti.hwma(
series: np.ndarray,
period
) -> NamedTuple(...,
hwma = np.ndarray
)
Source: Ehlers. Rocket Science for Traders, pp. 68-69
Implementation: hd.cc
Signature:
ti.hd(
series: np.ndarray
) -> NamedTuple(...,
hd = np.ndarray
)
Source: Stocks & Commodities V. 28:3 (30-37): The McGinley Dynamic by Brian Twomey
Implementation: mgdyn.cc
Signature:
ti.mgdyn(
series: np.ndarray,
N
) -> NamedTuple(...,
mgdyn = np.ndarray
)
Source: -
Implementation: linreg.cc
Signature:
ti.linreg(
series: np.ndarray,
period
) -> NamedTuple(...,
linreg = np.ndarray
)
Source: -
Implementation: linregintercept.cc
Signature:
ti.linregintercept(
series: np.ndarray,
period
) -> NamedTuple(...,
linregintercept = np.ndarray
)
Source: -
Implementation: linregslope.cc
Signature:
ti.linregslope(
series: np.ndarray,
period
) -> NamedTuple(...,
linregslope = np.ndarray
)
Source: -
Implementation: tsf.cc
Signature:
ti.tsf(
series: np.ndarray,
period
) -> NamedTuple(...,
tsf = np.ndarray
)
Source: Technical Analysis from A to Z
Implementation: fosc.cc
Signature:
ti.fosc(
series: np.ndarray,
period
) -> NamedTuple(...,
fosc = np.ndarray
)
Source: Technical Analysis from A to Z
Implementation: bbands.cc
Signature:
ti.bbands(
series: np.ndarray,
period,
stddev
) -> NamedTuple(...,
bbands_lower = np.ndarray,
bbands_middle = np.ndarray,
bbands_upper = np.ndarray
)
Source: Ehlers. POLES, ZEROS, and HIGHER ORDER FILTERS
Implementation: bf2.cc
Signature:
ti.bf2(
series: np.ndarray,
period
) -> NamedTuple(...,
bf2 = np.ndarray
)
Source: Ehlers. POLES, ZEROS, and HIGHER ORDER FILTERS
Implementation: bf3.cc
Signature:
ti.bf3(
series: np.ndarray,
period
) -> NamedTuple(...,
bf3 = np.ndarray
)
Source: Colby. The Encyclopedia of Technical Market Indicators, p. 337
Implementation: kc.cc
Signature:
ti.kc(
high: np.ndarray,
low: np.ndarray,
close: np.ndarray,
period,
multiple
) -> NamedTuple(...,
kc_lower = np.ndarray,
kc_middle = np.ndarray,
kc_upper = np.ndarray
)
Source: -
Implementation: kama.cc
Signature:
ti.kama(
series: np.ndarray,
period
) -> NamedTuple(...,
kama = np.ndarray
)
Source: Technical Analysis from A to Z
Implementation: psar.cc
Signature:
ti.psar(
high: np.ndarray,
low: np.ndarray,
acceleration factor step,
acceleration factor maximum
) -> NamedTuple(...,
psar = np.ndarray
)
Source: Colby. The Encyclopedia of Technical Market Indicators, p. 534
Implementation: pc.cc
Signature:
ti.pc(
high: np.ndarray,
low: np.ndarray,
period
) -> NamedTuple(...,
pc_low = np.ndarray,
pc_high = np.ndarray
)
Source: Colby. The Encyclopedia of Technical Market Indicators, p. 545
Implementation: pbands.cc
Signature:
ti.pbands(
high: np.ndarray,
low: np.ndarray,
close: np.ndarray,
period
) -> NamedTuple(...,
pbands_lower = np.ndarray,
pbands_upper = np.ndarray
)
Source: Ehlers. Rocket Science for Traders, p.193
Implementation: edcf.cc
Signature:
ti.edcf(
series: np.ndarray,
length
) -> NamedTuple(...,
edcf = np.ndarray
)
Source: Ehlers, FRAMA – Fractal Adaptive Moving Average
Implementation: frama.cc
Signature:
ti.frama(
high: np.ndarray,
low: np.ndarray,
period,
average_period
) -> NamedTuple(...,
frama = np.ndarray
)
Source: Stocks & Commodities V. 32:1 (16-25): Predictive And Successful Indicators by John F. Ehlers, PhD
Implementation: roof.cc
Signature:
ti.roof(
series: np.ndarray
) -> NamedTuple(...,
roof = np.ndarray
)
Source: Stocks & Commodities V. 32:1 (16-25): Predictive And Successful Indicators by John F. Ehlers, PhD
Implementation: ssmooth.cc
Signature:
ti.ssmooth(
series: np.ndarray
) -> NamedTuple(...,
ssmooth = np.ndarray
)
Source: Pearson, Neuvo, Astola, Gabbouj, Generalized Hampel Filters
Implementation: hf.cc
Signature:
ti.hf(
series: np.ndarray,
period,
threshold
) -> NamedTuple(...,
hf = np.ndarray
)
Source: Technical Analysis from A to Z
Implementation: ad.cc
Signature:
ti.ad(
high: np.ndarray,
low: np.ndarray,
close: np.ndarray,
volume: np.ndarray
) -> NamedTuple(...,
ad = np.ndarray
)
Source: Technical Analysis from A to Z
Implementation: adosc.cc
Signature:
ti.adosc(
high: np.ndarray,
low: np.ndarray,
close: np.ndarray,
volume: np.ndarray,
short period,
long period
) -> NamedTuple(...,
adosc = np.ndarray
)
Source: Headley. Big Trends In Trading, p. 92
Implementation: abands.cc
Signature:
ti.abands(
high: np.ndarray,
low: np.ndarray,
close: np.ndarray,
period
) -> NamedTuple(...,
abands_lower = np.ndarray,
abands_upper = np.ndarray,
abands_middle = np.ndarray
)
Source: -
Implementation: apo.cc
Signature:
ti.apo(
series: np.ndarray,
short period,
long period
) -> NamedTuple(...,
apo = np.ndarray
)
Source: Technical Analysis from A to Z
Implementation: aroon.cc
Signature:
ti.aroon(
high: np.ndarray,
low: np.ndarray,
period
) -> NamedTuple(...,
aroon_down = np.ndarray,
aroon_up = np.ndarray
)
Source: -
Implementation: aroonosc.cc
Signature:
ti.aroonosc(
high: np.ndarray,
low: np.ndarray,
period
) -> NamedTuple(...,
aroonosc = np.ndarray
)
Source: -
Implementation: ao.cc
Signature:
ti.ao(
high: np.ndarray,
low: np.ndarray
) -> NamedTuple(...,
ao = np.ndarray
)
Source: -
Implementation: bop.cc
Signature:
ti.bop(
open: np.ndarray,
high: np.ndarray,
low: np.ndarray,
close: np.ndarray
) -> NamedTuple(...,
bop = np.ndarray
)
Source: Kirkpatrick, Dahlquist. Technical Analysis: The Complete Resource for Financial Market Technicians, pp. 419, 421
Implementation: cmf.cc
Signature:
ti.cmf(
high: np.ndarray,
low: np.ndarray,
close: np.ndarray,
volume: np.ndarray,
period
) -> NamedTuple(...,
cmf = np.ndarray
)
Source: Stocks & Commodities V. 32:1 (16-25): Predictive And Successful Indicators by John F. Ehlers, PhD
Implementation: mesastoch.cc
Signature:
ti.mesastoch(
series: np.ndarray,
period,
max_cycle_considered
) -> NamedTuple(...,
mesastoch = np.ndarray
)
Source: Technical Analysis from A to Z
Implementation: cmo.cc
Signature:
ti.cmo(
series: np.ndarray,
period
) -> NamedTuple(...,
cmo = np.ndarray
)
Source: Technical Analysis from A to Z
Implementation: cci.cc
Signature:
ti.cci(
high: np.ndarray,
low: np.ndarray,
close: np.ndarray,
period
) -> NamedTuple(...,
cci = np.ndarray
)
Source: Colby. The Encyclopedia of Technical Market Indicators, p. 168
Implementation: copp.cc
Signature:
ti.copp(
series: np.ndarray,
roc_shorter_period,
roc_longer_period,
wma_period
) -> NamedTuple(...,
copp = np.ndarray
)
Source: Technical Analysis from A to Z
Implementation: dpo.cc
Signature:
ti.dpo(
series: np.ndarray,
period
) -> NamedTuple(...,
dpo = np.ndarray
)
Source: Technical Analysis from A to Z
Implementation: emv.cc
Signature:
ti.emv(
high: np.ndarray,
low: np.ndarray,
volume: np.ndarray
) -> NamedTuple(...,
emv = np.ndarray
)
Source: -
Implementation: fisher.cc
Signature:
ti.fisher(
high: np.ndarray,
low: np.ndarray,
period
) -> NamedTuple(...,
fisher = np.ndarray,
fisher_signal = np.ndarray
)
Source: Colby. The Encyclopedia of Technical Market Indicators, pp. 275, 774
Implementation: fi.cc
Signature:
ti.fi(
close: np.ndarray,
volume: np.ndarray,
period
) -> NamedTuple(...,
fi = np.ndarray
)
Source: Technical Analysis from A to Z
Implementation: kvo.cc
Signature:
ti.kvo(
high: np.ndarray,
low: np.ndarray,
close: np.ndarray,
volume: np.ndarray,
short period,
long period
) -> NamedTuple(...,
kvo = np.ndarray
)
Source: Colby. The Encyclopedia Of Technical Market Indicators, pp. 346-347
Implementation: kst.cc
Signature:
ti.kst(
series: np.ndarray,
roc1,
roc2,
roc3,
roc4,
ma1,
ma2,
ma3,
ma4
) -> NamedTuple(...,
kst = np.ndarray,
kst_signal = np.ndarray
)
Source: -
Implementation: marketfi.cc
Signature:
ti.marketfi(
high: np.ndarray,
low: np.ndarray,
volume: np.ndarray
) -> NamedTuple(...,
marketfi = np.ndarray
)
Source: Technical Analysis from A to Z
Implementation: mass.cc
Signature:
ti.mass(
high: np.ndarray,
low: np.ndarray,
period
) -> NamedTuple(...,
mass = np.ndarray
)
Source: Technical Analysis from A to Z
Implementation: mfi.cc
Signature:
ti.mfi(
high: np.ndarray,
low: np.ndarray,
close: np.ndarray,
volume: np.ndarray,
period
) -> NamedTuple(...,
mfi = np.ndarray
)
Source: Technical Analysis from A to Z
Implementation: macd.cc
Signature:
ti.macd(
series: np.ndarray,
short period,
long period,
signal period
) -> NamedTuple(...,
macd = np.ndarray,
macd_signal = np.ndarray,
macd_histogram = np.ndarray
)
Source: Technical Analysis from A to Z
Implementation: nvi.cc
Signature:
ti.nvi(
close: np.ndarray,
volume: np.ndarray
) -> NamedTuple(...,
nvi = np.ndarray
)
Source: Technical Analysis from A to Z
Implementation: obv.cc
Signature:
ti.obv(
close: np.ndarray,
volume: np.ndarray
) -> NamedTuple(...,
obv = np.ndarray
)
Source: -
Implementation: ppo.cc
Signature:
ti.ppo(
series: np.ndarray,
short period,
long period
) -> NamedTuple(...,
ppo = np.ndarray
)
Source: Colby. The Encyclopedia of Technical Market Indicators, p. 520
Implementation: pfe.cc
Signature:
ti.pfe(
series: np.ndarray,
period,
ema_period
) -> NamedTuple(...,
pfe = np.ndarray
)
Source: -
Implementation: pvi.cc
Signature:
ti.pvi(
close: np.ndarray,
volume: np.ndarray
) -> NamedTuple(...,
pvi = np.ndarray
)
Source: Colby. The Encyclopedia of Technical Market Indicators, p. 545
Implementation: posc.cc
Signature:
ti.posc(
high: np.ndarray,
low: np.ndarray,
close: np.ndarray,
period,
ema_period
) -> NamedTuple(...,
posc = np.ndarray
)
Source: Technical Analysis from A to Z
Implementation: qstick.cc
Signature:
ti.qstick(
open: np.ndarray,
close: np.ndarray,
period
) -> NamedTuple(...,
qstick = np.ndarray
)
Source: Technical Analysis from A to Z
Implementation: rsi.cc
Signature:
ti.rsi(
series: np.ndarray,
period
) -> NamedTuple(...,
rsi = np.ndarray
)
Source: Blau. True Strength Index. Stocks & Commodities V. 9:11 (438-446).pdf
Implementation: tsi.cc
Signature:
ti.tsi(
series: np.ndarray,
y_period,
z_period
) -> NamedTuple(...,
tsi = np.ndarray
)
Source: Relative Momentum Index: Modifying RSI by Roger Altman, Stocks and Commodities, Feb ‘93
Implementation: rmi.cc
Signature:
ti.rmi(
series: np.ndarray,
period,
lookback_period
) -> NamedTuple(...,
rmi = np.ndarray
)
Source: Colby. The Encyclopedia of Technical Market Indicators, p. 618
Implementation: rvi.cc
Signature:
ti.rvi(
series: np.ndarray,
ema_period,
stddev_period
) -> NamedTuple(...,
rvi = np.ndarray
)
Source: Blau. Stochastic Momentum. Stocks & Commodities V. 11:1 (11-18).pdf
Implementation: smi.cc
Signature:
ti.smi(
high: np.ndarray,
low: np.ndarray,
close: np.ndarray,
q_period,
r_period,
s_period
) -> NamedTuple(...,
smi = np.ndarray
)
Source: Technical Analysis from A to Z
Implementation: stoch.cc
Signature:
ti.stoch(
high: np.ndarray,
low: np.ndarray,
close: np.ndarray,
k period,
k slowing period,
d period
) -> NamedTuple(...,
stoch_k = np.ndarray,
stoch_d = np.ndarray
)
Source: -
Implementation: stochrsi.cc
Signature:
ti.stochrsi(
series: np.ndarray,
period
) -> NamedTuple(...,
stochrsi = np.ndarray
)
Source: Technical Analysis from A to Z
Implementation: trix.cc
Signature:
ti.trix(
series: np.ndarray,
period
) -> NamedTuple(...,
trix = np.ndarray
)
Source: Technical Analysis from A to Z
Implementation: wad.cc
Signature:
ti.wad(
high: np.ndarray,
low: np.ndarray,
close: np.ndarray
) -> NamedTuple(...,
wad = np.ndarray
)
Source: Technical Analysis from A to Z
Implementation: willr.cc
Signature:
ti.willr(
high: np.ndarray,
low: np.ndarray,
close: np.ndarray,
period
) -> NamedTuple(...,
willr = np.ndarray
)
Source: Technical Analysis from A to Z
Implementation: ultosc.cc
Signature:
ti.ultosc(
high: np.ndarray,
low: np.ndarray,
close: np.ndarray,
short period,
medium period,
long period
) -> NamedTuple(...,
ultosc = np.ndarray
)
Source: Technical Analysis from A to Z
Implementation: vhf.cc
Signature:
ti.vhf(
series: np.ndarray,
period
) -> NamedTuple(...,
vhf = np.ndarray
)
Source: Technical Analysis from A to Z
Implementation: vosc.cc
Signature:
ti.vosc(
volume: np.ndarray,
short period,
long period
) -> NamedTuple(...,
vosc = np.ndarray
)
Source: Kaufman. Trading Systems and Methods
Implementation: er.cc
Signature:
ti.er(
series: np.ndarray,
period
) -> NamedTuple(...,
er = np.ndarray
)
Source: Buff Pelz Dormeier - Investing with Volume Analysis_ Identify, Follow, and Profit from Trends-FT Press (2011)
Implementation: pvt.cc
Signature:
ti.pvt(
close: np.ndarray,
volume: np.ndarray
) -> NamedTuple(...,
pvt = np.ndarray
)
Source: Stocks & Commodities V. 25:3 (36-42): Trading Systems And Fractals by Radha Panini
Implementation: hurst.cc
Signature:
ti.hurst(
series: np.ndarray,
period
) -> NamedTuple(...,
hurst = np.ndarray,
fractal_dim = np.ndarray
)
Source: Ehlers. Rocket Science for Traders, pp. 229-231
Implementation: arsi.cc
Signature:
ti.arsi(
series: np.ndarray,
cycpart
) -> NamedTuple(...,
arsi = np.ndarray
)
Source: Technical Analysis from A to Z
Implementation: dm.cc
Signature:
ti.dm(
high: np.ndarray,
low: np.ndarray,
period
) -> NamedTuple(...,
plus_dm = np.ndarray,
minus_dm = np.ndarray
)
Source: Technical Analysis from A to Z
Implementation: dx.cc
Signature:
ti.dx(
high: np.ndarray,
low: np.ndarray,
period
) -> NamedTuple(...,
dx = np.ndarray
)
Source: Technical Analysis from A to Z
Implementation: di.cc
Signature:
ti.di(
high: np.ndarray,
low: np.ndarray,
close: np.ndarray,
period
) -> NamedTuple(...,
plus_di = np.ndarray,
minus_di = np.ndarray
)
Source: Technical Analysis from A to Z
Implementation: adx.cc
Signature:
ti.adx(
high: np.ndarray,
low: np.ndarray,
period
) -> NamedTuple(...,
adx = np.ndarray
)
Source: Technical Analysis from A to Z
Implementation: adxr.cc
Signature:
ti.adxr(
high: np.ndarray,
low: np.ndarray,
period
) -> NamedTuple(...,
adxr = np.ndarray
)
Source: -
Implementation: msw.cc
Signature:
ti.msw(
series: np.ndarray,
period
) -> NamedTuple(...,
msw_sine = np.ndarray,
msw_lead = np.ndarray
)
Source: -
Implementation: mom.cc
Signature:
ti.mom(
series: np.ndarray,
period
) -> NamedTuple(...,
mom = np.ndarray
)
Source: -
Implementation: roc.cc
Signature:
ti.roc(
series: np.ndarray,
period
) -> NamedTuple(...,
roc = np.ndarray
)
Source: Technical Analysis from A to Z
Implementation: rocr.cc
Signature:
ti.rocr(
series: np.ndarray,
period
) -> NamedTuple(...,
rocr = np.ndarray
)
Source: -
Implementation: lag.cc
Signature:
ti.lag(
series: np.ndarray,
period
) -> NamedTuple(...,
lag = np.ndarray
)
Source: -
Implementation: max.cc
Signature:
ti.max(
series: np.ndarray,
period
) -> NamedTuple(...,
max = np.ndarray
)
Source: -
Implementation: min.cc
Signature:
ti.min(
series: np.ndarray,
period
) -> NamedTuple(...,
min = np.ndarray
)
Source: -
Implementation: sum.cc
Signature:
ti.sum(
series: np.ndarray,
period
) -> NamedTuple(...,
sum = np.ndarray
)
Source: -
Implementation: stddev.cc
Signature:
ti.stddev(
series: np.ndarray,
period
) -> NamedTuple(...,
stddev = np.ndarray
)
Source: -
Implementation: stderr.cc
Signature:
ti.stderr(
series: np.ndarray,
period
) -> NamedTuple(...,
stderr = np.ndarray
)
Source: -
Implementation: md.cc
Signature:
ti.md(
series: np.ndarray,
period
) -> NamedTuple(...,
md = np.ndarray
)
Source: -
Implementation: var.cc
Signature:
ti.var(
series: np.ndarray,
period
) -> NamedTuple(...,
var = np.ndarray
)
Source: -
Implementation: avgprice.cc
Signature:
ti.avgprice(
open: np.ndarray,
high: np.ndarray,
low: np.ndarray,
close: np.ndarray
) -> NamedTuple(...,
avgprice = np.ndarray
)
Source: Technical Analysis from A to Z
Implementation: medprice.cc
Signature:
ti.medprice(
high: np.ndarray,
low: np.ndarray
) -> NamedTuple(...,
medprice = np.ndarray
)
Source: Technical Analysis from A to Z
Implementation: typprice.cc
Signature:
ti.typprice(
high: np.ndarray,
low: np.ndarray,
close: np.ndarray
) -> NamedTuple(...,
typprice = np.ndarray
)
Source: Technical Analysis from A to Z
Implementation: wcprice.cc
Signature:
ti.wcprice(
high: np.ndarray,
low: np.ndarray,
close: np.ndarray
) -> NamedTuple(...,
wcprice = np.ndarray
)
Source: Technical Analysis from A to Z
Implementation: atr.cc
Signature:
ti.atr(
high: np.ndarray,
low: np.ndarray,
close: np.ndarray,
period
) -> NamedTuple(...,
atr = np.ndarray
)
Source: J. Welles Wilder. New Concepts in Technical Trading Systems, 1978, pp. 21-23
Implementation: ce.cc
Signature:
ti.ce(
high: np.ndarray,
low: np.ndarray,
close: np.ndarray,
period,
coef
) -> NamedTuple(...,
ce_high = np.ndarray,
ce_low = np.ndarray
)
Source: -
Implementation: natr.cc
Signature:
ti.natr(
high: np.ndarray,
low: np.ndarray,
close: np.ndarray,
period
) -> NamedTuple(...,
natr = np.ndarray
)
Source: Technical Analysis from A to Z
Implementation: tr.cc
Signature:
ti.tr(
high: np.ndarray,
low: np.ndarray,
close: np.ndarray
) -> NamedTuple(...,
tr = np.ndarray
)
Source: Trading with Ichimoku Clouds
Implementation: ichi.cc
Signature:
ti.ichi(
high: np.ndarray,
low: np.ndarray,
period9,
period26,
period52
) -> NamedTuple(...,
ichi_tenkan_sen = np.ndarray,
ichi_kijun_sen = np.ndarray,
ichi_senkou_span_A = np.ndarray,
ichi_senkou_span_B = np.ndarray
)
Source: -
Implementation: volatility.cc
Signature:
ti.volatility(
series: np.ndarray,
period
) -> NamedTuple(...,
volatility = np.ndarray
)
Source: Technical Analysis from A to Z
Implementation: cvi.cc
Signature:
ti.cvi(
high: np.ndarray,
low: np.ndarray,
period
) -> NamedTuple(...,
cvi = np.ndarray
)
Source: -
Implementation: crossany.cc
Signature:
ti.crossany(
series: np.ndarray,
series: np.ndarray
) -> NamedTuple(...,
crossany = np.ndarray
)
Source: -
Implementation: crossover.cc
Signature:
ti.crossover(
series: np.ndarray,
series: np.ndarray
) -> NamedTuple(...,
crossover = np.ndarray
)
Source: -
Implementation: decay.cc
Signature:
ti.decay(
series: np.ndarray,
period
) -> NamedTuple(...,
decay = np.ndarray
)
Source: -
Implementation: edecay.cc
Signature:
ti.edecay(
series: np.ndarray,
period
) -> NamedTuple(...,
edecay = np.ndarray
)
Source: -
Implementation: add.cc
Signature:
ti.add(
series: np.ndarray,
series: np.ndarray
) -> NamedTuple(...,
add = np.ndarray
)
Source: -
Implementation: sub.cc
Signature:
ti.sub(
series: np.ndarray,
series: np.ndarray
) -> NamedTuple(...,
sub = np.ndarray
)
Source: -
Implementation: mul.cc
Signature:
ti.mul(
series: np.ndarray,
series: np.ndarray
) -> NamedTuple(...,
mul = np.ndarray
)
Source: -
Implementation: div.cc
Signature:
ti.div(
series: np.ndarray,
series: np.ndarray
) -> NamedTuple(...,
div = np.ndarray
)
Source: -
Implementation: abs.cc
Signature:
ti.abs(
series: np.ndarray
) -> NamedTuple(...,
abs = np.ndarray
)
Source: -
Implementation: acos.cc
Signature:
ti.acos(
series: np.ndarray
) -> NamedTuple(...,
acos = np.ndarray
)
Source: -
Implementation: asin.cc
Signature:
ti.asin(
series: np.ndarray
) -> NamedTuple(...,
asin = np.ndarray
)
Source: -
Implementation: atan.cc
Signature:
ti.atan(
series: np.ndarray
) -> NamedTuple(...,
atan = np.ndarray
)
Source: -
Implementation: ceil.cc
Signature:
ti.ceil(
series: np.ndarray
) -> NamedTuple(...,
ceil = np.ndarray
)
Source: -
Implementation: cos.cc
Signature:
ti.cos(
series: np.ndarray
) -> NamedTuple(...,
cos = np.ndarray
)
Source: -
Implementation: cosh.cc
Signature:
ti.cosh(
series: np.ndarray
) -> NamedTuple(...,
cosh = np.ndarray
)
Source: -
Implementation: exp.cc
Signature:
ti.exp(
series: np.ndarray
) -> NamedTuple(...,
exp = np.ndarray
)
Source: -
Implementation: floor.cc
Signature:
ti.floor(
series: np.ndarray
) -> NamedTuple(...,
floor = np.ndarray
)
Source: -
Implementation: ln.cc
Signature:
ti.ln(
series: np.ndarray
) -> NamedTuple(...,
ln = np.ndarray
)
Source: -
Implementation: log10.cc
Signature:
ti.log10(
series: np.ndarray
) -> NamedTuple(...,
log10 = np.ndarray
)
Source: -
Implementation: round.cc
Signature:
ti.round(
series: np.ndarray
) -> NamedTuple(...,
round = np.ndarray
)
Source: -
Implementation: sin.cc
Signature:
ti.sin(
series: np.ndarray
) -> NamedTuple(...,
sin = np.ndarray
)
Source: -
Implementation: sinh.cc
Signature:
ti.sinh(
series: np.ndarray
) -> NamedTuple(...,
sinh = np.ndarray
)
Source: -
Implementation: sqrt.cc
Signature:
ti.sqrt(
series: np.ndarray
) -> NamedTuple(...,
sqrt = np.ndarray
)
Source: -
Implementation: tan.cc
Signature:
ti.tan(
series: np.ndarray
) -> NamedTuple(...,
tan = np.ndarray
)
Source: -
Implementation: tanh.cc
Signature:
ti.tanh(
series: np.ndarray
) -> NamedTuple(...,
tanh = np.ndarray
)
Source: -
Implementation: todeg.cc
Signature:
ti.todeg(
series: np.ndarray
) -> NamedTuple(...,
degrees = np.ndarray
)
Source: -
Implementation: torad.cc
Signature:
ti.torad(
series: np.ndarray
) -> NamedTuple(...,
radians = np.ndarray
)
Source: -
Implementation: trunc.cc
Signature:
ti.trunc(
series: np.ndarray
) -> NamedTuple(...,
trunc = np.ndarray
)
Source: The Vortex Indicator
Implementation: vi.cc
Signature:
ti.vi(
high: np.ndarray,
low: np.ndarray,
close: np.ndarray,
period
) -> NamedTuple(...,
vi_p = np.ndarray,
vi_m = np.ndarray
)