A Comprehensive Guide to the Simple Relative Strength Index
Written on
Chapter 1: Introduction to the Simple Relative Strength Index
In the world of trading, momentum and contrarian indicators shouldn't be viewed as the ultimate solution. Relying solely on default settings for a popular indicator is unlikely to yield a successful trading strategy. This is where adjustments and fine-tuning come into play, which, while not always sufficient, represents a vital step toward enhancing your trading approach. This article simplifies the relative strength index, making it a more responsive tool for traders.
I recently published a new book following the success of my earlier work. This new edition delves into advanced trend-following indicators and strategies, complete with a GitHub page for ongoing code updates. It also showcases original colors, having been optimized for printing expenses. If this piques your interest, feel free to visit the Amazon link provided below, or contact me via LinkedIn for a PDF version.
Chapter 2: Understanding the Known Relative Strength Index
The Relative Strength Index (RSI) stands out as one of the most well-known momentum indicators, particularly effective in fluctuating markets. Its values range from 0 to 100, which simplifies interpretation. Additionally, its popularity enhances its effectiveness; as more traders and portfolio managers utilize the RSI, their collective reactions to its signals can significantly influence market prices. While we cannot definitively prove this concept, it aligns with the intuition that underpins Technical Analysis, suggesting it can be self-fulfilling.
To compute the RSI, we begin by determining price changes over a designated period. This involves subtracting each closing price from the previous one. Next, we calculate the smoothed averages of both the positive and negative changes. This yields the Relative Strength (RS), which is then incorporated into the RSI formula, producing a value between 0 and 100.
The first video provides a detailed explanation of how to effectively utilize the Relative Strength Index (RSI), making it a valuable resource for traders looking to enhance their understanding of this indicator.
To calculate the RSI, one requires an OHLC (Open, High, Low, Close) array, comprising four columns. The corresponding function for calculating the RSI is as follows:
def rsi(Data, lookback, close, where, width=1, genre='Smoothed'):
# Adding extra columns
Data = adder(Data, 7)
# Calculating differences
for i in range(len(Data)):
Data[i, where] = Data[i, close] - Data[i - width, close]
# Absolute values for Up and Down
for i in range(len(Data)):
if Data[i, where] > 0:
Data[i, where + 1] = Data[i, where]elif Data[i, where] < 0:
Data[i, where + 2] = abs(Data[i, where])
# Calculating Smoothed Moving Average for Up and Down
if genre == 'Smoothed':
lookback = (lookback * 2) - 1 # Convert exponential to smoothed
Data = ema(Data, 2, lookback, where + 1, where + 3)
Data = ema(Data, 2, lookback, where + 2, where + 4)
if genre == 'Simple':
Data = ma(Data, lookback, where + 1, where + 3)
Data = ma(Data, lookback, where + 2, where + 4)
# Calculating Relative Strength
Data[:, where + 5] = Data[:, where + 3] / Data[:, where + 4]
# Calculate the RSI
Data[:, where + 6] = (100 - (100 / (1 + Data[:, where + 5])))
# Cleanup
Data = deleter(Data, where, 6)
Data = jump(Data, lookback)
return Data
To use the RSI function on OHLC data arrays, we first need to define some basic manipulation functions:
def adder(Data, times):
for i in range(1, times + 1):
z = np.zeros((len(Data), 1), dtype=float)
Data = np.append(Data, z, axis=1)
return Data
def deleter(Data, index, times):
for i in range(1, times + 1):
Data = np.delete(Data, index, axis=1)return Data
def jump(Data, jump):
Data = Data[jump:, ]
return Data
Chapter 3: The Simple Relative Strength Index Explained
The Simple RSI involves a straightforward alteration in how the moving average is calculated within the standard RSI formula. Instead of employing a smoothed moving average as suggested by Wilder, we apply a simple moving average. Thus, in the provided function, we can write:
my_data = rsi(my_data, 14, 3, 4, genre='Simple')
Here, '14' indicates the lookback period for the RSI, '3' refers to the closing prices in the OHLC array, and '4' signifies the column index for the RSI output.
The second video offers further insights into the Relative Strength Index (RSI), helping to solidify your grasp of this critical trading tool.
Chapter 4: Comparing the Two Indicators
The most effective way to contrast two indicators or strategies is through back-testing. We will conduct a back-test comparing the Simple RSI and the Standard RSI across ten currency pairs since 2010 under specific conditions:
- Long (Buy) when the 2-period RSI (either Simple or Smoothed) reaches 1, with the previous reading above 1. Maintain the position until a contrarian signal is received.
- Short (Sell) when the 2-period RSI (either Simple or Smoothed) hits 99, with the previous reading below 99. Hold the position until a contrarian signal emerges.
The back-tested data consists of hourly OHLC values dating back to 2010, utilizing no risk management with a spread of 0.2 pips per trade.
Preliminary results indicate that the Simple RSI outperforms the commonly used Standard RSI. This intriguing finding warrants further validation, and it may be worthwhile to develop a comprehensive strategy based on the Simple RSI.
For more articles on trading strategies, consider subscribing to my DAILY Newsletter (with a free plan available) via the link below. Subscribers receive a free PDF copy of my first book, along with access to 5-7 articles weekly under a paid subscription, or 1-2 articles weekly for free plan subscribers. Your support enables me to continue sharing my research!
Final Thoughts
Always remember to conduct your back-tests. It's essential to remain skeptical of prevailing opinions. While my indicators and trading style may work for me, they might not suit your approach.
I advocate for self-guided learning. My journey involved experimentation rather than imitation. Grasp the concept, the intuition, and the conditions of the strategy, then enhance it to create your own unique approach. Thoroughly back-test and refine it before deciding to implement it live or discard it.
Additionally, I've recently launched an NFT collection aimed at supporting various humanitarian and medical initiatives. The Society of Light features limited collectibles, with a portion of each sale contributing to designated charities. Some benefits of purchasing these NFTs include:
- High-potential gain: By focusing the remaining sales proceeds on marketing and promoting The Society of Light, I aim to maximize their secondary market value, with a portion of royalties also directed toward charities.
- Art collection and portfolio diversification: Investing in a collection that symbolizes positive contributions is immensely rewarding. Investing doesn't always have to be self-serving; it can also be about helping others while enjoying art.
- Flexible charitable donations: This approach allows you to allocate funds to your preferred causes.
- Free book in PDF: Any NFT buyer will receive a complimentary copy of my latest book.
Click here to support my cause against brain tumors by purchasing an NFT.