SAT2021-24 Connors RSI 3

After a hiatus, I return with new systems! If you subscribe to my newsletter, then you know where I have been (if you don’t subscribe, I suggest you do).

This week’s idea is another mean-reversion system based on work of Larry Connors and Cesar Alvarez, but with a wicked twist.  I have had some success with mean-reversion systems, but I have been thinking about this question for a couple months:

If the markets are truly fractal in nature, should not a mean-reversion system work in longer timeframe? 

My system this week will explore this line of thinking.  Since I like to do some crazy things, I am going to try mean-reversion using a monthly timeframe.  You read that correctly: monthly.

Due to some changes in my trading platform, broker, and data feeds, I need to keep things simple, so I will try this on equities.  Continue reading and see if I answer the above question.

Phase 1: Plan & Design

1. Trading Idea

The big idea is a mean-reversion system, using the following criteria:

  • 2-period RSI for entries and exits
  • A simple moving average (SMA) as a trend filter
  • Long entries only   

Here are the entries:

Long:

  • The trend is bullish (up)
  • RSI(2) is below 60 for three bars, continually falling
  • The last bar is below the Oversold line (0-10)

I think using a trend filter may be challenging, just due to monthly bars containing so much price action.  For example, a 200-period moving average is over 16 years on the monthly timeframe!

2. System Definition

Indicator:

RSI, 2 period

Parameters:

Input(Default)Data TypeOptimizable?Comments
RSI_OverSold(90)IntegerYesMust be above this level for long entry
Long_Exit(70)IntegerYesExit long position when RSI closes above this level
MA_Trend_Period(200)IntegerYesNumber of periods for SMA calculation
StopLoss(2000) IntegerNoCatastrophic loss

Initial Capital:

  • $150,000, based on test results

Position Sizing:

  • $10,000 per symbol: 10,000 / Latest Close Price = number of shares (rounded down)

Entry:

  • Long:
    • RSI <= RSI_Oversold and
    • RSI [1 bar ago] < RSI[2 bars ago] and
    • RSI [2 bars ago] < 60  and
    • Close > MA_Trend_Period

Stop:

Catastrophic loss only, $2,000.  Stops should rarely, if ever, be hit.

Exit(s):

  • Exit long position when RSI closes above Long_Exit level

Profit Target:

  • None

Challenges:

  • I’m still thinking about the trend filter and it’s usefulness

3. Performance Objectives

The system will meet the following objectives:

ObjectiveGoal
System Type (trend, mean-reversion, day, swing, etc.)Mean-reversion
Risk of Ruin0%
Profit Factor>1.5
Win Percent> 70%
Max Drawdown %< 35%
Profit/Drawdown Ratio> 2.0
Ready Date2021/11/05
 

This idea is S.M.A.R.T.: Specific, Measurable, Achievable, Realistic, Time-bound

4. Market Selection

Markets:

EnergiesCurrenciesFixed IncomeAgricultureMetalsSoftsIndexesEquities
X

Instruments:

Market SectorInstrumentSymbolComments
EquitiesRandom equities from S&PVariousI picked a random selection of 180 equities that have been active over the past 20 years and on the S&P 500 during this time.

Chart Type, Timeframe, Session, Time Zone:

AttributeValueComments
Chart TypeRegular CandlestickCharting is only useful for validating entry and exit signals
Timeframe / Interval(s)Daily 
SessionRegular 
Time ZoneExchange 

Phase 2: Build

5. Manual Test

Pass.  I performed the manual test on multiple equities and some futures, just for reference

Fail.  This failed at several points, but the main thing is this: there are no trades due to the trend filter.  By the time RSI falls into oversold, the SMA is already indicating the trend is down, thus no trades.

I tried different period lengths for the SMA:

  • 200: 16+ years does not provide a useful trend direction
  • 9: this is equivalent to about 200 days
  • 4: this is equivalent to about 88 days

I expected the shorter timeframe of the SMA to be better, but none of these worked.  I am probably thinking about this the wrong way.

6. Build

Process Diagram

Although I did not make it past the manual testing phase, I had already drawn this diagram, so here you are:

Comments:

None 

7. Unit Test

Complete?

Phase 3: Test

8. Optimization

We did not make it this far.

9. Walk-Forward Analysis

We did not make it this far.

10. Monte Carlo Simulation

We did not make it this far.

11. Incubation

We did not make it this far.

Phase 4: Deploy

12. Production / Portfolio Assignment

We did not make it this far.

Notes and Commentary

I was surprised that we did not at least pass the Manual Test for this idea.  I expected at least one trade, but to come up completely blank is disappointing.  The problem was with the trend filter.  I am wondering if using a trend filter based on daily data would work better.  In other words, use a second data stream (daily) and calculate the SMA on that.  Maybe it would work, maybe not.

You may be asking: Why bother with monthly timeframes?  The answer is two-fold.  Firstly, if we believe that markets and market data are fractal in nature, then we can expect similar behavior on a monthly timeframe or a tick, the difference being the resolution, i.e. how detailed the data is.  Secondly, I have recently been forced to look at longer timeframes for my professional trading, so this was an early experiment in this.  You can expect more long-term systems to be featured here, so this is just the first idea.

Remember, most ideas, maybe 98% or greater, fail at some point in the development process.  Failure is okay and expected.

Continuous Improvement Department:

This idea is terrible, by itself, but I would not have known without going through the process.  The data is, indeed, fractal, as evidenced by the RSI.  RSI dips into oversold and climbs into overbought, just like on shorter timeframes.  It is not useful for this type of mean-reversion system, and it is quite possible that a monthly timeframe has already allowed for prices to mean revert.  However, here are some fresh ideas from what I have observed:

  • I am playing with the idea of rolling monthly bars.  Imagine that we have a 23 day high, low, open, and close.  The bar redraws every day, so a new monthly bar is formed.  The idea is nascent, but hopefully I can form a coherent idea.
  • I am thinking that simply using the RSI as it climbs out of oversold might just offer enough trading opportunity to make it work building a system.  This may be one of my new system ideas coming soon to this website.

That is about it!  Next week I hope to have a reader-submitted idea for a forex system built and tested. 

Do you have a trading idea that you want me to put through our process to see if it would make a valid trading system?  Leave a comment below or reach me via our Contact form and we can discuss.

Trading System Result: FAIL

Sources/References

Did you like what you read? Do you want to see more?  Subscribe now and receive our weekly email, with the Trading System Idea of the Week and other fun stuff.

Don’t worry, we will never, ever, ever sell, overuse, or donate your email address. Promise.

Did you like what you read? Do you want to see more?  Subscribe now and receive our weekly email, with the Trading System Idea of the Week and other fun stuff.

Don’t worry, we will never, ever, ever sell, overuse, or donate your email address. Promise.

Leave a Reply

Your email address will not be published. Required fields are marked *