Rusell 1000 index: Buying dips strategy

Russell 1000 buying dips strategy - backtest results in AlgoCloud

The buying dips strategy is a mean-reversion approach to trading stocks — you buy when the price drops below its normal range, speculating that it will rebound and continue to rise. In today’s article, we will explore this buying dips strategy using stocks from the Russell 1000 index, with a simple RSI indicator to identify the best entry points.

This is one of several methods that can enrich our portfolio and complement breakout strategies we built earlier. If you’re new to algorithmic trading, check out our Learning Academy first.

How the Buying Dips Strategy Uses RSI

We will use the RSI oscillator (Relative Strength Index) to time our entries. The RSI oscillates between 0 and 100. The logic is simple: when the value is low, it signals a buying opportunity for our buying dips strategy.

RSI indicator with value of 2 showing buying dips strategy entry zones

RSI indicator with a value of 2 — orange boxes are buying areas

We will buy when the RSI indicator drops below the 20 level:

RSI(C, 2) < 20

Entry setup in AlgoCloud:

Buying dips strategy RSI entry condition setup in AlgoCloud

Execution Timing

For today’s demonstration, we’ll buy at the end of the trading day, right as markets close. To achieve this, we’ll leave the entry trigger set to OnBarClose.

Buying dips strategy execution timing OnBarClose setting

Stock Selection for the Buying Dips Strategy

Last time, we focused on breakout strategies with S&P 500 stocks. For a more diversified portfolio, we will now target stocks from the Russell 1000 index.

For demonstration purposes, we’ll maintain a maximum of 10 open positions and select stocks with the largest RSI drop. Since the AlgoCloud position score selects stocks based on the highest value, we will need to modify the code slightly.

Buying dips strategy position score and stock selection settings

Buying Dips Strategy Variant 01 — StopLoss and ProfitTarget

In the first variant of our buying dips strategy, we’ll use StopLoss and ProfitTarget to manage positions:

  • StopLoss 5%
  • ProfitTarget 15%

Buying dips strategy variant 1 equity curve with StopLoss and ProfitTarget

This is a great result for such a simple condition.

Buying dips strategy variant 1 backtest statistics

Buying Dips Strategy Variant 02 — Using RSI for Exit

In the second variant, we will again use the RSI indicator. If low RSI values signal entry points, we will use high RSI values for exits. Specifically, we will exit when the RSI value exceeds 80:

RSI(C, 2) > 80

Buying dips strategy variant 2 equity curve using RSI exit

Although the %DrawDown (DD) increased by 8%, the %Win doubled to 69.78%. The increase in drawdown is manageable because the overall drawdown averages out across the portfolio. Plus, we haven’t added any trend filters yet.

What’s great is that we kept the buying dips strategy simple: we used the same indicator for both entry and exit, but with reversed logic.

Buying dips strategy variant 2 backtest statistics

Buying Dips Strategy Variant 03 — Adding a Trend Filter

In the final variant, we’ll add a simple trend filter to improve results by filtering out poor trades. We will only enter trades when the closing price is above the 100-period exponential moving average:

O > EMA(C, 100)

Buying dips strategy variant 3 equity curve with trend filter

The difference is clear! The equity curve is much smoother, and we reduced the %DrawDown to 13.79% using a simple filter.

Buying dips strategy variant 3 backtest statistics comparison

Strategy type Variant # trades Total Profit CAGR Profit Factor Right/DD Win % DD %
BuyDip Var 1 4376 $86,662 4.29 1.55 16.75 32.05 20.4
BuyDip Var 2 11162 $101,095 4.56 1.47 16.14 69.78 28.13
BuyDip Var 3 11908 $87,524 4.31 1.57 16.26 71.6 13.79

Overall comparison of all three buying dips strategy variants

Conclusion: Which Buying Dips Strategy Variant Works Best?

In today’s article we have created 3 variants of a buying dips strategy that enters positions during pullbacks within an uptrend. Variant 3 with the trend filter delivered the best risk-adjusted returns — the lowest drawdown at 13.79% with 71.6% win rate.

Of course, the results may look different because you can try different indicator periods, different entry and exit timings, different position score and maximum number of open positions.

Just take a simple idea, write a condition and test. And especially try new and new approaches. In total, we have already created 10 different strategies in reserve, from which we will create the first portfolio next time.

You can clone and right away start testing all strategies mentioned in the article here:

Related Articles

Libor Štěpán