I have seen this strategy example, which uses garch in a regime switching context:
https://systematicinvestor.wordpress.com/2012/01/06/trading-using-garch-volatility-forecast/
The author classifies volatility by percentile using a 252 day look back period. Volatility is defined as the standard deviation of the past 21 log returns. So far, so good.
However, the way the author ranks volatility is strange to me. Instead of simply taking the percentile rank of the current day counting the past 252, he does this, in R:
vol.rank = percent.rank(SMA(percent.rank(hist.vol, 252), 21), 250)
So, assuming hist.vol is a vector of historical volatilities, he first assigns to each day its percentile rank according to the past 252 days. That should be enough to me, but then he proceeds to take the simple moving average of the percentile ranks, and then again classify each of these SMAs of percentile ranks into their own percentile ranks.
What is the rationale in doing that?