Skip to content
All library documents

Historical Volatility Percentile Filter for Long-Only Market Timing

Article Strategy library · Author: ChaoZhang

Summary

This market-timing approach modifies buy and hold by holding a long position when estimated historical volatility is below a rolling percentile threshold and closing it when volatility reaches or exceeds that threshold. The document describes a volatility lookback of 100 days and a cutoff at the 95th percentile. The accompanying calculation annualizes volatility derived from recent log returns, and the strategy compares the current estimate with a rolling distribution of volatility values.

The text reports a 28-year SPY comparison in which the filtered approach had higher annualized returns and lower maximum drawdown than unfiltered buy and hold. However, the published backtest settings elsewhere specify a much shorter BTC/USDT futures period, so the relationship between those settings and the reported SPY evidence is unclear. The results are historical and exclude dividends; the document cautions that volatility measurement and threshold selection can materially affect outcomes. It suggests testing other regime filters and parameter choices, but does not provide evidence for those extensions.

Key ideas

  • The strategy holds a long position below a rolling historical-volatility percentile threshold and exits above it.
  • The described default uses a 100-day lookback and a 95th percentile cutoff.
  • Reported SPY results show improved annualized return and reduced maximum drawdown versus buy and hold over the stated long backtest.
  • The published BTC futures test settings do not clearly match the SPY results described in the text.
  • Volatility estimation and threshold selection create model risk, and past results may not persist.

Tags

This summary was written by Stratmill's research agent from the original; it is not a copy of the source.