This Simple Indicator Makes Money Again and Again

April 11, 2016 5:00 am44 commentsViews: 6251

Here we are four months into 2016 and I’ve not updated some of the more interesting articles. One of those is Connors’ 2-period RSI strategy. This is a very popular 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 model 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 trading model into loss. Recall, the trading model had no stops. Since this drop the model has been slowly recovering. Below is an equity graph depicting the trading model’s equity curve trading the SPX index from 1980. You can easily see the large drop around trade number 135.

RSI2_2015

RSI2_Results_2015

Here is a closeup view of the last 30 trades, which covers about the last seven years. We can see this system is making new equity highs in 2015.

RSI2_Recent_2015

The trading model as originally proposed by Larry Connors is 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.
  • Number of shares is normalized based on a 10-day ATR calculation with a $2,000 risk per trade.
  • There are no stops.
  • The P&L of each trade is not reinvested.
  • Commissions & Slippage are not accounted for.

Below is the annual performance of this trading model over the past few years.

RSI2_Returns_2015

Modified Trading Model

Back in the year 2013, I explored the robustness of the trading parameters used by the 2-period RSI trading model. That article can be found here. Within that article a slightly modified version of the original trading rules was proposed. In short, they doubled the value of the RSI threshold value (from 5 to 10) and doubled the look-back period for the simple moving average exit rule (from 5 to 10). Finally, a stop value of $2,000 was added. 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. Here is a summary of the rule changes.

  • Use a value of 10 as the RSI threshold.
  • Use a 10-period simple moving average as our exit signal.
  • Use a $2,000 hard stop.

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

RS2_Mod_2015

RSI2_Connors_vs_mod_2015

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, we take more trades. But we also increased our look-back period for our exit calculation. Thus, we should be holding some of the trades a little longer in an attempt to make more profit. The stop value does hurt the performance of our model. For example, removing the stop value will result in $178,000 in profit with a profit factor of 2.92. However, we’re going to keep the stop in place because trading without a stop is something most people will not be doing! It will also help protect us from massive losing trades as seen in 2011.

Other Markets

I tested the 2-period systems on the $SPX.X index which is not a tradable instrument. I did this to get as much backtest history as possible. But how would my modified 2-period RSI system hold up on real ETF and futures markets?

RSI2_Other_Markets_2015

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

Short Term Trading Strategies That Work

Downloads

RSI2 Strategy Files (TradeStation ELD)
RSI2 WorkSpace (TradeStation TSW)
RSI2 Strategy File (Text file)

Jeff is the founder of System Trader Success – an inBox magazine dedicated to sharing great ideas and concepts from the world of automated trading systems. Read More Google

Facebook Twitter 

Tags:

