Quant Memo
Advanced

Two-Scale Realized Volatility

Sampling as often as the data allows should make realized volatility more accurate — instead it gets worse, because bid-ask bounce dominates at high frequency. Two-scale realized volatility combines a slow and a fast estimate to cancel that noise out.

Prerequisites: Realized Volatility Estimators

Weigh yourself on a bathroom scale that jitters by half a pound between readings, and one measurement is noisy — but a thousand rapid readings, each treated as a "real" weight change, doesn't help either; it just injects a thousand jitters' worth of noise. There's a way to combine fast noisy readings with slow stable ones to cancel the jitter out. That's the problem two-scale realized volatility (TSRV) solves for prices sampled at very high frequency.

Why naive high-frequency RV breaks

Plain realized volatility (see realized volatility estimators) sums squared returns, and in theory, sampling more often should only help. In practice, at very short intervals, observed prices bounce between bid and ask even when the "true" price hasn't moved — bid-ask bounce adds spurious squared returns that inflate RV. Plot RV against sampling frequency and you get a signature plot: RV rises sharply as frequency increases past a point, revealing noise contamination rather than signal.

The two-scale estimator, defined

TSRV=RV(slow)nˉnRV(all)TSRV = RV^{(\text{slow})} - \frac{\bar{n}}{n} RV^{(\text{all})}

In words: compute RV(all)RV^{(\text{all})} using every tick (fast, noisy, biased up), and separately RV(slow)RV^{(\text{slow})} by averaging RV over several subsampled grids at a coarser frequency (slower, much less noisy, but throws away most data). nn is ticks used in the fast estimate, nˉ\bar{n} the average used per slow subsample. The correction term estimates and subtracts the noise bias baked into the fast estimate, since pure noise contributes a predictable amount to RV(all)RV^{(\text{all})} that grows with nn in a specific way, while true variance doesn't.

Worked example 1 — the signature plot pattern

Suppose a stock's RV, computed at different sampling intervals over the same day, comes out as: 1-second bars give RV=0.00210RV = 0.00210; 1-minute bars give RV=0.00095RV = 0.00095; 5-minute bars give RV=0.00082RV = 0.00082; 30-minute bars give RV=0.00079RV = 0.00079. As sampling gets coarser, RV falls and flattens around 0.00080 — that flat region is roughly where microstructure noise stops dominating, classic evidence that the 1-second estimate is badly contaminated, over double the "true" flattened level.

RV at four sampling frequencies 1-sec: .00210 1-min: .00095 5-min: .00082 30-min: .00079
The signature plot pattern: RV plunges from 1-second to 1-minute sampling, then flattens — the plunge is noise, not signal.

Worked example 2 — applying the TSRV correction

Suppose the fast (all-tick) estimate uses n=20,000n = 20{,}000 ticks and gives RV(all)=0.00210RV^{(\text{all})} = 0.00210. A slow subsampled estimate, averaging over grids of about nˉ=390\bar{n} = 390 observations each (roughly 1-minute sampling), gives RV(slow)=0.00095RV^{(\text{slow})} = 0.00095. The correction term: 39020,000×0.00210=0.0000410\frac{390}{20{,}000} \times 0.00210 = 0.0000410. So TSRV=0.000950.0000410=0.000909TSRV = 0.00095 - 0.0000410 = 0.000909 — close to the flattened signature-plot level from example 1 (0.00079-0.00082), and noticeably closer to that "true" region than either raw estimate alone.

raw fast RV vs TSRV vs true level raw fast: .00210 TSRV: .00091 true level: ~.00080
TSRV pulls the badly-biased raw fast estimate most of the way down to the flattened "true" level, while still using all 20,000 ticks rather than discarding them.

What this means in practice

TSRV (and related noise-robust estimators like realized kernels) let researchers use the full richness of tick-by-tick data without being misled by microstructure noise, rather than the older brute-force fix of just sampling at a fixed "safe" interval like 5 minutes and throwing away everything finer. It's standard in high-frequency volatility forecasting research and in building the realized-vol inputs that feed models like HAR-RV.

Simply choosing a coarser fixed sampling interval (the "5-minute rule of thumb") to dodge microstructure noise is not the same fix as TSRV — it discards almost all the data and the choice of interval is itself arbitrary and asset-dependent, with no principled way to know if 5 minutes is coarse enough for a given stock's liquidity. TSRV's advantage is using all the tick data while explicitly correcting for the noise, rather than guessing at a "safe" frequency and hoping.

Naive realized volatility gets worse, not better, as sampling frequency increases past a point, because bid-ask bounce injects noise faster than finer sampling adds signal — two-scale realized volatility fixes this by combining a fast noisy estimate with a slow stable one to explicitly cancel the noise bias.

Practice

  1. A signature plot shows RV falling from 0.0040 at 1-second sampling to a flat 0.0012 by 10-minute sampling. What does the flattening tell you about where microstructure noise stops dominating?
  2. If the fast all-tick RV is 0.0035 with n=15,000n = 15{,}000 and the slow subsampled RV is 0.0012 with nˉ=300\bar{n} = 300, compute the TSRV correction term and the resulting TSRV estimate.

Related concepts

Practice in interviews

Further reading

  • Zhang, Mykland, and Ait-Sahalia, A Tale of Two Time Scales (JASA, 2005)
  • Ait-Sahalia, Mykland, and Zhang, How Often to Sample a Continuous-Time Process (Review of Financial Studies, 2005)
ShareTwitterLinkedIn