This article discusses a structured indicator composed of many normalization formulas. It resembles the stochastic oscillator, only with a different approach.
Normalization in a Nutshell
Min-Max scaling (also known as normalization) is a feature scaling technique that transforms data to a fixed range—usually [0, 1]. It’s widely used in statistical modeling to ensure that all features contribute equally to model performance, especially when features are on different scales. In our case, we want to see the overstretching of the market.
Normalization linearly transforms data using the formula:
Suppose you choose a normalization of the close price of 5 rolling periods. Whenever the normalized index (normalized values or X`) is 1.00, it means that we’ve hit the highest close price in 5 periods, and whenever it’s 0.00, it means that we’ve hit the lowest close price in 5 periods.
Every week, I analyze positioning, sentiment, and market structure. Curious what hedge funds, retail, and smart money are doing each week? Then join hundreds of readers here in the Weekly Market Sentiment Report 📜 and stay ahead of the game through chart forecasts, sentiment analysis, volatility diagnosis, and seasonality charts.
Free trial available🆓.
The Grand Normalizer
The grand normalizer is just an idea where we combine normalized indices using different lookback periods. The grand normalizer is calculated as follows:
Normalize a number of lookback periods using the formula from the last section. For example, you can calculate the normalized index of the close price using 5 as a lookback period, and then another one using 8 as a lookback period.
Calculate the average of the previous calculation.
Calculate another average of the previous calculation in order to smooth it out.
Now, you can derive trading signals from the indicator:
A bullish signal is generated whenever the grand normalizer crosses above 2.
A bearish signal is generated whenever the grand normalizer crosses under 98.
The following chart shows more signals generated from the grand normalizer. In our case, I have chosen the lookback periods to be the first eleven Fibonacci numbers.
Use the following code to visualize the indicator on TradingView:
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Sofien-Kaabar
//@version=5
indicator("The Grand Normalizer", overlay = true)
norm_5 = ta.stoch(close, close, close, 5)
norm_8 = ta.stoch(close, close, close, 8)
norm_13 = ta.stoch(close, close, close, 13)
norm_21 = ta.stoch(close, close, close, 21)
norm_34 = ta.stoch(close, close, close, 34)
norm_55 = ta.stoch(close, close, close, 55)
norm_89 = ta.stoch(close, close, close, 89)
norm_144 = ta.stoch(close, close, close, 144)
norm_233 = ta.stoch(close, close, close, 233)
norm_377 = ta.stoch(close, close, close, 377)
norm_610 = ta.stoch(close, close, close, 610)
gn_raw = (norm_5 + norm_8 + norm_13 + norm_21 + norm_34 + norm_55 + norm_89 + norm_144 + norm_233 + norm_377 + norm_610) / 11
gn = ta.sma(gn_raw, 8)
plotshape(gn > 2 and gn[1] < 2, style = shape.triangleup, color = color.green, location = location.belowbar, size = size.small)
plotshape(gn < 98 and gn[1] > 98, style = shape.triangledown, color = color.red, location = location.abovebar, size = size.small)
The following chart shows more signals from the indicator (previously called the statistical sentiment index).
Do you want to master Deep Learning techniques tailored for time series, trading, and market analysis🔥? My book breaks it all down from basic machine learning to complex multi-period LSTM forecasting while going through concepts such as fractional differentiation and forecasting thresholds. Get your copy here 📖!
The Grand Normalizer enhances market signals by using Fibonacci-based lookbacks, offering insights into market overstretching across different time frames.