August 26

89 comments

Connors 2-Period RSI Update For 2013

By Jeff Swanson

August 26, 2013

automated trading, Automated Trading Development, Connors, EasyLanguage, ES, futures trading, Larry Conners, Market Edge, mean reversion, S&P Emini, stock index futures

It’s been about a year since I’ve taken a look at the very popular 2-period RSI trading method by Larry Connors and Cesar Alvarez. We all know there are no magic indicators but there is an indicator that certainly acted like magic over several decades. What indicator is it? Our reliable RSI indicator.

Over the past few years the standard 2-period trading system as defined in the book, “Short Term Trading Strategies That Work”, has been in a drawdown. During 2011 the market experienced a sudden and sustained drop which put the system into loss. It has been slowly recovering since. Below is an equity graph depicting the trading system’s equity curve trading the SPX index from 1983. You can easily see the large drop around trade number 120.

Here is a closeup view of the last 19 trades, which covers about the last five years.

2-Period RSI System

Cannor's Rules

Total Net Profit

$28,742

Profit Factor

2.97

Total No Of Trades

129

% Profitable

82%

Avg.Trade Net Profit

$222.81

Return on Capital

28.74%

Annual Rate of Return

0.86%

The trading rules from Larry Connors are very simple and consist of long-only trades. As a reminder, the rules are as follows:

  • Price must be above its 200-day moving average.
  • Buy on close when cumulative RSI(2) is below 5.
  • Exit when price closes above the 5-day moving average.

All the tests within this article are going to use the following assumptions:

  • Starting Equity: $100,000.
  • Risk Per Trade: $2,000.
  • Number of shares is normalized based on a 10-day ATR calculation.
  • There are no stops.
  • The P&L of each trade is not reinvested.

Is the 2-period RSI indicator losing its edge? Hard to say at this time. It’s not like drawdowns have not happened before, but that’s not really what I want to explore. I want to take a closer look at the 2-period RSI indicator and see if we can improve the basic trading system by Larry Connors.

Days After Opening A Trade

First let’s take a look at how the market behaves after a RSI setup occurs. In short, the 2-period RSI is designed to highlight strong pullbacks. Buying into pullbacks in an uptrend has been a well known and effective trading method and is the essence of the 2-period RSI trading system. We can demonstrate this by looking at how the market behaves after a trade is triggered. I created an EasyLanguage strategy that can hold a position X days after opening a trade. I then tested X for values in the range from 1 through 30. In other words, I want to see how the market behaves 1-30 days after opening a trade. Does the market have a tendency to climb after trade setup occurs or does it tend to drift lower? Below is a bar graph which represents the results. Each bar is the total P&L based upon the number of holding days.

In general the longer the holding period, the more P&L is generated. This shows that after our 2-period RSI indicator triggers a trade, the market tends to climb over the next 30 days. It’s also important to notice all values produce positive results. This shows robustness in this particular parameter.

Moving Average Exit Period

The original trading rules by Larry Connors used a dynamic exit based upon a 5-day moving average. Once price closed above this average, the trade was closed. I wanted to take a closer look at the period used for this moving average exit. Like the bar graph above, I tested values 1-30 for the period used in the moving average.

In this graph we can see increasing profit as we increase the moving average period from one to 14. There is a slow decline after 14 as we continue to our final value of 30. It’s very good to see that all values produce positive results. This shows stability across this parameter and exit method.

RSI Threshold

Let’s look at the threshold value used to determine if the market has pulled back enough to trigger a long trade. Once again, we will create a bar graph as we look at a range of threshold values from 1-30.

We see values below 10 produce the best results. Once again, every value produces positive results and this is a very good sign.

Based upon the information we looked at in this article, let’s modify Connors’ trading rules. We will make the following changes:

  • Use a value of 10 as the RSI threshold.
  • Use a 10-period simple moving average as our exit signal.

Below is a table showing the difference between the original Connors’ rules and the modified Connors’ rules.

2-Period RSI System

Cannor's Rules

Modified Rules

Total Net Profit

$28,742

$62,800

Profit Factor

2.97

2.74

Total No Of Trades

129

227

% Profitable

82%

