Define the returns, normalization and sample correction
Start with n + 1 positive prices P₀ through Pₙ on one equally spaced grid within a defined session. Let rᵢ = ln(Pᵢ/Pᵢ₋₁) in decimal units. For a standard normal variable Z, μ₁ = E|Z| = √(2/π), so μ₁⁻² = π/2. This rescales adjacent absolute products to the variance scale. Tauchen's lecture notes use the n/(n - 1) correction below.
- The uncorrected estimator is common in theoretical definitions. Record which convention you use. The n/(n - 1) factor compensates for n - 1 products versus n returns; it does not correct every finite-sample bias.
- Under independent zero-mean normal increments with constant variance v, E|rᵢ||rᵢ₋₁| = (2/π)v. The corrected sum therefore has expectation nv, matching expected RV in that model.
- Do not subtract the sample mean or divide RV by n. This is variation accumulated over the session, not a centered sample variance per return.
- Decimal returns produce decimal-squared variance. Multiplying returns by 100 multiplies RV and BV by 10,000. Take a square root before displaying volatility; do not subtract square roots to estimate jump variance.
RV = sum(r[i]^2, i = 1,...,n)
BV_raw = (pi / 2) * sum(abs(r[i]) * abs(r[i-1]), i = 2,...,n)
BV = (n / (n - 1)) * BV_raw
D = RV - BV
J = max(D, 0)
Share = J / RV, only when RV > 0