Methodology · Tool · Last updated 2026-05-08
How VaR Backtest (Kupiec & Christoffersen) works
Likelihood-ratio derivations behind the Kupiec POF and Christoffersen independence tests in the VaR Backtest tool.
Hit sequence
For each day t the indicator I_t = 1 if PnL_t < −VaR_t (an exception), else 0. Expected exception rate is α = 1 − confidence.
Kupiec POF (LR_uc)
The proportion-of-failures test compares observed exception rate π̂ = x/n to the theoretical α under H0:
LR_uc = −2 · ln( ((1−α)^(n−x) · α^x) / ((1−π̂)^(n−x) · π̂^x) )
LR_uc ~ χ²₁ under H0 Rejecting H0 means the model under- or over-estimates the unconditional VaR rate.
Christoffersen Independence (LR_ind)
Counts the four transitions:
n00 = #{I_{t-1}=0, I_t=0}
n01 = #{I_{t-1}=0, I_t=1}
n10 = #{I_{t-1}=1, I_t=0}
n11 = #{I_{t-1}=1, I_t=1}
π_01 = n01 / (n00 + n01)
π_11 = n11 / (n10 + n11)
π = (n01 + n11) / (n00 + n01 + n10 + n11)
LR_ind = −2 · ln( L_independent / L_markov )
~ χ²₁ under H0 Rejecting H0 means exceptions cluster in time — typical of GARCH-misspecified models that under-estimate risk in volatile regimes.
Joint Conditional Coverage (LR_cc)
LR_cc = LR_uc + LR_ind ~ χ²₂ under H0 A model can pass POF but fail independence (right average rate, wrong clustering), or vice versa. The joint test catches both.
References
- Kupiec, P. (1995). "Techniques for Verifying the Accuracy of Risk Measurement Models." Journal of Derivatives 3(2): 73–84. DOI: 10.3905/jod.1995.407942.
- Christoffersen, P. F. (1998). "Evaluating Interval Forecasts." International Economic Review 39(4): 841–862. DOI: 10.2307/2527341.
- Jorion, P. (2007). Value at Risk: The New Benchmark for Managing Financial Risk, 3rd ed., McGraw-Hill. ISBN: 978-0-07-146495-6.
Limitations
- Power is low for n < 250 days; small samples often fail to reject obviously bad models.
- Christoffersen tests first-order Markov clustering only; higher-order clustering requires alternative tests (e.g. dynamic quantile by Engle-Manganelli).
- Both tests assume the VaR series is exogenous to the PnL series.