83%

Avg.Trade Net Profit

$222.81

$276.65

Return on Capital

28.74%

62.00%

Annual Rate of Return

0.86%

1.67%

Our increase in net profit comes at the cost of more trades which is due to the fact of lowering the stand on what we consider a viable pullback. By increasing the RSI threshold from 5 to 10 more setups qualify as a valid entry, thus we take more trades. But we also make more money on each trade. This is due to our longer hold period by increasing our moving average period from 5 to 10. In the end, we are willing to take more trades and hold on to those trades for longer periods of time.

Adding Stop Loss

All the results above do not use a stop loss value. Let’s add a $2,000 stop loss on each trade and see how it will change the results. I picked this value because it represents our risk value when scaling the number of shares to trade. Notice we are only risking 2% of our $100,000 account on each trade. The far right column holds the results with the $2,000 hard stop.


2-Period RSI System

Cannor's Rules

Modified Rules

Modified Rules W/Stops

Total Net Profit

$28,742

$62,800

$66,679

Profit Factor

2.97

2.74

2.93

Total No Of Trades

129

227

232

% Profitable

82%

83%

84%

Avg.Trade Net Profit

$222.81

$276.65

$287.41

Return on Capital

28.74%

62.00%

66.68%

Annual Rate of Return

0.86%

1.67%

1.75%

This just gets better and better. Often stops will hurt a trading system in several key performance factors but not here. Our $2,000 hard stop improves the system across several performance factors. Unlike the original trading system, this equity curve is producing new highs.

Across Different Markets

Let’s now look at the performance across different markets. I will not modify the trading rules at all.

IYY

IWM

DIA

QQQ

SPY

ES

Total Net Profit

$15,075

$16,864

$18,582

$14,714

$39,857

$35,863

Profit Factor

2.09

2.24

2.13

1.98

3.12

2.05

Total No Of Trades

74

83

92

86

293.07

95

% Profitable

81%

77%

74%

71%

87%

76%

Avg.Trade Net Profit

$203.73

$203.18

$201.97

$171.09

$293.07

$377.50

Return on Capital

15.08%

16.86%

18.58%

14.71%

39.86%

35.86%

Annual Rate of Return

1.18%

1.31%

1.19%

1.04%

1.74%

2.08%

Notice the number of trades is significantly lower for the above ETFs when compared with SPY. This is due to SPY being around since 1993 while these other ETFs are much newer. Overall, the system holds up nicely across these different markets.

Conclusion

The RSI indicator still appears to be a robust indicator at locating high probability entry points within the major market indices. You can modify the trigger threshold and holding period over a large range of values and still produce positive trading results. I hope this article will give you lots of ideas to explore on your own. Another idea in regards to testing parameters is to independently optimize the parameters over the “portfolio” of market ETFs instead of using just $SPX. There is no doubt in my mind the RSI indicator can be used as a basis for a profitable trading system.

Get The Book

Update:

This topic has been updated with performance through 2014.

Jeff Swanson

About the author

