Relative Strength Index (RSI) Analysis

Recently I have been researching longer term hold strategies. I wondered which indicators by themselves would show an edge 3 to 6 months out. I am not looking to create a strategy from the indicator alone but want to know is there a statistical edge with it. Naturally, I started with my favorite Relative Strength Index, RSI.


Test period is from 1/1/2006 to 12/31/2015. Rules in parenthesis are tested individually. There is no commission or slippage.

RSI Rule

The RSI rule is true on a cross of the value. If the RSI rule is ‘RSI2 < 5’ then this is true only on the day the two period RSI crosses from above 5 to below 5. These are the RSI rules tested:

  • RSI2 < .5
  • RSI2 < 1
  • RSI2 > 99
  • RSI2 > 99.5
  • RSI8 < 15
  • RSI8 < 20
  • RSI8 > 80
  • RSI8 > 85
  • RSI14 < 25
  • RSI14 < 30
  • RSI14 > 70
  • RSI14 > 75
  • RSI20 < 30
  • RSI20 < 35
  • RSI20 > 65
  • RSI20 > 70


  • Stock is member of the S&P 500 index
  • Stock Close is above $5
  • The 21 day moving average of Close time Volume is greater than $1 million
  • MA200 rule: (Close above MA200, Close below MA200, not used)
  • SPX MA200 rule: (SPX close above MA200, SPX close below MA200, not used)
  • RSI rule is true
  • Enter the next day at the open


  • Exit (5, 10, 21, 63, 126) days later on the open

Multiple Entries

This is important. We allow multiple entries in a stock if the Buy rule happens again. For example, the Buy rule is ‘RSI2 < 5’ and the exit rule is 126 days. If the stock’s RSI2 crosses under 5 today, we enter. Now if it crosses again below 5 a month later we enter again. Each position is exited 126 day after entry and counted a separate trade.

The Baseline

All values in the tables that follow are for closed trades only. The baseline results in the tables below use the same rules as above but remove the RSI rule. This allows us to compare how the RSI rule changes the results.


We will be comparing the ‘average % profit/loss’ of the test vs the ‘average % profit/loss’ on the baseline, which is the population of all possible trades. To narrow down the results, I calculated the p-value for each test. Some may argue if this is the right metric or have other issues. I am trying to use this help point me to interesting results. I am not saying that a p-value below 5% (or 1% or whatever value you prefer) means that the results are good. Do I want a lower value, yes, but I do not have a hard cut off. They are shades for grey.

For more information on the issues and interpretation of p-values, you can read the following:

% Profit/Loss Results

Now given what I just said, I will use a cutoff of 5% for the p-value to narrow down results to show. There are 720 variations and 443 of those have p-values under 5%.

RSI2 & 5 Day Hold


First I wanted to see the results for RSI(2) at a 5 day hold. We notice that most look good and as expected. Notice run 241 with a p-value of 7.03%. One may think this run has no edge. But the run does not use the SPX under the MA200 filter. If we look at the other two highlighted runs what use the filter, we see very low p-values. What is going on? Since the edges are in opposite directions, they cancel themselves out when we don’t use the SPX filter. This is why one cannot blindly look at p-values. Another issue that may be hidden by the data is 2008 results. Are all the good results coming from 2008?

63 Day Hold

What I was looking for was there an edge to the long side at the 63 day hold when both the stock and index are above the 200 day moving average.


Only two results have p-values under 5% with an edge greater than the baseline. Before we jump up and down, we should notice that the edge is not that much bigger than the baseline. The main driver for that low p-value is the number of trades. If the number of trades on run 693 was halved the p-value would jump to 10%. This is why one should not just focus on p-value. But it gives us an area to look at. There appears to be a small edge that may get bigger with the right additional filters.

ATR Multiple Results

Perhaps using ‘average % profit/loss’ is not the right parameter because it does not take into account a stock’s volatility. Which I can I understand. I computed the average return over N days as a factor the 10 day ATR on the signal day. Sometimes this gave very different results than using ‘average % profit/loss.’ It is up to you to decide which one you want to focus on.

RSI2 & 5 Day Hold


The two highlighted rows are the same as the first table on this post. The p-value took a large jump up. Does this mean that using RSI2<1 does not work? Depends on how you measure and trade it.


Fill the form below to get the spreadsheet with lots of more information. See data on the other holds and other RSI values. Lots of great information here.


Did you like this analysis and want to see it on other indicators? Fill in the survey. Indicate what indicator you want next. Survey closes on May 4, 2016.

As to the previous post’s poll, it was a clear winner to keep showing the research. Lots of great comments too.

  • ConnorsRSI was the winner with 27% of the votes
  • ADX 25%
  • MACD 23%

The next post in the series will be on ConnorsRSI. That should be an interesting one since I created that for a short-term indicator. Can I find parameters that make it work on longer holds?

Intermediate AmiBroker 201 Course is now available

I have completed my new Intermediate AmiBroker 201 Course. If you are looking to expand your knowledge of backtesting and AmiBroker, this course is for you. Click here to learn more. Topics covered include:

  • Optimization: basic and smart
  • Project files
  • Custom chart indicators
  • Multiple timeframes
  • Custom backtest reports
  • High level Custom Backtester (CBT)
  • Scaling in and out of positions


Final Thoughts

This was an interesting exercise for me. It was interesting to see how changing how I measured performance could drastically change whether I thought something had an edge or not. Although some edges were statistically significant, the edge compared to the base was not that large and not as interesting.  I am working on doing this with ConnorsRSI.

Good Quant Trading,

Fill in for free spreadsheet:


Click Here to Leave a Comment Below

Mark - April 13, 2016 Reply

One interesting metric to add would be the std. deviation of trade returns for each parameter set.

Also, a table showing performance over years. Thanks.

    Cesar Alvarez - April 13, 2016 Reply

    I debated having the SD metric in the spreadsheet or not. If I do another analysis, I will consider it again. Yeah, I almost did over the years too but that test took over 24 hours to run. Again maybe I will do it next time.

marco - April 14, 2016 Reply

What about using monthly or weekly bars on the backtest Cesar?

Leave a Reply: