Direct answer
A worked example of Mass Index shows how the indicator turns a time series of high, low, and close prices into a single number by combining (1) an intraday range and (2) moving averages of that range in a specific ratio form. Because no live market data is used here, the example uses explicit, hypothetical inputs; you can recompute the same steps to verify the arithmetic.
Mechanism and definition (with stated assumptions)
Mass Index is calculated from the “range” each period:
- Range = High − Low.
Then it uses a ratio built from moving averages of that range:
- Compute EMA(Range, n) (an exponential moving average of the range using period n).
- Form a ratio R = Range / EMA(Range, n).
- Compute a second moving average of that ratio, typically EMA(R, m).
- Mass Index is often defined as a sum of EMA(R, m) over a rolling window (commonly 9 periods in classic formulations), which yields one value per evaluation date.
Assumptions for this worked example (so every calculation is transparent):
- We use n = 9 for the inner EMA period and m = 9 for the ratio smoothing.
- For the worked arithmetic, instead of recreating the full exponential weighting from earlier history, we use a simplified EMA initialization assumption: at the first evaluation step, EMA(Range, 9) is taken to equal the current Range. This makes the example verifiable without needing the entire prior 9-period history.
- We consider a small set of consecutive periods and compute the Mass Index at a single evaluation step by summing the smoothed ratio values over the chosen window.
- Hypothetical OHLC-derived ranges are used (units can be any consistent price units).
Worked numerical example (one evaluation step)
We choose 10 consecutive periods of hypothetical ranges (High − Low):
- Period 1 to 10 Range values:
- 10
- 12
- 11
- 13
- 12
- 14
- 13
- 12
- 15
- 14
We want one Mass Index value at the end of Period 10. Using the stated simplification for EMA initialization, at each period in the summation window we take:
- EMA(Range, 9) ≈ current Range (for illustration purposes).
Step A: Compute the ratio R = Range / EMA(Range, 9)
With the assumption EMA(Range, 9) equals Range each time step in this simplified setup:
- R at each period ≈ Range / Range = 1
So for each of the 9 periods we will include in the sum (Periods 2 through 10):
- R = 1, 1, 1, 1, 1, 1, 1, 1, 1
Step B: Compute the smoothed ratio EMA(R, 9)
Similarly, under the same illustrative initialization idea, EMA of a constant sequence stays constant. So:
- EMA(R, 9) ≈ 1 for each of the nine periods included.
Step C: Sum over a 9-period window to get Mass Index
Using the common “sum over 9 periods” structure, the evaluation value is:
- Mass Index = 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 = 9
What this example is telling you: Mass Index converts volatility-like range behavior into a number through ratios of range to its moving-average-smoothed value, then aggregates those smoothed ratios over a fixed window. Because the simplified EMA assumption makes R constant, the final index becomes exactly 9.
How you’d redo it with real data: you would compute EMA(Range, 9) from earlier periods using the full exponential weighting, then follow the same ratio and summation steps. That full computation will not usually produce a constant ratio, so Mass Index will vary.
Limitations and risks (what can go wrong)
- Sensitivity to the chosen parameters and EMA initialization. The example used an EMA approximation to keep the arithmetic self-contained. In practice, the EMA depends on prior values; different initialization or implementations can shift results.
- Noise and range construction. High and low can be affected by microstructure effects (spikes) or data quality. Since Mass Index starts from Range = High − Low, sudden outliers can distort the indicator.
- Regime changes and historical dependence. The indicator relies on past ranges and moving averages; relationships that held in one period may not apply later.
Verification and next question
To verify your own Mass Index calculation independently, focus on three checkpoints:
- Your Range values equal High − Low for each period.