| RSI {TTR} | R Documentation |
The Relative Strength Index (RSI) calculates a ratio of the recent upward price movements to the absolute price movement. Developed by J. Welles Wilder.
RSI(price, n=14, maType="EMA", wilder=TRUE, ...)
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. |
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.
A vector containing the RSI values.
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.
Josh Ulrich
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 EMA, SMA, etc. for moving average options; and note
Warning section. See CMO for a variation on RSI.
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)))