Learn R Programming

tsDyn (version 0.7-60)

lineVar: Multivariate linear models: VAR and VECM

Description

Estimate either a VAR or a VEC

Usage

lineVar(data, lag,r=1, 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
r
Number of cointegrating relationships
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

Value

  • Fitted model data

code

ML

Details

This function provides basic functionalities for VAR and VECM models. More comprehensive functions are in package vars. A few differences appear in the VECM estimation:
  • Engle-Granger estimator
{The Engle-Granger estimator is available} Presentation{Results are printed in a different ways, using a matrix form} lateX export{The matrix of coefficients can be exported to latex, with or without standard-values and significance stars}

See Also

VECM which is just a wrapper for lineVar(...,model="VECM")

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

Examples

Run this code
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)

Run the code above in your browser using DataLab