statsmodels.tsa.vector_ar.vecm.VECM¶
-
class
statsmodels.tsa.vector_ar.vecm.VECM(endog, exog=None, exog_coint=None, dates=None, freq=None, missing='none', k_ar_diff=1, coint_rank=1, deterministic='nc', seasons=0, first_season=0)[source]¶ Class representing a Vector Error Correction Model (VECM).
A VECM(\(k_{ar}-1\)) has the following form
\[\Delta y_t = \Pi y_{t-1} + \Gamma_1 \Delta y_{t-1} + \ldots + \Gamma_{k_{ar}-1} \Delta y_{t-k_{ar}+1} + u_t\]where
\[\Pi = \alpha \beta'\]as described in chapter 7 of [R78].
Parameters: endog : array-like (nobs_tot x neqs)
2-d endogenous response variable.
exog: ndarray (nobs_tot x neqs) or None
Deterministic terms outside the cointegration relation.
exog_coint: ndarray (nobs_tot x neqs) or None
Deterministic terms inside the cointegration relation.
dates : array-like of datetime, optional
See
statsmodels.tsa.base.tsa_model.TimeSeriesModelfor more information.freq : str, optional
See
statsmodels.tsa.base.tsa_model.TimeSeriesModelfor more information.missing : str, optional
See
statsmodels.base.model.Modelfor more information.k_ar_diff : int
Number of lagged differences in the model. Equals \(k_{ar} - 1\) in the formula above.
coint_rank : int
Cointegration rank, equals the rank of the matrix \(\Pi\) and the number of columns of \(\alpha\) and \(\beta\).
deterministic : str {
"nc","co","ci","lo","li"}"nc"- no deterministic terms"co"- constant outside the cointegration relation"ci"- constant within the cointegration relation"lo"- linear trend outside the cointegration relation"li"- linear trend within the cointegration relation
Combinations of these are possible (e.g.
"cili"or"colo"for linear trend with intercept). When using a constant term you have to choose whether you want to restrict it to the cointegration relation (i.e."ci") or leave it unrestricted (i.e."co"). Don’t use both"ci"and"co". The same applies for"li"and"lo"when using a linear term. See the Notes-section for more information.seasons : int, default: 0
Number of periods in a seasonal cycle. 0 means no seasons.
first_season : int, default: 0
Season of the first observation.
Notes
A VECM(\(k_{ar} - 1\)) with deterministic terms has the form
\[\begin{split}\Delta y_t = \alpha \begin{pmatrix}\beta' & \eta'\end{pmatrix} \begin{pmatrix}y_{t-1}\\D^{co}_{t-1}\end{pmatrix} + \Gamma_1 \Delta y_{t-1} + \dots + \Gamma_{k_{ar}-1} \Delta y_{t-k_{ar}+1} + C D_t + u_t.\end{split}\]In \(D^{co}_{t-1}\) we have the deterministic terms which are inside the cointegration relation (or restricted to the cointegration relation). \(\eta\) is the corresponding estimator. To pass a deterministic term inside the cointegration relation, we can use the exog_coint argument. For the two special cases of an intercept and a linear trend there exists a simpler way to declare these terms: we can pass
"ci"and"li"respectively to the deterministic argument. So for an intercept inside the cointegration relation we can either pass"ci"as deterministic or np.ones(len(data)) as exog_coint if data is passed as the endog argument. This ensures that \(D_{t-1}^{co} = 1\) for all \(t\).We can also use deterministic terms outside the cointegration relation. These are defined in \(D_t\) in the formula above with the corresponding estimators in the matrix \(C\). We specify such terms by passing them to the exog argument. For an intercept and/or linear trend we again have the possibility to use deterministic alternatively. For an intercept we pass
"co"and for a linear trend we pass"lo"where the o stands for outside.The following table shows the five cases considered in [R79]. The last column indicates which string to pass to the deterministic argument for each of these cases.
Case Intercept Slope of the linear trend deterministic I 0 0 "nc"II \(- \alpha \beta^T \mu\) 0 "ci"III \(\neq 0\) 0 "co"IV \(\neq 0\) \(- \alpha \beta^T \gamma\) "coli"V \(\neq 0\) \(\neq 0\) "colo"References
[R78] (1, 2) Lütkepohl, H. 2005. New Introduction to Multiple Time Series Analysis. Springer. [R79] (1, 2) Johansen, S. 1995. Likelihood-Based Inference in Cointegrated * *Vector Autoregressive Models. Oxford University Press. Attributes
endog_namesNames of endogenous variables exog_namesMethods
fit([method])Estimates the parameters of a VECM. from_formula(formula, data[, subset, drop_cols])Create a Model from a formula and dataframe. hessian(params)The Hessian matrix of the model information(params)Fisher information matrix of model initialize()Initialize (possibly re-initialize) a Model instance. loglike(params)Log-likelihood of model. predict(params[, exog])After a model has been fit predict returns the fitted values. score(params)Score vector of model.
