Learn R Programming

TTR (version 0.14-0)

RSI: Relative Strength Index

Description

The Relative Strength Index (RSI) calculates a ratio of the recent upward price movements to the absolute price movement. Developed by J. Welles Wilder.

Usage

RSI(price, n=14, maType="EMA", wilder=TRUE, ...)

Arguments

price
Price series to use.
n
Number of periods for moving averages.
maType
Either: (1) A function or a string naming the function to be called, or (2) a list with the first component like (1) above, and additional parameters specified as named components. See Examples.
wilder
Only used for the default case. If TRUE, a Welles Wilder type EMA will be calculated.
...
Other arguments to be passed to the maType function in case (1) above.

Value

  • A vector containing the RSI values.

Details

The RSI calculation is RSI = 100 - 100 / ( 1 + RS ), where RS is the smoothed ratio of 'average gains over 'average' losses. The 'averages' aren't true averages, since they're divided by the value of n not the number of gain/loss periods.

References

The following site(s) were used to code/document this indicator: http://www.fmlabs.com/reference/RSI.htm http://www.equis.com/Customer/Resources/TAAZ/?c=3&p=100 http://linnsoft.com/tour/techind/rsi.htm http://stockcharts.com/education/IndicatorAnalysis/indic_RSI.html

See Also

See EMA, SMA, etc. for moving average options; and note Warning section. See CMO for a variation on RSI.

Examples

Run this code
data(ttrc)
  price <- ttrc[,"Close"]

  # Default case
  rsi <- RSI(price)

  # Case of one 'maType' for both MAs
  rsiMA1 <- RSI(price, n=14, maType="WMA", wts=ttrc[,"Volume"])

  # Case of two different 'maType's for both MAs
  rsiMA2 <- RSI(price, n=14, maType=list(maUp=list(EMA,ratio=1/5),
                maDown=list(WMA,wts=1:10)))

Run the code above in your browser using DataLab