Connor’s Research is perhaps best known for short-term mean reversion strategies, specifically using RSI with short look-back periods to identify times when a security is likely to mean revert. Connors Research were pioneers nearly 20 years ago in showing that shorter-term RSI lookbacks, such as 2-period and 4-period RSIs, are statistically more predictive for identifying mean reversion trading opportunities. These strategies typically have an average holding period in the 3-7 day range.
In this CRTJ article, we are going to introduce a strategy that takes mean reversion trades on a slightly longer time frame. Instead of identifying securities that have moved down “too far too fast” in the last couple days, we will look to identify securities that are oversold over the last couple weeks. Though the time frame is longer, the results are equally, if not more, impressive.
For our strategy, instead of using price data in the daily frequency, we are going to look at individual stocks on the weekly frequency. We are going to then apply similar techniques in this frequency, namely RSIs with short lookbacks, to identify individual stocks that have pulled back too far too fast and are due for a rally.
By systematically identifying and investing in US stocks that have low 2 and 4 period weekly RSIs, our strategy aims to profit from subsequent rallies in such securities as the oversold conditions are worked off.
Our research has also shown that a longer-term trend following regime filter is useful for risk management purposes. The design of such a rule is to allow the strategy to “turn itself off” should the overall index enter a downtrend. A longer trend following rule, such as checking if SPYs price is above its 200-day moving average, or something similar, is employed.
For example, if you look at individual large-cap stocks, especially those found in indices like S&P 500, add a trend filter, and use a short-period weekly RSI reading under 10, you will see healthy edges in place over the past 25 years. Most traders focus on mean reversion on daily bars, but as you will see if you take the above parameters, it’s also applicable to weekly bars. From there you can decide to trade the individual stocks, or establish fixed risk long call options positions, or place them into a portfolio. These historical edges produced from the above parameters provide you with a great amount of flexibility to potentially achieve your trading objectives.
How To Build A High-Quality Portfolio – Taught in Our Programming In Python For Traders™ 5-Week Course
Here’s an example of the type of portfolio you can build in Python applying the above parameters.
The stock universe we use here are the 500 most liquid US stocks through time. By “most liquid US stocks” we mean the stocks with the highest historical 200-day average dollar volume. While this isn’t exactly the same constituents as the S&P 500, there is a huge overlap.
Coding a trading strategy such as this one, which simultaneously checks hundreds of stocks at once in a dynamically changing universe, presents multiple technical difficulties. Some of these challenges include:
- Apply trading logic to hundreds of securities at once
- Managing the portfolio to limit the amount of securities held at one time
- Dealing with a constantly changing universe of stocks
- Handling stocks that have become delisted, have been taken over, etc
- Calculating total return data for our stocks, which including any splits and dividends
Luckily for us, Python and the Quantopian platform helped make these technical challenges much easier to deal with. We can successfully employ a strategy such as this, which trades hundreds of dynamically changing securities, in a fraction of the time it would take in other platforms.
Find the results of our strategy below:
Producing This Strategy And Its Rules in Python
If you would like to learn this strategy, plus learn how to program dozens and even hundreds of strategies like this, listen to the recording linked below. You will learn about our Programming in Python For Traders™ Course where we teach you how to do this in our 5-week course.