# The 2x Fall Trading Strategy In The S&P 500 (Mean Reversion Trading Strategy)

Last Updated on January 10, 2022 by Oddmund Groette

Mean reversion has worked pretty well for the main stock indices for some decades.

**Today we look at a mean reversion trading strategy that goes long at the close when the S&P 500 falls more than twice the average change.**

## The 2x Fall trading strategy in the S&P 500

Here is the strategy in plain English:

- Calculate the absolute value of the % change from today’s close from yesterday’s close (c2c).
- Calculate a 25 day average of number 1.
- When SPY falls more than two times the number in number 2 from Close to Close (c2c), then go long at the close.
- Exit on next day close.

A very simple strategy. The idea is simply to buy when the risk premium rises. The test period is from 2005 until the present (if today is Monday, the result is showing the gain from Monday’s close until Tuesday’s close):

P/L | #fills | #wins | Avg |

44.73 | 159 | 94 | 0.28 |

Let’s see this strategy broken down into weekdays:

Mondays:

P/L | #fills | #wins | Avg |

14.99 | 19 | 13 | 0.79 |

Tuesdays:

P/L | #fills | #wins | Avg |

13.46 | 36 | 23 | 0.37 |

Wednesdays:

P/L | #fills | #wins | Avg |

13.11 | 35 | 19 | 0.37 |

Thursdays:

P/L | #fills | #wins | Avg |

-7.88 | 37 | 15 | -0.21 |

Fridays:

P/L | #fills | #wins | Avg |

11.05 | 32 | 24 | 0.35 |

As you can see it works pretty well except Thursdays. I can’t think of any specific reasons why except that SPY tend to revert mid-week.

————–

If you would like to have the code for this strategy plus 70+ other free trading strategies published on this website, please click on this link:

For more trading strategies, please click here:

- Free trading strategies
- Monthly trading edges (subscription service)

**The 2x Fall trading strategy** has performed pretty well. However, as always, we recommend doing your own backtesting to find out that backtesting works.

Hello Oddmund,

I try to make the same calculation as you, but I think I have error somewhere.

First I calculate point 1 – Cell H3 – =(TodayClose-YesterdayClose)/YesterdayClose

Next I calculate 25 average from point 1 – =average(H3:H27)

Point 3 – I think I dont understand this point properly and this is why I have different results.

Look at this screenshoot – prntscr(dot)com/v0bzq

Coud you help me with that?

Hi Lukasz,

Point three is simply the number in point two multiplied by two. Remember that point one is ABSOLUTE value. If the value in point 2 is 0.33 (the 25 day average), then you go long if the fall is bigger than -.66% from close to close.

hi Oddmund – great work – do you account for transaction costs at all? once you apply 10bps the profits vanish.

Hi, No all tests are withoutcommissions. In SPY commissions are not a problem at all, but more related to execution. However, my results in SPY are very close to backtesting. A lot more different results in ordinary stocks.

This strategy seems to be similar to most mean-reversion trading systems; it performed extremely well during the sub-prime mortgage crisis but since 2010, its performance has been lackluster. Do you trade the system yourself?

Yes, I trade this myself, I trade all strategies explained on this blog (plus a great deal more). I only trade this strategy on mondays, tuesdays and fridays.

Hi Oddmund,

Great blog you have here! Thank you for sharing your knowledge.

I agree with what you said earlier in your blog about trading several strategies as a form of risk management.

May I ask how many strategies you trade at one time and how you allocate your money to each?

I currently allocate my capital:

a. 50% to trend following Australian stocks (20 stocks)

b. 25% to swing trading Australian stocks (5 stocks)

c. 25% to swing trading US stocks (5 stocks)

I would like to add more trading systems to further help me diversify.

Thanks for your kind words. I trade many strategies, both EOD and daytrading. All in all, between 20-30 strategies. Money allocation on my daytrading is easy as I have almost unlimited leverage. So I just allocate a certain amount to each stock. As for EOD I allocate 100% equity to positions i hold all the time, the rest is leverage.

Hey Joe,

How do you trade the AUS market given you cant trade the open or close price? (i.e. the staggered opening and the fact the close doesnt happen till 4.10 after the market closed).

Ive never been able to get over this to be able to trade the AUS market accurately based on backtested results.

Cheers

Hi Ben, did you type this in the wrong blog? đź™‚ I don’t trade Aussie market.

Thanks Oddmund,

I think I got it. I have similar result.

I also try this strategy with different settings.

1) I multiplied avg change by 1,8 not 2.

I have 189 fillS, 114 wins 60,3%, P/L 59,76, avg 0,32

2) I add one condition to primary idea. We go long only if previous c2c increased.

Results: 88 fills, 56 wins 63,6%, P/L 41,9, avg 0,48

Thanks, nice job!

Hi Oddmund, nice strategy. I did my own back test and tried to optimize it. I found that if you go long every time the SPY moves down more than 1 time the calculated avarage i/o 2 times, this improves the total return substantially while keeping about the same sharpe ratio. However it will take more than double the amount of trades. Also I found that it is best to have no entries on Thursdays. Thanks for sharing your ideas!

Hi,

Thanks for input. I’m gonna have a look at your websote now!

Oddmund

Nice Strategy. I tried the same way since 2005/1/1 ,,yet why I get some different answers.

#Number of Wins : 477

#total number of days traded: 852

#Average return: 0.266415384796

Questions:

1) I first check if the daily arithmetic_return is negative?

2) Then for all the negative ones, compare if the absolute daily_return of ‘SPY’ is >2.0*absolute value of the 25 SMA…

3) About the average yearly return, (sum(P/L)) divided by (the total days that are traded) *250

Where did I do wrong?

1. No, I have used the daily change, no matter if it’s positive or negative. I have used the Absolute value: the absolute value of the arithmetic change over the last 25 days.

2. Let’s say this value is .25, then go long at the close if SPY falls at least .5%.

I don’t know how to check separately for mondays to fridays…IN PYTHON….too bad….