# RSI: Relative Strength Index In TTR: Technical Trading Rules

## 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

 `1` ```RSI(price, n = 14, maType, ...) ```

## Arguments

 `price` Price series that is coercible to xts or matrix. `n` Number of periods for moving averages. `maType` Either: A function or a string naming the function to be called. A list with the first component like (1) above, and additional parameters specified as named components. See Examples. `...` Other arguments to be passed to the `maType` function in case (1) above.

## 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` and not the number of periods in which there are gains/losses.

## Value

A object of the same class as `price` or a vector (if `try.xts` fails) containing the RSI values.

## Note

The RSI is usually interpreted as an overbought/oversold (over 70 / below 30) indicator. Divergence with price may also be useful. For example, if price is making new highs/lows, but RSI is not, it could indicate a reversal.

You can calculate a stochastic RSI by using the function `stoch` on RSI values.

Joshua Ulrich

## References

The following site(s) were used to code/document this indicator:
Relative Strength Index:
http://www.fmlabs.com/reference/RSI.htm
https://www.metastock.com/Customer/Resources/TAAZ/?p=100
https://www.linnsoft.com/techind/relative-strength-index-rsi
http://www.stockcharts.com/school/doku.php?id=chart_school:technical_indicators:relative_strength_index_rsi

Stochastic RSI:
http://www.fmlabs.com/reference/StochRSI.htm
http://www.stockcharts.com/school/doku.php?id=chart_school:technical_indicators:stochrsi

See `EMA`, `SMA`, etc. for moving average options; and note Warning section. See `CMO` for a variation on RSI.
 ``` 1 2 3 4 5 6 7 8 9 10 11 12``` ```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))) ```