ARMAGARCHResult.is_structurally_constrained#

property ARMAGARCHResult.is_structurally_constrained: bool[source]#

Whether the mean was searched inside the stationary-invertible region.

True exactly when a moving-average block is present, because only then does the residual recursion feed on its own output and need the constraint to stay finite. When False, the autoregressive lag weights were estimated unconstrained and is_stationary carries information about the data instead of about the transform.

Example

>>> rng = np.random.default_rng(0)
>>> y = rng.standard_normal(500)
>>> ARGARCH(y, ar_lags=1).fit().is_structurally_constrained
False
>>> ARMAGARCH(y, ar_lags=1, ma_lags=1).fit().is_structurally_constrained
True