How Well Does the RSI Perform for Bitcoin?

The Relative Strength Index is one of the most popular indicators in crypto trading. Our professional data scientists backtested it to determine how well it actually works.

ArcTaurus
Coinmonks
Published in
10 min readJul 4, 2022

--

When it comes to cryptocurrency trading, there are countless indicators over a wide number of timelines that can be useful in determining when to buy or sell. Some are simple, many are much more complex, but one of the most popular indicators used by traders around the world is the Relative Strength Index, or RSI.

You can learn more about what the RSI is and how it works here, as the purpose of this post isn’t explanatory — instead, we’re going to backtest some of our proprietary trading strategies against the RSI to determine if well-known RSI signals are truly useful signals for trading Bitcoin.

Note: none of this blog post should be construed as financial advice, and trading cryptocurrencies is inherently risky. Do not risk more than you can comfortably afford to lose.

Backtesting the Indicator

Without diving too deep into how the RSI works (you can do that on your own) we will discuss our backtesting strategy. We will utilize one of our proprietary trading algorithms that has been rigorously backtested in a variety of market settings, one that we know is profitable in the long run.

We won’t discuss exactly how the bot works, but it uses a relatively straightforward method of determining the expected value of an asset based on recent historical performance, and executes trades when the current value deviates too far from the expected value. This strategy is relatively basic and has much to improve upon, so we won’t focus on our strategy itself — we will instead focus instead on how the RSI affects its performance.

One thing I will mention though is that this bot determines its position size based on its recent profits, so if it’s been profitable lately it starts to bet more until it stops being profitable, giving it momentum in bull markets.

When backtesting a crypto trading bot it is important to compare your strategy to the “buy and HODL” strategy of just buying BTC and holding it for the same time period. Over time, BTC’s performance has been astronomical — it’s almost always better to buy and hold over the long run.

Therefore, if you want to actively trade you should make sure your strategy is consistently better than just buying and holding.

New to trading? Try crypto trading bots or copy trading

Proper Backtesting Conditions

It’s crucial to backtest your strategy in a variety of conditions. For this blog post we have selected 100 random periods (or ‘windows’) of one month (30 days) that occur between August 2017 and June 2022, based on BTC data scraped from Binance.

These periods don’t necessarily align with the start or end of a month, so the influence of weekly/monthly candle closes is minimized. Each window begins at a random point in time, meaning it can be at the start, middle, or end of a bullish OR bearish cycle.

First things first, we will look at the average performance of BTC over these 100 random windows to see what the average “buy and HODL” return is:

As you can see above, it’s generally profitable to buy and hold BTC. In fact, I was a bit surprised to see the average monthly return for 100 random months to be almost 5% — that’s quite high!

Keep in mind, we’re using more windows than there are months in our dataset, leading to overlap. This isn’t necessarily always a bad thing, but it’s important to ensure that your windows are relatively evenly spaced out — otherwise, you could end up amplifying a specific time frame if multiple windows closely align.

It’s our goal to create something that’s even more profitable than this in a variety of conditions, which is where our proprietary bot enters…

Trading Bot Conditions:

Our profitable trading strategy executes roughly 14 times per week, or once every 12 hours or so, meaning this is not a day-trading or market-making strategy. As such, our time horizon is a full 1 months, which is what we will be backtesting.

The bot we’re executing currently does not consider the RSI in any way, shape, or form — therefore introducing RSI conditions can help illustrate whether or not the RSI is an informative and useful indicator for trading.

Furthermore, we will be comparing the bot’s performance to the “buy and hodl” strategy for each random window, meaning the difference between our bot’s performance and BTC will be taken into account. This way we can show that our strategy is (on average) better than buying and holding BTC.

Of all the above, we will A/B test our bot’s performance on its own versus the bot taking into account the 1-day RSI conditions below.

RSI Conditions:

We will backtest the following RSI conditions:

  • Trading only in “RSI bullish” territory, but not in overbought territory, i.e. above the 50 level and below the 70 level.
  • Trading only in “RSI bearish” territory, but not in oversold territory, i.e. above the 30 level and below the 50 level.
  • Buying only when the 1d RSI has recently “reset” at the 50 level (within the last 14 days)
  • Selling only when the 1d RSI is in overbought territory (above the 70 level)
  • Buying only when the 1d RSI is in oversold territory (below the 30 level)

These 5 conditions test the majority of the RSI’s known signals (with the exception of divergences) and should be sufficient to determine how well the RSI performs over time.

Let’s dive into some of the results…

First things first, let’s look at the results for our proprietary strategy versus just buying and holding BTC over the same time frames:

In this plot, we can see that over a period of a month our bot averages a return of 6.80% whereas holding bitcoin averages a return of 4.895%. Mind you, this is highly dependent upon the windows that you’re backtesting — if your randomly selected windows align to mostly bull markets you’re going to see the HODL provide higher returns. The higher the number of random windows you backtest, the less likely this is to happen, giving you a better estimate of the HODL returns.

Keep in mind that a 6.808% monthly return over time is roughly 120% ROI in a single year, meaning this strategy is insanely profitable in backtesting. I can promise you that in actual deployment you will likely see significantly lower returns. Remember: past performance is no indicator of future success.

That being said, for the purposes of this experiment we’ll focus purely on backtesting performance.

