Learn R Programming

About

TTR is an R package that provides the most popular technical analysis functions for financial market data. Many of these functions are used as components of systematic trading strategies and financial charts.

TTR for enterprise

Available as part of the Tidelift Subscription.

The maintainers of TTR and thousands of other packages are working with Tidelift to deliver commercial support and maintenance for the open source dependencies you use to build your applications. Save time, reduce risk, and improve code health, while paying the maintainers of the exact dependencies you use. Learn more.

Supporting TTR development

If you are interested in supporting the ongoing development and maintenance of TTR, please consider becoming a sponsor.

Installation

The current release is available on CRAN, which you can install via:

install.packages("TTR")

To install the development version, you need to clone the repository and build from source, or run one of:

# lightweight
remotes::install_github("joshuaulrich/TTR")
# or
devtools::install_github("joshuaulrich/TTR")

You will need tools to compile C, C++, and Fortran code. See the relevant appendix in the R Installation and Administration manual for your operating system:

Getting Started

Here are a few examples of some of the more well-known indicators:

# "TTR Composite" (simulated data)
data(ttrc)

# Bollinger Bands
bbands <- BBands( ttrc[,c("High","Low","Close")] )

# Directional Movement Index
adx <- ADX(ttrc[,c("High","Low","Close")])

# Moving Averages
ema <- EMA(ttrc[,"Close"], n=20)
sma <- SMA(ttrc[,"Close"], n=20)

# MACD
macd <- MACD( ttrc[,"Close"] )

# RSI
rsi <- RSI(ttrc[,"Close"])

# Stochastics
stochOsc <- stoch(ttrc[,c("High","Low","Close")])

TTR works with the chartSeries() function in quantmod. Here's an example that uses chartSeries() and adds TTR-calculated indicators and overlays to the chart.

# "TTR Composite" (simulated data)
data(ttrc)

# Use quantmod's OHLCV extractor function to help create an xts object
xttrc <- xts(OHLCV(ttrc), ttrc[["Date"]])

chartSeries(xttrc, subset = "2006-09/", theme = "white")
addBBands()
addRSI()

Have a question?

Ask your question on Stack Overflow or the R-SIG-Finance mailing list (you must subscribe to post).

Contributing

Please see the Contributing Guide.

See Also

  • quantmod: quantitative financial modeling framework
  • xts: eXtensible Time Series based

on zoo

Author

Joshua Ulrich

Copy Link

Version

Install

install.packages('TTR')

Monthly Downloads

405,089

Version

0.24.4

License

GPL (>= 2)

Issues

Pull Requests

Stars

Forks

Maintainer

Last Published

November 28th, 2023

Functions in TTR (0.24.4)

OBV

On Balance Volume (OBV)
GMMA

Guppy Multiple Moving Averages
MFI

Money Flow Index
SAR

Parabolic Stop-and-Reverse
SMA

Moving Averages
SNR

Signal to Noise Ratio
EMV

Arms' Ease of Movement Value
MACD

MACD Oscillator
WPR

William's %R
VHF

Vertical Horizontal Filter
stockSymbols

Fetch Internet Data
ZigZag

Zig Zag
keltnerChannels

Keltner Channels
PBands

Construct (optionally further smoothed and centered ) volatility bands around prices
runPercentRank

Percent Rank over a Moving Window
TTR

Functions to create Technical Trading Rules (TTR)
stoch

Stochastic Oscillator / Stochastic Momentum Index
lags

Miscellaneous Tools
volatility

Volatility
chaikinVolatility

Chaikin Volatility
ROC

Rate of Change / Momentum
adjRatios

Split and dividend adjustment ratios
aroon

Aroon
williamsAD

Williams Accumulation / Distribution
TDI

Trend Detection Index
chaikinAD

Chaikin Accumulation / Distribution
rollSFM

Analysis of Running/Rolling/Moving Windows
BBands

Bollinger Bands
runSum

Analysis of Running/Rolling/Moving Windows
ttrc

Technical Trading Rule Composite data
TRIX

Triple Smoothed Exponential Oscillator
ultimateOscillator

The Ultimate Oscillator
DVI

DV Intermediate Oscillator
CLV

Close Location Value
CCI

Commodity Channel Index
RSI

Relative Strength Index
ADX

Welles Wilder's Directional Movement Index
TR

True Range / Average True Range
CTI

Ehler's Correlation Trend Indicator
DonchianChannel

Donchian Channel
CMF

Chaikin Money Flow
CMO

Chande Momentum Oscillator
KST

Know Sure Thing
DPO

De-Trended Price Oscillator