Jeff has built and traded automated trading systems for the futures markets since 2008. He is the creator of the online courses System Development Master Class and Alpha Compass. Jeff is also the founder of EasyLanguage Mastery - a website and mission to empower the EasyLanguage trader with the proper knowledge and tools to become a profitable trader.

  • Hi Jeff

    Very interesting and encouraging article and information, thanks.

    Were you aware that Larry Connors has now published what he himself calls ” the Connors RSI” which is actually a composite of three indicators that he has reason to believe in? His view is that they have empirical evidence that this indicator usually, though not always, surpasses the RSI2. He has made the formula open to all so I am not breaking any copyrights by posting the following link

    http://info.tradingmarkets.com/ConnorsRSI_ConnorsRSI.html?htm_source=TMACRSIpage&utm_medium=textlink

    Cheers

    Pete

  • Hi Jeff. I have signed up recently for a TM course and during their webinairs, they have published CRSI results v RSI2 results for a given strategy. I have tried to confirm this myself by having the strategy coded but just can’t see how CRSI is better than RSI2. TM refuse to give me the strategy code so I can see if my coder has done anything incorrect . Trust me, the course I signed up for was not cheap! I have used TM before for courses and they were good before and lets say, much more “open”. This time, its not the case. This approach makes me personally vary wary. Still hope I am wrong but I am disillusioned with their approach on this. Be good to hear your thoughts on the CRSI performance v RSI2

  • Nice simple strategy Jeff, would it be possible to add a line of code that prevents entries when the exit moving average is heading down?

    • I ran a test on SPX with your suggestion John. This significantly reduces the number of trades, profit factor and average profit per trade.

      P&L: $19,472
      No. Trades: 117
      PF: 1.72
      Avg P&L Per Trade: $166

  • Modifying strategies already used and failed is called data snooping and it won’t work in reality. You should read “White Reality Check”.

    • I have multiple problems with this comment.

      First, what makes you think the original system failed? I don’t see that it has.

      Second, don’t just identify something you think is “data snooping” and stand on ceremony by saying “that won’t work.” Nobody ever knows what will work *going forward*. “In reality” is a misleading and nebulous phrase.

      Think specifically about what is going on here. What I want to do with the system development process is give myself enough confidence in the system to trade it mechanically going forward. If I have doubts such that I won’t be able to stick with it during times of drawdown then I will likely fail. In this case, Jeff tested the original parameters along with surrounding values and found many to work. In all cases, he found a high plateau of performance, which is exactly what should give you confidence that the performance wasn’t fluke.

    • While curve fitting or data snooping is always a concern I do believe this article shows the basic premise of the RSI indicator as a mean reversion trading tool to be valid. The results are positive across a range of input values and over several different major market indexes. I was more interested in demonstrating positive results over a range of values for each of the key parameters.

  • Thanks for posting, Jeff; I think this was very thorough. One last thing I’d like to see done is a walk-forward optimization to see if the equity curve can be improved by resetting trading parameters on a periodic basis. I wonder, though, whether this is not so much a step of the system development process as it is a whole other approach to system development than what you have done here?

  • I originally thought it was encouraging that the system performs well in multiple markets because you could therefore trade multiple markets for greater net profit. However, the distribution of those trades must be studied. If multiple markets often get traded at once, which is likely, then total portfolio heat might be a concern. If you limited max open positions then somehow you’d have to score which tickers would get traded in case more qualified, etc. That might be opening a whole other can of works.

    If the study of multiple markets is done to suggest robustness of this finding when traded on one and only one market, then I have no qualms about it. You just trade the one market with this system on a very limited exposure (and profit potential) basis.

    • The study of multiple markets was simply to test the robustness of the concept across similar markets. I don’t believe this trading concept to be a good candidate to trade on all those markets in parallel.

  • Jeff,

    Great article as usual.

    Can you elaborate on how you “risk $2000 based on 10-day ATR” without using stops? I see you are using a function

    _CE_Normalize_Units_vs_Volatility()

    to compute the number of shares that would be appropriate but I don’t know how that works or can’t find any info on what that does.

  • Jeff,

    I would like to make a suggestion regarding an additional evaluation: the average random trade results as a benchmark for whatever strategy you test.

    Here’s what I mean in detail:
    Let’s say you generate 100 trades in symbol XYZ over 10 years with an average duration of 5 days and that your annual rate of return is 1.5%.
    What you do then is to pick 100 starting days by random (in that 10 years that you tested) and for each starting date you then by random generate an ending date that is also on average 10 days later (i.e., use a random variable in the range from 3 to 17 and add that to the starting date).
    This gives you 100 random trades in tha same symbol over the same period of time. Now calculate the annual rate of return for those 100 trades and store it.
    Repeat the process of generating 100 random trades a couple of times (i.e., anything inbetween 100 times to 1,000 times) and over all those runs average the annual return.
    Now we have a benchmark that we can compare the tested strategy against. Only if it gives you a better annual return than the average of random trades I would regard the strategy as having any value.
    All boats rise when the tide sets in. Therefore a positive annual rate of return doesn’t mean anything in itself (as the saying goes: anybody can make money in a bull market). It’s the difference to random trades that shows whether there’s any value in a concept.

    Cheers,
    TK

    • Yes, that is a good suggestion and thanks for sharing. Most of the time I’m limited on time so I can’t explore all the different methods of evolution. I hope this gives other reads plenty of ideas to explore.

    • @TK
      thanks a lot for that suggestion!
      Until now I’ve used a way simpler method to test a strategy against randomness: I just calculate the average gain of the underlying over the average hold of the strategy (during the test period) and then I compare it with my strategy’s expectancy (per trade), which should be at least double the size of the former. What do you think about this method?

      Best regards Oliver

  • re: new ConnorsRSI formula on the site.

    to those looking at this new formula i dropped it into a strategy and portfolio backtested it against the rsi2 accross components of ND100 plus some other high beta equities (total 200 equities) going back to 1995.

    the new connors formula posted above performed slightly worse (profit factor – 1.79 vs. 1.9 traditional rsi using the strategy settings i apply) than standard rsi2 and had a slightly higher draw down in the basket i looked at.

    i wont be using the new ConnorsRSI.

    • I performed similar tests and had similar results. The ConnorsRSI wasn’t bad, but it wasn’t superior in any way to the standard RSI2.

  • Hi Jeff

    Really interesting article. I’ve been also looking at RSI2 and ConnorsRSI strategies recently. One thing I found is that they don’t necessarily work that well across different markets, contrary to what you found. Your test here looks at different markets, but they are all strongly correlated. You can see this if you plot them all on the same chart, on (for example) Google Finance. I think this is probably because they are all based on US equities markets in some flavour or other. If you run RSI2 or Connors RSI backtests on other international indices (eg CAC40, Nikkei, Hang Seng), you’ll probably get very disappointing results. The only exception is the UK FTSE 100, although this tends to mirror the US markets somewhat so this isn’t exactly surprising. Hope this is useful.

    • Hello SJones. Glad you enjoyed the article. What you say is true. The Connor setups work well on major U.S. indices but not much else. The book that describes these setups by Connor does indicate all the testing and results are for the U.S. markets. So, it’s not so surprising they may not work well on other indices outside the U.S. Thanks for the comment!

  • This is probably a very rookie question but you’re showing low single digit returns annually for the strategy. Am I reading this wrong?

    • Lisa, that’s a good observation. For the example used in the article I’m risking a small portion of the entire portfolio. It’s a very conservative approach. The risk can be adjusted to trade more shares based on the account size and thus, increase the returns.

  • Hi Jeff, thanks for the useful article.

    Your results for the Modified RSI2 show 293.07 trades for SPY. How is it possible to have .07 of a trade? Am I missing something?

    I’m trying to replicate your results (using NinjaTrader) but so far only getting 218 trades for SPY for same period. Still investigating.

  • hi jeff

    i downloaded and applied the strategy mentioned on rsi2.

    im not getting much of any trades.. what am i doing wrong?

    i have my charts set on daily. my charts doesnt show the rsi or the 200d/5d ma.

    hope you can help. randall

  • Hi Jeff, great article.
    I don’t understand how you calculate the position sizing to risk $2000, and where you put the stop loss.

    In this formula: Shares = $2,000 per trade / (5 * ATR(20) * Big_Point_Value)
    What is big point value?

    Thank you !

    • Yes, this can be confusing. First, there are no stops in this market study so, keep that in mind. The $2k risk per trade represents a 2% risk based upon a $100,000 account. This dollar value is simply used to calculate our position size or our exposure. Throughout the entire study this remains a fixed value – $2,000. However, the denominator in our calculation changes based upon the market volatility. The more volatility the fewer shares are purchased. The big point value is simply the dollar value for every point of the traded instrument. In this case, it’s $1.00. However if it were the S&P futures contract it would be $50 per point. So big point value is in the calculation so the market study can handle different tradable instruments. Hope this helps.

      • Thanks for your answer Jeff!
        I know that the strategy don’t use stops, but you include a modified rules with stop of $ 2000.
        I found this interesting because many traders, including myself, need to use some stop.

        So, lets supouse that the average true range (20) for today is 1.18 and I trade the SPY.
        Shares = $2,000 per trade / (5 * ATR(20) * Big_Point_Value )
        2000/(5*1.18*1)=338.98
        I bought 399 SPY and use the $2000 risk/399 number of shares=5.01
        So I put the stop $5.01 below the entry price
        Am I reading this correctly, is this the stop that you calculated in the modified rules?
        Thank You

        • Johatan, you’re on the right track. If you buy 339 shares you would need to place the stop at $5.90 below your entry price to maintain your risk at $2,000 (339 shares * $5.90).

  • I don’t understand your RSI Threshold bar graph. It seems to show that using rsi(2) < 1, for example, is barely profitable, whereas using rsi(2) < 10 is very good. And using rsi(2) < 30 is just as good. That doesn't make sense to me. Am I misinterpreting the chart?

    • Evo34, you’re not misinterpreting the chart, but there are other factors not shown in the chart. For example, while <10 and <30 both produce similar net profit, other considerations come into play. When you include all trades that fall below 30 you will have far more trades than if you put the threshold at <10. However, you are generating similar profit. What this means is you are making less per trade. Put another way, you are less efficient at generating profit. My goal is often to eliminate trades to reduce market exposure and trading costs. Hope this helps.

  • Jeff:

    Have you looked at this for intraday trading? Perhaps using an hourly chart to apply the buy/sell rules, and say a 15min chart to better “time” the entry/exit signal on the higher TF?

    My thinking is the acct size could be smaller, and with smaller stops (if stops used).

    Thanks for the work you’ve done!

  • my dear Jeff
    i have been testing whit close to close and do it good, but have you any idea that this system work for 60 minutes period time? because i saw for example qqq for 2 years is only 11 times and i prefer to do more trading whit futures NQ

    have you any experiencence whit diferrents periods of time (short periods) and options too for that system?

    thanks a lot

  • Jeff

    Great article and your parameter tweaks are great. Do you think this strategy would work on the forex ‘spot’ markets?

  • Hello Jeff,

    Again, excellent work. I am trading a version to this when I see the opportunity present itself.

    If you have a moment, can you please provide to my email:

    Avg. Trade Net Loss
    Largest Profit
    Largest Loss
    Maximum Drawdown

    Thank you, Jeff!

    Regards,

    Marc

  • Jeff,

    Also, I have several of the Connors RSI strategy books, and none of them bring up the need for the 200 MA above (longs), below (shorts). I called them up about this and they said it wasn’t needed. I don’t get this. It would seem to me that you must have some type of trend indicator in place before trading this type of system.

    Therefore, what I do with their work is add an ADX (5,5) > 60, as an additional filter before placing the trade. Have you used the ADX as an additional “trend is overheated” filter?

    I guess there are multiple comments/question embedded in my email. 🙂

    Regards,

    Marc

  • have you use strategy desk from td ameritrade? because i dont know how to create rsi 2 < treshold 10 how i can calculate o wrote that cain of treshold?

  • As someone who traded this through the 2011 drawdown I wish I had used stop losses of $2k. I remember a couple of 5 figure losses as the market knifed through support after support. I’ve been reticent to trade anything but the TPS3 and 4 setups since and in a much smaller size.

    Two questions: is there a way to reverse engineer a price that would equate to an RSI2 value >90? So I can set limit exit prices if I’m not at computer before close.

    Also – anyone know how to import ELD file into Multicharts? The version that comes with Interactive Brokers. Thanks

    • What are the TPS3 and 4 setups? Do you have any info on them?

      Reverse engineering…you could brute force sweep through a range of last closing prices for the RSI-2 for current close. Haven’t thought of a good way to do this in Multicharts but I’m sure it’s doable Excel, python etc.

  • Good stuff. I worked for Larry Connors for a few years (2007-2012, I was the last full-time editor-in-chief at TradingMarkets.com) and you’ve done his work proud.

    I found your approach to the stop loss issue to be very interesting. As you know, Larry was not a fan of them for ST mean reversion trades. But as someone who uses options to trade these strategies, I love knowing that maximum possible loss per trade.

    By the way AlphaDow, TradingMarkets.com used to have a “RSI Solver” tool that might help with what you’re looking for.

  • {"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}

    Learn To Code & Build Strategies
    Using EasyLanguage. 

    >