1. One number, two kinds of risk
Realized variance — the sum of squared intraday returns, RV = Σ r² — is the workhorse volatility measure, but it quietly blends two very different things. Part of it is the continuous diffusion of price: the ordinary, always-on jitter of a market absorbing order flow. The rest is jumps: discrete, outsized moves on news, a liquidation, or a gap. Squaring treats them identically, so a single 5% jump can dominate an entire day's RV and make a calm market look violent.
For most risk and forecasting work you want the two separated. The continuous part is persistent and predictable — it clusters and mean-reverts, so it forecasts tomorrow. The jump part is largely unpredictable and should often be modelled on its own. We covered one way to split them — bipower variation — in an earlier piece. This one is about two estimators that do the same job more robustly, and the companion statistic that tells you how noisy any of these estimates really is.
2. The trick: neighbours, not squares
The insight behind every jump-robust estimator is simple. A genuine jump lands in one return; the returns on either side of it are ordinary. So if you build your variance estimate from a function of adjacent returns that a single large value can't hijack, the jump washes out. Bipower variation multiplies neighbours (|r i−1|·|ri|) so the huge jump return is tamed by its small neighbour. MinRV and MedRV push the same idea further, using the minimum and median of neighbouring absolute returns — order statistics that ignore a lone outlier by construction.
3. MinRV
MinRV takes each adjacent pair of absolute returns, keeps the smaller one, and squares it. A jump inflates one return of the pair but not the other, so the minimum quietly drops it:
MinRV = π⁄(π−2) · n⁄(n−1) · Σ min(|ri−1|, |ri|)²
The leading constant π/(π−2) ≈ 2.752 rescales the estimator so that, in the absence of jumps, it targets the same continuous variance as RV; the n/(n−1) factor is a small finite-sample correction. What you get is an estimate of integrated variance — the continuous part only — computed in a single pass and immune to a handful of jumps.
4. MedRV — the robust workhorse
MedRV goes one step further and takes the median of every three consecutive absolute returns:
MedRV = π⁄(6−4√3+π) · n⁄(n−2) · Σ med(|ri−1|, |ri|, |ri+1|)²
The median of three ignores the largest of the trio — so a jump is discarded — but it also ignores the smallest, which is what makes MedRV the most practical of the three. Real high-frequency tapes are full of zero or near-zero returns: intervals where the price simply didn't move. Those zeros drag the minimum in MinRV toward nothing and can bias it downward; the median steps over them. MedRV is also less rattled by two jumps landing close together. That combination — robust to jumps, to zeros, and to the odd double-outlier — is why MedRV (Andersen, Dobrev & Schaumburg, 2012) is often the default jump-robust variance estimator in practice.
| Estimator | Built from | Robust to |
|---|---|---|
| Realized variance | Σ rᵢ² | nothing — includes jumps |
| Bipower variation | |rᵢ₋₁|·|rᵢ| | isolated jumps |
| MinRV | min of a pair | isolated jumps |
| MedRV | median of a triple | jumps, zero returns, twin outliers |
5. What's left over is the jump
Once you can measure continuous variance, the jump contribution falls out as a difference. RV captures everything; a robust estimator like MedRV captures only the continuous part; so RV − MedRV is the variance due to jumps, floored at zero. On a real series the gap is stark. Take a quiet day with a single 5% jump: RV is completely dominated by that one squared move, while MinRV and MedRV sit roughly two orders of magnitude lower, reporting the calm diffusion underneath. The robust estimators are, in effect, telling you "ignore the headline — the market itself was quiet."
That comparison is the basis of formal jump tests: standardise the gap between RV and a jump-robust estimator and you get a statistic that flags whether a day's move was genuinely a jump or just heavy diffusion. Which brings us to the piece that makes any of this rigorous — knowing the error bar on RV itself.
6. Realized quarticity: the error bar on volatility
Realized variance is an estimate, and like any estimate it has sampling error. How much? The theory is precise: the estimation error of RV grows with the market's integrated quarticity — loosely, the time-integral of volatility to the fourth power. When volatility is itself volatile, RV is a noisier read. Realized quarticity estimates that quantity directly:
RQ = n⁄3 · Σ ri4
On its own RQ is rarely the headline number, but it is the quantity that turns realized variance from a bare point estimate into one with a confidence interval, and it is the natural scaling term sitting in the denominator of the jump tests above (Barndorff-Nielsen & Shephard, 2002). If you report an RV without a sense of its quarticity, you're quoting a measurement with no error bar. One caution: because it sums fourth powers, RQ is itself extremely sensitive to jumps — for inference on the continuous part you'd reach for a jump-robust quarticity, the same min/median trick applied to quadruples.
7. Computing it
All three are one pass over a return series. Our open-source orderflow-metrics library ships them, dependency-free, in TypeScript and Python:
import { minRV, medRV, realizedQuarticity } from "orderflow-metrics";
// a quiet series with one 5% jump (the 0.05)
const r = [0.001, -0.0015, 0.002, -0.001, 0.0012, 0.05, -0.0008, 0.0011];
const rv = r.reduce((s, x) => s + x * x, 0);
rv; // 0.002512 — dominated by the single jump
minRV(r); // 0.0000251 — continuous variance only
medRV(r); // 0.0000190 — ~100x below RV: the jump is gone
realizedQuarticity(r); // 0.0000167 — the scale of RV's own error
The Python distribution exposes the same functions (min_rv, med_rv, realized_quarticity). They sit naturally beside bipower variation and the single-asset streaming volatility estimators in the wider market microstructure toolkit we build in the open, and they read well next to the tail-shape lens of realized skewness and kurtosis — jumps, after all, are what fatten the tails.
8. Conclusion
A volatility number you can't decompose is a number you can't fully trust. MinRV strips jumps out of realized variance with the minimum of adjacent returns; MedRV does it more robustly still with the median of three, shrugging off the zero returns and twin outliers that trip up simpler estimators; and realized quarticity puts an error bar on the whole exercise. Together they turn "the market moved a lot today" into the sharper, more useful "the market was calm — but it jumped once, and here's how confident we are." Explore the rest of the toolkit in our quantitative research library, or read the implementation in our open-source metrics.