QVARResult.crossing_share#

property QVARResult.crossing_share: float[source]#

Share of fitted points where adjacent quantile paths cross.

Separately estimated levels are not constrained to be monotone, so the fitted 90th percentile can dip below the fitted median at some dates. This is the fraction of (date, variable, adjacent pair) triples in violation – a specification diagnostic, not an error: substantial crossing says the linear-in-lags quantile model is misspecified somewhere in the distribution. Zero when only one level was estimated.

Example

>>> import numpy as np
>>> y = np.random.default_rng(0).standard_normal((300, 2))
>>> res = QVAR(y, order=1).fit(quantiles=(0.1, 0.5, 0.9))
>>> bool(0.0 <= res.crossing_share < 0.05)
True
>>> QVAR(y, order=1).fit(quantiles=(0.5,)).crossing_share
0.0