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.
Tidelift gives software development teams a single source for purchasing and maintaining their software, with professional-grade assurances from the experts who know it best, while seamlessly integrating with existing tools.
Get supported TTR with the Tidelift Subscription
If you are interested in supporting this project, please consider becoming a patron.
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:
- Windows
- MacOS (the R for Mac OS X Developer's Page might also be helpful)
- Unix-alike
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()
Ask your question on Stack Overflow or the R-SIG-Finance mailing list (you must subscribe to post).
Please see the contributing guide.