Skip to content

Kupiec Unconditional-Coverage Test

The Kupiec (1995) proportion-of-failures test is the formal version of the exception count. It asks whether the observed exception rate equals the model’s promised tail probability p=1αp = 1-\alpha. It uses a likelihood-ratio statistic LRUC\mathrm{LR}_{UC} that compares the model’s probability pp with the empirical failure frequency N/TN/T. Under the null that the VaR is correctly calibrated, LRUC\mathrm{LR}_{UC} is distributed chi-squared with one degree of freedom. A value above the critical level (about 3.84 at 5%) rejects the model. Its weakness, which motivates Christoffersen, is that it tests only the frequency of exceptions and is blind to whether they cluster in time.

Try it yourself

Backtesting VaR — counting exceptions

A correct VaR is breached on a known fraction of days, p = 1 − α. An exception is a day whose loss exceeds the −VaR line. Count them, compare to the expected p·T, and the Kupiec test asks whether the gap is just luck. Push the model below true risk and exceptions pile up.

Exceptions N vs expected p·T3 vs 2.5
495k247k+0k+247k+495k−VaR = −US$279kTrading day (1 … 250)Daily P&L (US$)−VaR thresholdException (loss > VaR)
Hit ratio N/T 1.20%Promised rate p 1.00%VaR threshold US$279,156
Confidence level α
Sample size T250 days
Model vs true volatility1.00×
At 1.00×: model matches true volatility (correctly specified).
Kupiec LRuc 0.09 vs 3.841
PASS
Basel zone GREEN (3 in 250)
3 exceptions against 2.5 expected is within sampling noise, so the model passes the unconditional-coverage test. Kupiec checks only the count, not whether breaches cluster in time.

Why it matters

Counting exceptions is informal; Kupiec makes it a hypothesis test. It compares "the model says 1% should fail" against "actually 4% failed" and asks whether that gap is too large to be luck. The likelihood ratio measures how much better the data fit the observed rate than the promised rate. If that improvement is big enough, the model is rejected. The one thing Kupiec cannot see is timing: ten exceptions spread out and ten exceptions all in one panic week give the same count and the same Kupiec verdict.

Formulas

Kupiec unconditional-coverage statistic
LRUC=2ln ⁣[pN(1p)TN(NT)N ⁣(1NT)TN]χ2(1)\mathrm{LR}_{UC} = -2\ln\!\left[\frac{p^{N}(1-p)^{T-N}}{\left(\tfrac{N}{T}\right)^{N}\!\left(1-\tfrac{N}{T}\right)^{T-N}}\right] \sim \chi^{2}(1)
NN exceptions in TT days, model tail probability p=1αp = 1-\alpha. The numerator is the likelihood under the model rate pp; the denominator under the observed rate N/TN/T. Reject the model if LRUC>3.84\mathrm{LR}_{UC} > 3.84 at the 5% level.

Worked examples

Scenario

A 99% VaR (p=0.01p = 0.01) is backtested over T=250T = 250 days and shows N=8N = 8 exceptions. Does the Kupiec test reject the model at 5%?

Solution

The observed rate is N/T=8/250=3.2%N/T = 8/250 = 3.2\% against a promised 1%. Plugging N=8N=8, T=250T=250, p=0.01p=0.01 into the LR formula gives LRUC7.73\mathrm{LR}_{UC} \approx 7.73, which exceeds the chi-squared(1) critical value of 3.84. So the model is rejected: it produces significantly more exceptions than 1% calibration allows, evidence that it understates tail risk.

Common mistakes

  • Kupiec tests whether exceptions cluster. It tests only the frequency (unconditional coverage); detecting clustering requires the independence component in Christoffersen’s test.
  • The Kupiec statistic follows a chi-squared with two degrees of freedom. LRUC\mathrm{LR}_{UC} has one degree of freedom; the two-degree statistic is the joint Christoffersen LRCC\mathrm{LR}_{CC}.
  • Failing the count test by eye is the same as the Kupiec test. Kupiec turns the count into a likelihood-ratio hypothesis test with a precise critical value, so it can accept counts that look high but are within sampling noise.
  • A model that passes Kupiec is fully validated. Passing only confirms the right number of exceptions; the model can still fail because those exceptions bunch in time.

Revision bullets

  • Kupiec (1995) proportion-of-failures = unconditional-coverage test
  • Tests whether observed exception rate N/T equals promised p = 1 - alpha
  • Statistic LR_UC is chi-squared with 1 degree of freedom
  • Reject calibration if LR_UC > 3.84 at the 5% level
  • Blind to clustering of exceptions in time (its key limitation)

Quick check

What does the Kupiec proportion-of-failures test assess?

The Kupiec LRUC\mathrm{LR}_{UC} statistic is compared against a chi-squared distribution with how many degrees of freedom?

Connected topics

Sources

  1. Kupiec, P. H. "Techniques for Verifying the Accuracy of Risk Measurement Models." Journal of Derivatives, 3(2), 73-84, 1995. Also Federal Reserve Board, Finance and Economics Discussion Series 95-24.
    Introduces the proportion-of-failures (unconditional coverage) likelihood-ratio test for VaR.
  2. Jorion (2007), Ch. 6
    Jorion, P. Value at Risk: The New Benchmark for Managing Financial Risk. 3rd ed. McGraw-Hill, 2007.
    Presents the Kupiec test within the VaR backtesting framework.
How to cite this page
Dr. Phil's Quant Lab. (2026). Kupiec Unconditional-Coverage Test. Derivatives Atlas. https://phucnguyenvan.com/concept/frm-kupiec-test