Solved – Optimal lag-selection in VAR-model in R

aiclagsmodel selectionvector-autoregression

Having troubles with the lag specification of a VAR-model. The purpose of the model is to measure orthogonal impulse/response function of oil price shocks on macroeconomic variables, such as GDP-growth, unemployment rate, inflation-rate and interest-rate. These are quarterly observations from 2001-2019 so a total of 73 observations. The variables have been put in recursively in the set in the following order (oil price, unemployment, GDP, inflation, interest rates).

All the variables (including log oil price) has been checked for stationarity using ADF/KPSS and corrected for if not stationary. The problem comes when it's time to select the lag-length in the VAR-model. I'm doing this in R so by using the command:

VARselect(data, type= "const", lag.max = 10)

AIC suggest a lag-length of 10 which I suppose is not consistent results since it uses up a lot degrees of freedom to estimate all the coefficients in the model. (My guess is that 1-4 lags would be reasonable.) My question is therefore, what I'm I doing wrong here or is it something I have to do/check for in the specification of the variables so that VARselect can "work" properly on the dataset? Any suggestion or guidance would be highly appreciated, thank you!

Cholesky decomposition

            DOIL          DU        BNP        CPI       INT
DOIL 0.1602771091  0.00000000 0.00000000 0.00000000 0.0000000
DU   0.0001141673  0.27248971 0.00000000 0.00000000 0.0000000
BNP  0.2263674542 -0.35994187 1.15985788 0.00000000 0.0000000
CPI  0.1796382036 -0.03355081 0.04371295 0.29855876 0.0000000
INT  0.1645450500 -0.07566300 0.07504165 0.06567306 0.2237841

Best Answer

Determining optimal lags is a double-edged sword. I agree with the procedure mentionend in the comments in principle. The advantage is that you will save degrees of freedom.

Other suggetions: -You could try to seasonal adjust your data. This might reduce the "needed" lags.

Some generel comments on your Var: -Do you checked for cointegration? Might worth it here -your Variable order seems to be wrong. Oil prices are very volatile. Why should they react slowest?

Related Question