SVResult.volatility_bands#

SVResult.volatility_bands(*, alpha=0.05)[source]#

Pointwise 1 - alpha bands on the volatility from the smoothed log variance.

Normal bands on the smoothed log variance, exponentiated; they are asymmetric about volatility and never cross zero.

Parameters:

alpha (float) – Two-sided tail mass.

Return type:

tuple[NDArray[double], NDArray[double]]

Returns:

(lower, upper) arrays of length n.

Example

>>> import numpy as np
>>> rng = np.random.default_rng(0)
>>> res = SV(rng.standard_normal(200), mean="zero").fit()
>>> lower, upper = res.volatility_bands()
>>> bool(np.all(lower < res.volatility)), bool(np.all(res.volatility < upper))
(True, True)
>>> narrow_lo, narrow_hi = res.volatility_bands(alpha=0.5)
>>> bool(np.all(narrow_hi - narrow_lo < upper - lower))
True