When working with (financial) time series data in R, one may use a Vector autoregressive model (VAR). One important issue when working with VARs is determining their lag length.

In R, the command VARselect can be used. However, this command requires one to set up a maximum lag length beforehand. I usually use either lag.max=50or lag.max=20 for daily data.

However, the results are different, the lag obtained when using 50 as the maximum lag length is often bigger than the one I get when using 20.

My main question of interest is whether two time series are cointegrated. The problem here is that when using the lag suggested (i.e. usually fewer lags) by the usual information criteria with lag.max=20, the usual test (Johansen) points to cointegration (at the 5% and sometimes even at the 1% significance level), while no cointegration is suggested when working with lag.max=50 (i.e. usually more lags). I do not know what lag length should be used to address this problem. The errors are not serially correlated, neither when using 20, nor 50 as the maximum lag length (checked that by using the Portmanteau test). Plotting the two series does not help that much either since the resulting graph looks like something in between cointegration and no cointegration.

Is there a "best practice" technique when working with daily data and cointegration testing or is 50 as lag.max just too much?


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.