Print Page  
TECHNICAL / OSCILLATORS
RSI_D(days [,offset,series])
Full Description
Developed by J. Welles Wilder, the Relative Strength Index (RSI) is a momentum oscillator that measures the speed and change of price movements. The classic way to interpret RSI is to look for oversold levels below 30 and overbought levels above 70.

Parameters

Period: RSI period in bars
offset: 0-100 (optional, defaults to 0)
series: optional, see below

Calculation

RSI = 100 - ( 100 / (1 + RS))
RS = (average of N up closes) / (average of N down closes)
N = period in bars (typically 14)

RSI is calculated as a series that smooths the impact of large price movements. The RS is calculated using moving averages that are smoothed by previous averages, as explained here: Invest Excel: Relative Strength Index. The more data points that are used to calculate the RSI, the more accurate the results. We use up to 100 bars prior to the first bar (assuming that much exists), which is a compromise between accuracy and performance.

Examples

You can use the offset parameter to spot divergence in the RSI and the price action. To screen for RSI(14) > 70, and has increased from the value 10 bars ago, enter:

RSI(14,0) > 70 And RSI(14,0) > RSI(14,10)

You can calculate the benchmark RSI to create a market timing signal. For example to exit all positions when the market is overbought (RSI > 70) enter the following sell rule:

RSI(14,0,#Bench)>70

Series Parameter

By default, technical functions access the time series of the instrument in context. Normally, that is the Stock or ETF currently being evaluated or ranked. In specialized Ranking Nodes, the context depends on the node type. For example, in an "Industry Node" (used to rank Industries against each other), the industry benchmarks are the default context.

You can specify a different time-series in several ways like: using GetSeries(), specifying a StockID directly, or using a time series id. See the examples below.

Examples

Get the latest close price using Close(0, series) using different methods for different time series.

Using the ID directly
Using the StockID for SPY:USA* Close(0, 24262)
For the Industry series of the stock being evaluated Close(0,#Industry)
Using a Time Series Id Close(0,$RUI)
For the benchmark Close(0, #Bench)
Using GetSeries
Using a fully qualified ticker Close(0, GetSeries("SPY:USA"))
When USA is your default Close(0, GetSeries("SPY"))
 
See GetSeries() for more examples like for aggregate series
* StockIDs never change

 

Pre-defined Series Ids

These are special series ids. Additional Series Ids can be found in the reference under: MISC→TIME SERIES IDs

Id Description Freq OHLC
Industry and Sector
#Sector Stock's Sector Daily C
#SubSector Stock's SubSector Daily C
#Industry Stock's Industry Daily C
#SubIndustry Stock's SubIndustry Daily C
Miscellaneous
#Bench Benchmark closing prices Daily C
#TNX 10Y Treasury Note Daily OHLC
FED Model series (chart)
#SPRP SP500 Risk Premium Weekly C
#SPEPSCY SP500 EPS CurrentY Weekly C
#SPEPSNY SP500 EPS NextY Weekly C
#SPEPSCNY SP500 EPS Blend Y Weekly C
#SPEPSQ SP500 EPS Blend Q Weekly C
#SPEPSTTM SP500 EPS Trailing 12 months Weekly C
#SPYield SP500 Yield Weekly C

 

Special Series Ids for Moving Averages & Highest/Lowest functions

Id Description Context
#Open Open prices Stock & ETF
#High High prices Stock & ETF
#Low Low prices Stock & ETF
#Vol Volumes Stock & ETF