Generate the process following the first-order stationary vector autoregressive model with zero mean
The following statements compute the roots of characteristic function, compute the five lags of cross-covariance matrices, generate 100 observations simulated data, and evaluate the log-likelihood function of the VAR(1) model:
proc iml; /* Stationary VAR(1) model */ sig = {1.0 0.5, 0.5 1.25}; phi = {1.2 -0.5, 0.6 0.3}; call varmasim(yt,phi) sigma=sig n=100 seed=3243; call vtsroot(root,phi); print root; call varmacov(crosscov,phi) sigma=sig lag=5; lag = {'0','','1','','2','','3','','4','','5',''}; print lag crosscov; call varmalik(lnl,yt,phi) sigma=sig; print lnl;
The stationary VAR(1) processes show in Output 13.15.
Output 13.16: Roots of VAR(1) Model (VTSROOT)
root | ||||
---|---|---|---|---|
0.75 | 0.3122499 | 0.8124038 | 0.3945069 | 22.603583 |
0.75 | -0.31225 | 0.8124038 | -0.394507 | -22.60358 |
In Output 13.16, the first column is the real part () of the root of the characteristic function and the second one is the imaginary part (
). The third column is the modulus, the squared root of
. The fourth column is
and the last one is the degree. Since moduli are less than one from the third column, the series is obviously stationary.
Output 13.17: Cross-covariance Matrices of VAR(1) Model (VARMACOV)
lag | crosscov | |
---|---|---|
0 | 5.3934173 | 3.8597124 |
3.8597124 | 5.0342051 | |
1 | 4.5422445 | 4.3939641 |
2.1145523 | 3.826089 | |
2 | 3.2537114 | 4.0435359 |
0.6244183 | 2.4165581 | |
3 | 1.8826857 | 3.1652876 |
-0.458977 | 1.0996184 | |
4 | 0.676579 | 2.0791977 |
-1.100582 | 0.0544993 | |
5 | -0.227704 | 1.0297067 |
-1.347948 | -0.643999 |
In each matrix in Output 13.17, the diagonal elements are corresponding to the autocovariance functions of each time series. The off-diagonal elements are corresponding to the cross-covariance functions of between two series.
In Output 13.18, the first row is the value of log-likelihood function; the second row is the sum of log determinant of the innovation variance; the last row is the weighted sum of squares of residuals.
Generate the process following the error correction model with a cointegrated rank of 1:
with
The following statements compute the roots of characteristic function and generate simulated data.
proc iml; /* Nonstationary model */ sig = 100*i(2); phi = {0.6 0.8, 0.1 0.8}; call varmasim(yt,phi) sigma=sig n=100 seed=1324; call vtsroot(root,phi); print root;
The nonstationary processes are shown in Output 13.19 and have a comovement.
In Output 13.20, the first column is the real part () of the root of the characteristic function and the second one is the imaginary part (
). The third column is the modulus, the squared root of
. The fourth column is
and the last one is the degree. Since the moduli are greater than equal to one from the third column, the series is obviously
nonstationary.