Volatility targeting sizes exposure as target ÷ estimated volatility: 1.5× levered when markets are calm, cut to 0.5× when they are stressed. Its historical benefits and its failure modes are both consequences of that rule, and which one you get depends on plumbing — the estimator’s speed, the leverage cap, the rebalance band — more than on the headline target. This simulator runs the rule on real or synthetic daily returns and shows the leverage it embeds, the drawdown it smooths, the gap it cannot, and the turnover it bills. The mechanics are in the volatility-targeting guide; the reason the regime mix matters is in the regime-dependence guide. Everything runs in your browser; pasted or loaded returns never leave it.

Returns

The layer

Equity curves (log) — vol-targeted unscaled

Leverage path — dashed = 1×, red = cap, shaded = stressed regime

UnscaledVol-targetedChange
—

Download the full daily series as CSV — return, vol estimate, leverage, scaled return, both equity curves.

What to look for

The leverage path is the strategy. A “12% vol” rule on a 10%-vol calm regime is a 1.2× position, and on an 8%-vol lull it is 1.5×: maximum leverage arrives exactly when spreads and vol are compressed, the classic pre-storm configuration. Watch the leverage chart in the calm stretches before each shaded regime and compare the max-leverage statistic with what you would have told an allocator.

Gap risk is unscaled. The layer controls exposure to forecastable vol. An overnight jump hits the position at its pre-jump size, which is why the worst single day of the targeted series is often worse than the unscaled one even as the max drawdown improves. Raise the tail-fatness parameter (lower ν) to see jump-drawdown risk replace smooth-drawdown risk.

The plumbing decides the result. Two identical targets with different estimator half-lives are different strategies: a 5-day EWMA cuts fast and whipsaws, a 60-day window is smooth and late. The rebalance band and the cap are where the turnover bill and the tail exposure get traded against each other. If the improvement survives only one estimator configuration, it is a parameter spike, not a property; the robustness guide calls this the plateau test.

The channels can be switched off. Set the stressed-regime return equal to the calm one and the leverage-effect channel disappears; lengthen the spells and vol clustering weakens. What survives is what the rule does in your market, which is the regime-dependence question: a backtest quietly averages over a mix of states, and the layer’s benefit depends on that mix.

The turnover is additive. The layer trades the whole book on vol changes, on top of whatever the underlying signal trades. Put the layer’s turnover figure into the transaction-cost calculator alongside the strategy’s own, with the turnover guide’s reduction techniques in mind.

Model: leverage = target ÷ yesterday’s vol estimate (EWMA on squared returns, or rolling root-mean-square), clipped to the floor and cap, re-levered only outside the band; scaled return = leverage × return − cost × |change in leverage|. Synthetic returns: two-state Markov regime switching with Student-t innovations; one path per seed. Returns pasted here are parsed in your browser and never uploaded.