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 through Patreon
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:
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:
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?
Please see the contributing guide.