Now let’s start introducing the RSI into the mix…

Buying Only When RSI is Bullish

With this caveat, our strategy will only buy when the 1d RSI is in bullish territory, meaning it won’t trade in extended bear markets. How well does this perform on average?

As you can see above, the Bullish modifier outperforms the HODL strategy, but still underperforms our baseline model. In fact, it underperforms both strategies until the very end. Why is this?

This is where a professional data scientist would dive into the data, looking at each randomly chosen window to see if there were any outliers that may influence the bot’s performance. Some questions I would ask myself:

  • How many windows contain RSI signals above the 50 level? Randomly chosen windows may be overly weighting bear markets, giving fewer signals to the bot.
  • How evenly distributed are the signals, given the RSI modifier? There could be a skewed distribution of signals towards the end of the windows, leading it to make more trades towards the second half of the month.
  • How evenly distributed are the random windows? It’s entirely possible that multiple windows have strong overlap with one another, influencing the bot’s performance one way or another. A more advanced simulation would minimize overlap between windows, something we haven’t done here.

A more detailed dive into backtesting will be done in future blog posts, but for now let’s continue as-is with our current setup.

Buying Only When RSI is Bearish

As a contrast to the previous strategy, what happens when you buy only in bear market territory? Is loading up when price action is negative a positive strategy?

This strategy underperforms everything so far, indicating that the traditional trader wisdom of “buying the dip” only works in bull markets. If you continuously buy exclusively in bear markets, you’re probably not going to perform as well as you would if you bought in bull markets as well.

A potential improvement to this strategy could be to only buy in bear markets and only sell in bull markets. We won’t dive into that today, but that’s food for thought (and potentially another blog post).

Buying Only When RSI Resets

This strategy only buys when the RSI has reset (touched the 50 level) in the last 14 periods — the most common RSI period used. The reset can occur from either side, either upwards from bear market territory, or downwards from bull market territory.

Our RSI Reset modifier confines our model, dramatically reducing the number of trades it makes. As such, while it remains profitable, it doesn’t seem to make nearly as much use of uptrends as the other models.

RSI resets are popular among traders who use the RSI to indicate a shift in momentum. A future modification to this model could incorporate the directionality of the reset, and build on top of new momentum that builds (or lack thereof).

Selling Only When RSI is Overbought

This strategy only sells when the 1-day RSI is in the oversold territory, meaning that it tends to ride the momentum of bull markets into frothy territory before selling in an attempt to reduce volatility and hold longer during bull markets.

We see here that while the bot does tend to do well, the condition that it can only close a position when the market is frothing means that it’s going to miss out on a lot of shorter-term opportunities, which hamstrings its performance.

A potential upgrade to this model could influence the aggressiveness with which it closes positions when in overbought territory, but still allows it to close positions normally.

Buying Only When RSI is Oversold

This strategy only buys when the daily RSI is in oversold territory, essentially “buying the dip” on higher time frames.

This strategy likes to buy during deep bear markets, but is likely hindered by the fact that bear markets tend to have significantly lower volume, weaker price action and momentum (something the bot needs in order to trade effectively), and is oriented around a 1-day higher time frame indicator.

This could be modified to focus on shorter time frames with the RSI, adding a “buy the dip” mechanism to the bot, however it’s important to note that our bot chooses a position size without considering the RSI. Such a mechanism may be covered in more advanced blog posts about trading strategies, but for now we focus purely on these binary conditions.

Discussion

As one can see, introducing constraints revolving around the daily RSI can have a big effect on the performance of our baseline model. Our backtesting showed that incorporating the RSI into our model always had a negative effect — the only question was the degree to which our model was negatively affected.

The RSI is a popular indicator for manual trading, though when it comes to more automated strategies (particularly those revolving around market making) it might be that the RSI is more “noise” than “signal,” and can confound even an already-profitable trading strategy.

To what degree, though, does each RSI strategy affect the bot? In order to determine its influence, we might utilize a few statistical tools that professional traders and data scientists use all the time.

Cross-correlation Between BTC and Strategy

One of the most important things a data scientist can do when working with multiple time series and backtesting trading strategies is to investigate the cross-correlation between signals.

What is cross-correlation, exactly?

(From Wikipedia)

Cross-correlation is a measure of similarity of two series as a function of the displacement of one relative to the other.

When we’re building a trading strategy, we want to know how much of an effect the price action of BTC has on our trading strategy. By identifying periods in which our trading strategy performs well relative to BTC, we can hone in on specific parameters or functions within the strategy that tend to perform better. This gives us the opportunity to focus on a strategy’s relative strengths, and isolate its weaknesses.

In a future post we will dive into investigating the correlation between each of the above strategies against both BTC and our baseline model, to better determine how much each individual RSI indicator affected our bot’s performance in a more rigorous and statistical manner.

Be sure to stay tuned for the next post!

In the meantime, be sure to check out ArcTaurus — an automated no-code solution for building cryptocurrency trading bots. We allow you to build and deploy custom strategies without writing a single line of code, and we’re launching in July 2022! Check out our website and our Linktree for more information.

--

--

ArcTaurus
Coinmonks

A no-code automated trading platform for cryptocurrency traders. Follow us for automated trading strategies and tips for using our platform!