Methodology — Bootstrap Uncertainty Ranges
Transparency is a feature. This page explains what the quiet ranges beside the risk tiles are and why we show them — in plain terms. The precise formulas and numeric conventions are documented in our internal methodology; the summary here is deliberate, not an omission.
Every estimated number on the Risk tab — volatility, the diversification ratio, the effective-bets count — is computed from one finite window of history. A different but equally plausible sample of the same market would have produced a somewhat different number. The ranges show how different: they are the spread of each statistic when we recompute it many times on resampled versions of your book's own return window.
How the resampling works
- We rebuild the window from blocks of consecutive days rather than single days, so the short-run momentum and clustering that real return series carry survives the resampling. Block lengths average about the cube root of the window length (roughly two trading weeks on a five-year window) and the payload discloses the exact value.
- All names are resampled together: one sequence of days is drawn, and every holding re-reads those same days. That preserves how your names co-move — the very thing portfolio risk is about. Resampling each name separately would destroy it.
- The whole procedure is deterministic: the random draws are seeded by the request itself, so the same book over the same window always shows the same ranges — they are reproducible facts about your window, not a lottery.
- Typically about 500 resamples; each range is the central 95% of the recomputed values.
What you'll see
- Quiet ranges beside annualized volatility, the diversification ratio, and the minimum-torsion effective-bets count (the bets range is coarse, like the number itself). A range appears only when the point estimate itself passes its own gates — a range never outlives its number.
- A rank-stability chip on the risk decomposition: "top risk contributor is the same name in NN% of resamples." Per-row error bars on the Euler table would all overlap in a 10–40 name book; whether the #1 risk seat survives resampling is the question that actually matters.
- CVaR ranges only on long windows (three or more years of daily data), always with this label: sampling variability only; the point estimate is downward-biased for heavy tails. Resampling your own window can show its sampling noise — it cannot see tail events your window never contained.
- A regime note or badge: we compare how much your window's rolling half-year volatility ranged against how much it ranges across the stationary resamples of the same days. A rolling estimate wanders even when nothing changed, so the bar is calibrated from the resamples themselves — never a fixed rule of thumb. The badge describes this window; it is not a forecast.
What the ranges are not
They are not confidence in the future, not a guarantee, and not model-error bars: a range computed under a given covariance estimator describes that estimator's sampling noise on this window. Anything we could not compute honestly is shown as missing with the reason spelled out, never guessed.