44 Comments

  • Jeff,

    Thanks for the update. However, with all the modifications, the annual rate of return is still less than 3%. Hardly worth our time to get rate of inflation returns.

    • Thanks for writing Loser but remember, returns on a trading system are determined by your position sizing model (risk), your starting equity and how you reinvest profits. The percentage given in the article is not what you would get trading this system. You could easily generate far more returns.

      • The article’s figures based upon 2% risk per trade. Many textbooks on trading argue that it’s about right amount of risk. Suppose you decide to throw caution out of the window and risk 5 times that. What do you get in return? 2.56% * 5 = 12.8% CAGR. Call me greedy, but it’s not my idea of a “Massively Profitable System”!

        • Remember, this strategy code is backtested on a instrument you can’t even trade. This is not a trading system you should trade as-is. I know I wouldn’t. Consider this article a market study demonstrating a potential market edge which could be developed into a trading system that one could trade with real money. The first step would be to pick your market. Maybe the ETF (SPY) or futures (ES). Then you might wish to test other filters or techniques including testing stops. Then you can apply a position sizing scheme. In other words, a 2% return on this potential market edge could very well lead to something far more profitable.

          • Zilch Bupkis

            Yeah, that’s your typical excuse for lame performance on this blog. Would you please finally live up to your words and show that magical portfolio? After all, a system without intended market or instruments is just a concept – and you can’t eat concepts.

            C’mon, get out of the bush and show us some real money, not those puny 2% CAGRs you are so fond of! Shoot out the lights with your backtest and I’ll be the first one to applaud you!

          • I’ll be honest. I’ve created several trading systems based upon ideas on this blog. In fact, that’s how I started this blog. During the development of my trading systems I would perform market research and post what I learned. The intent for this blog is to provide ideas and concepts that you can use to build trading systems. Not to spoon feed you finalized trading systems. If you can’t find ideas that are useful for you, you’re free to look elsewhere. The 2-period RSI is the basis for one system I do trade on the futures market. That system was developed in 2008 and I still trade it today with very little modification from it’s original form. I have no magical portfolio. Never claimed to have one. Building systems is hard work and clearly, it’s an endeavor not for everyone.

          • Zilch Bupkis

            Shouldn’t a prototype system display at least some half-decent performance? That’s what you argued for as a first-blush acceptance criteria in your own brochure
            on system development.

            Still, you keep serving up half-dead creatures.

            Heck, this one is handily beaten by bond funds, and they make new highs almost every year, too. And remember, your initial promise was for “Massively Profitable
            System” – the title you removed?

            I’ve followed you far too long – my fault, of course…

  • Hi! Quick question: are you calculating the RSI at the close of one day, and buying at the close of the next? Or are you somehow calculating the 2-day RSI before the close actually happens (or rather, forecasting it)? Otherwise you can’t actually know the RSI value until it’s too late to trade.

    Thanks!

    P.S. your CAPTCHA system times out very quickly, which caused me to lose my original comment. FYI.

    • Sorry about the CAPTCHA issue. You make a good point. The code is available at the bottom of the article and as it is written, buys at the close of the day. This is an artifact of my personal trading style. That is, since I trade futures (ES) I can open a position after the close of the regular session. If one was to trade the ETF (SPY) you would want to modify the code to enter on the open of the next day. Another option requires clever programming and using two timeframes to calculate the RSI minutes before the close and placing the trade. For example, you would setup a 2-minute chart to take the trades and at bar 14:56 you would calculate the RSI as if that tick was the “close” for the day. If a trade is triggered it would place an order at the open of bar 14:58. This can be done but it’s a lot more work.

      • Thanks Jeff. I recall Howard Bandy had a way for calculating RSI with AmiBroker before the close. Or to come up with a target closing price that would be the minimum it could be to meet the RSI threshold. So it *is* possible…the results just become slightly fuzzier as a result. Thanks for your follow up.

      • We e-mailed about the CAPTCHA issue a few months ago, Jeff. I’m still having that problem as well.

  • Ok, let’s look at the numbers – some you have and some you haven’t.

    Same setup, $100,000 account.
    Going from Feb ’93 to today.
    Trading SPY Daily.
    Looking at risking $2,000(2%) and $10,000 ( 10%).

    This is what I got:

    $2,000 $10,000

    Tot Prft. $90,937 $157,156
    Prof Fact 2.16 4.39
    #Trades 180 157
    % Prof. 76% 86%
    Avg Trd NP $505 $1,000
    Return on Cap 90% 157%
    Annual ROR 2.89% 4.22%

    This what was not included:

    Buy & Hold 344.7% 343%
    Avg. Mnthly $ 622 $ 1,062
    Max DD $6,954 $10,750

    For risking $2,000, very similar to what you had in your article. With regard to risking 10%/trade, although the system gives a nice smooth upward sloping equity curve, it isn’t steep enough. To risk 10%/trade on a $100k account and only get $1,000/month and less than half of B&H is not very encouraging.

    So, how do we improve this pig? Other than Jeff, any suggestions?

    • Loser:

      I don’t understand your B&H numbers. Are you comparing an all-in $100k position size for B&H vs. the $2k/$10k position size of the system in question? You should compare equal position sizes instead.

      Also, built into B&H is compounding (both upward and downward), so the system’s results should also be compounded for an appropriate comparison.

      And finally, I don’t see anything about sharpe ratios or CAR/MaxDD ratios. But I can tell by the graph of this system that the ride would be a lot less painful than B&H. More profit means nothing if you start at the the top of the market and then panic when it drops 60%. Shorter, more frequent trades – when compounded – can easily beat B&H.

      • Matt,

        With respect to the Sharpe ratio, I am not certain that it was meant to be used on this type of trading system. With that said, here are the Sharpe ratios:

        $2,000……0.27

        $10,000…..0.38

        Not really worth mentioning.

      • The B&H is what is reported in the TS Performance report. Doesn’t make a difference how large the investment is, it buys on first bar and sells on last bar.

    • Zilch Bupkis

      So it doesn’t even come close to 12% CAGR I estimated! Well, at least Jeff made one improvement – changed article’s title to something more modest:-)

      On a serious note, try to use the system on a basket of stocks thus increasing your exposure. Also, stocks are more volatile than ETFs and mean-reversion thrives on that.

      • Zilch you’ll be happy to note I did not change the name of the article. The name change was actually chosen by an algorithm. I just installed the software this week and it will pick the “best” headline based upon reader engagement. I created about 6 different headlines ranging from boring to sensational. I then allowed the algorithm to do its thing. So, here we have an article which deals with a simple trading algorithm and the title of the article is being picked by an algorithm.

        • Wow, I didn’t realize that. What a clever way to boost productivity! Now you may have a new entry in you blog every day (15 minutes, even)…

    • Just to be clear, I am a BIG fan of Jeff’s blog. He has been most generous with his postings and is much appreciated by this reader. Thanks Jeff!

      • Zilch Bupkis

        Really? Then tell me in all honesty if you have found anything here worth trading. What system or idea, for I couldn’t find any…

        • Based on your comments, Zilch, you don’t get it. Do more study on what it takes to convert a strategy to a system. Do a LOT more study on position sizing. Even if you are going to only risk 2% of your account per trade then these are good system statistics to pursue.

      • You’re welcome Loser. Glad to hear you’re getting some value from it.

        • Zilch Bupkis

          Apparently, Loser has problem finding what kind of value he’s getting. Maybe, it’s what not to try?

          • Zilch,

            Been busy with some family issues.

            The whole idea of this blog is to put out a kernel for us to use to refine and develop our own trading system and to get the rest of us to perhaps contribute.

            One suggestion for improving said system, switch to a leveraged instrument such as the ES. May have to make some adjustments to the position sizing routine.

            Bottomline Zilch, don’t look a gift horse in the mouth.

  • Reformat of data from previous post:

    Risk/Trade $2,000

    Tot Prft. $90,937
    Prof Fact 2.16
    #Trades 180
    % Prof. 76%
    Avg Trd Net Profit $505
    Return on Cap 90%
    Annual ROR 2.89%

    Buy & Hold 344.7%
    Avg. Mnthly $ 622
    Max DD $6,954

    Risk/Trade $10,000

    Tot Prft. $157,156
    Prof Fact 4.39
    #Trades 157
    % Prof. 86%
    Avg Trd NP $1,000
    Return on Cap 157%
    Annual ROR 4.22%

    Buy & Hold 343%
    Avg. Mnthly $ 1,062
    Max DD $10,750

  • I think is one of the most reliable systems out there… To boost returns just use CFD’s or Emini. The odds are great…

    https://nightlypatterns.wordpress.com

  • What is the justification for using SPX in backtests? Isn’t SPY better since it’s tradable?

  • Another question: is the annual rate of return the CAGR?

  • Sorry for one more question: what is in the code:

    vShares = _CE_Normalize_Units_vs_Volatility( AccountSize$, RiskPerTrade$, false, Close, 10, 2, false );
    If ( vShares < 1 ) Then vShares = 1;

    Can you explain the formula used? Why doing this anyway?

  • Oops! Another question came up. In EL code you are using normal RSI but Connors used cumulative. Is there any difference?

  • From your position size formula It seems that the number of shares is equal to

    account size/ (2 x ATR(10))

    Is this correct?

    But you say:

    “The idea is to risk the same dollar amount per trade”

    But this is not what is done. The risk is 1% with varying stop-loss of 2 x ATR(10). Think about it.

  • I wouldn’t call this a robust system based on your study of the six markets shown above. Those are not uncorrelated markets.

  • In most of the testing I’ve done with the RSI(2) system I get better results when using RSI level 70 or 90 as exit instead of using exit at MA(5) like L. Connors.
    And also I get better results not using MA(200) as a filter. Yes, drawdows will be bigger, but trading a plain RSI(2) system is better in my opinion, most of the time.

    I use Amibroker for testing systems.

    • Thanks for the ideas. With a MA(200) filter you might want to try changing the parameters. That is, require the pullback to be deeper since within a bear market. I’ve had some success with that.

  • Hi Jeff

    Thanks for the article, I found it helpful. I have run thru many optimizations and a few little tweaks to the code. I find the results to be quite interesting and plan to continue to pursue more ideas to continue to improve the results.

    Here’s my issue. I’m new to this. This system works on a daily chart, and trades maybe a dozen times a year. After trying multiple tweaks and what feels like a zillion optimizations, I get excited about a particular variation of this system.

    OK, let’s go, time to put it in place! Get Ready, Set….WAIT. I gotta admit, I’m impatient. I need faster feedback. I figure I would have to paper trade this a couple of years to get enough real-time trades to start feeling comfortable.

    Anyone have any thoughts on this? I have tried this on smaller time frames and even tick charts. But as I’ve seen mentioned here before, the smaller time frames seem to require more expertise and complexity.

    Thanks

  • Hi Jeff from France,

    Thanks for your great work. I have a questions regarding the two timeframes RSI (2) system you sometimes refer to and which is also the principle of aurora strategy.

    It says signals are generated on the daily timeframe whereas trades are executed on the 5 minutes time frame.

    1. Does it mean the daily timeframe is used as a filter and the very same strategy (RSI (2)) is applied to the lower timeframe (5 min)

    2. Have you ever tried with 1 hour timeframe for signals and 5 minutes TF for executions?

    Again thanks for your articles!
    Alex

    • You’re welcome Alex. In regards to your questions…

      1) In general that’s a good way to think of it. For Aurora the higher time-frame actually functions as what I call a “Trade Setup” which means the market conditions favorable for a trade to take place. The lower time-frame is used to pin-point an entry and manage the trade. This is often called a “Trigger”. The lower time-frame does not use the RSI(2) but other methods to enter a trade.

      2) I’ve not looked into this. But I’m sure it’s worth testing.

Leave a Reply


Time limit is exhausted. Please reload CAPTCHA.

LEARN HOW TO OPTIMIZE WITHOUT 
CURVE FITTING

Download these four simple steps to help ensure you make money on the live market!

x