arch.univariate.christoffersen_conditional_coverage

arch.univariate.christoffersen_conditional_coverage(returns: ndarray[tuple[int], dtype[float64]] | Series | list[float], var: ndarray[tuple[int], dtype[float64]] | Series | list[float], p: float = 0.05) → WaldTestStatistic[source]

Christoffersen test of the conditional coverage of VaR.

Parameters:
returns: ndarray[tuple[int], dtype[float64]] | Series | list[float]

Realized returns, a 1-d array of finite numbers with at least 2 observations.

var: ndarray[tuple[int], dtype[float64]] | Series | list[float]

VaR forecasts as positive losses, a 1-d array of finite numbers. See var_exceptions for the sign convention and for how the inputs are aligned.

p: float = 0.05

The probability of an exception that the VaR is designed for, which is the size of the tail, in the interval (0, 0.5]. It is 0.05 for a 95% VaR and 0.01 for a 99% VaR. The default is 0.05, a 95% VaR.

Returns:

The likelihood-ratio statistic, which is asymptotically \(\chi^2_2\) under the null that exceptions are independent and have probability p, with its p-value.

Return type:

arch.utility.testing.WaldTestStatistic

Raises:
  • TypeError – If returns or var cannot be converted to numbers, or p is not a real number.

  • ValueError – If returns or var is not valid, as in var_exceptions, there are fewer than 2 observations, or p is not in (0, 0.5].

See also

kupiec_pof

Test of the proportion of exceptions.

christoffersen_independence

Test of the independence of the exceptions.

Notes

The statistic of Christoffersen (1998) [1] is the sum of the Kupiec statistic, computed with all the observations, and the independence statistic, \(LR_{cc}=LR_{uc}+LR_{ind}\). See kupiec_pof and christoffersen_independence for the statistics and for the handling of series with no exceptions or with only exceptions.

References