lineVar {tsDyn}R Documentation

Multivariate liner models: VAR and VECM

Description

Estimate either a VAR or a VEC

Usage

lineVar(data, lag, include = c( "const", "trend","none", "both"), model=c("VAR", "VECM"), I=c("level", "diff"),beta=NULL, estim=c("2OLS", "ML"),LRinclude=c("none", "const", "trend","both"))

Arguments

data multivariate time series
lag Number of lags to include in each regime
include Type of deterministic regressors to include
model Model to estimate. Either a VAR or a VECM
I For VAR only: whether in the VAR the variables are to be taken in levels (original series) or in diference
beta for VECM only: cointegrating value. If null, will be estimated
LRinclude Possibility to include in the long-run relationship and the ECT trend, constant... Can also be a matrix with exogeneous regressors
estim Type of estimator for the VECM: '2OLS' for the two-step approach or 'ML' for Johansen MLE

Details

This function provides basic functionaities for VAR and VECM models. More comprehensive functions are in package vars. A few differences appear in the VECM estimation:

Here, only one cointegrating relationship can be estimated. Two estimators are available: the Engle-Granger two step approach (2OLS) or the Johansen (ML). For the 2OLs, deterministics regressors (or external variables if LRinclude is of class numeric) can be added for the estimation of the cointegrating value and for the ECT. This is only working when the beta value is not pre-specified.

The arg beta is the cointegrating value,Cointegrating vector will be taken as: (1, -beta).

Note that

Value

Fitted model data

Author(s)

Matthieu Stigler

See Also

TVAR and TVECM for the correspoding threshold models. linear for the univariate AR model.

Examples

data(zeroyld)
data<-zeroyld

#Fit a VAR
VAR<-lineVar(data, lag=1)
VAR
summary(VAR)

#compare results with package vars:
if(require(vars)) {
        a<-VAR(data, p=1)
        vaco1<-coef(a)$short.run[c(3,1,2),1]
        vaco2<-coef(a)$long.run[c(3,1,2),1]
        round(coef(VAR),8)==round(rbind(vaco1, vaco2),8)
}

###VECM
VECM.EG<-lineVar(data, lag=2, model="VECM")
VECM.EG
summary(VECM.EG)

VECM.ML<-lineVar(data, lag=2, model="VECM", estim="ML")
VECM.ML
summary(VECM.ML)

###Check Johansen MLE
myVECM<-lineVar(data, lag=1, include="const", model="VECM", estim="ML")
summary(myVECM, digits=7) 
#comparing with vars package
if(require(vars)){
        a<-ca.jo(data, spec="trans")
        summary(a)
        #same answer also!
}

##export to Latex
toLatex(VECM.EG)
toLatex(summary(VECM.EG))
options("show.signif.stars"=FALSE)
toLatex(summary(VECM.EG), parenthese="Pvalue")
options("show.signif.stars"=TRUE)


[Package tsDyn version 0.7-1 Index]