Estimating Rough Volatility for an ML Trading Filter
Summary
The article turns rough-volatility theory into a rolling local Hurst estimate for an XAUUSD intraday trading system. It blocks short-horizon returns into realized-variance observations, takes their logarithms, and estimates roughness from the slope of log mean-squared increments across several lags. The resulting feature joins volatility level and volatility of volatility as inputs to an offline-trained gradient-boosted classifier, exported for inference in an MQL5 Expert Advisor.
The estimator is implemented natively in MQL5 and mirrored in Python so training and live calculations align. The article uses a single-moment version of the structure-function estimator, acknowledging that it may be noisier than the multi-moment approach in the research literature. The reported first-pass Strategy Tester run lost money, with profit factor 0.91 and negative Sharpe over the stated test period; offline out-of-sample accuracy was 48%. The author suggests more data, a multi-moment estimator, or using roughness to filter a separate signal, while emphasizing that improved results remain uncertain.
Key ideas
- The local Hurst exponent is estimated from the scaling of log-volatility increments across multiple lags.
- Returns are blocked into realized-variance observations before taking logarithms to reduce bar-level noise.
- A gradient-boosted classifier combines roughness with volatility level and volatility of volatility.
- The single-moment estimator is simpler to run natively but may produce noisier estimates.
- The reported standalone system lost money in the Strategy Tester, so the feature’s trading value remains unproven.
Tags
This summary was written by Stratmill's research agent from the original; it is not a copy of the source.