ATR Percentile Ranking for Volatility Regime Classification
How ATR percentile-based volatility classification reduces drawdown by adjusting position sizing and signal thresholds during vol spikes.
Why ATR Percentile Beats Raw ATR
Raw ATR values are meaningless across instruments. A 50-pip ATR on EURUSD is normal. A 50-pip ATR on USDJPY is a crisis. Percentile ranking solves this by converting every instrument's ATR to a 0-100 scale relative to its own 252-day history.
S02 classifies each bar into three volatility regimes: low (below 25th percentile), normal (25th to 75th), and high (above 75th percentile). This classification feeds directly into the L1 feature vector and drives position sizing adjustments.
How Volatility Regime Affects Trading
During high-volatility regimes, the system reduces position size by 25% and raises L1 signal thresholds by 0.03. The logic is straightforward: when markets are volatile, stops get hit more frequently even on correct directional calls. Smaller positions and higher conviction requirements offset this reality.
Low-volatility periods are not free money either. The system keeps standard sizing but watches for volatility expansion, which often precedes directional moves. The 38-feature vector captures this through the vix_proxy and bb_width features working alongside the ATR percentile rank.
Across the full 4,505-trade backtest, vol-adjusted sizing contributed to keeping max drawdown at 1.49%. Without it, Monte Carlo simulations showed max DD climbing to 2.1% at the 95th percentile.
What Honest Volatility Filtering Looks Like
S02 does not predict volatility spikes. It reacts to them. By the time ATR crosses the 75th percentile threshold, the move has already started. The value is not in prediction but in damage control. Reducing size during confirmed high-vol environments is boring and obvious. It also works. The contribution to total R is slightly negative (you miss some big winners by sizing down), but the contribution to risk-adjusted returns is clearly positive. That trade-off is exactly right for an FTMO-constrained system where survival matters more than maximizing any single month.