#EE435 Wasin Siwasarit  2/2019
#Step1: You need to set your current directory
setwd("/Users/wasin_siwasarit/Desktop/Solution_EE435")
require(urca)
da=read.table("m-bnd.txt",header=T)
head(da)
Aaa=da$Aaa
Baa=da$Baa
pacf(Aaa)
pacf(diff(Aaa))
pacf(diff(Baa))
t1=ur.df(Aaa,type="drift",lags=2)
summary(t1)
t2=ur.df(Baa,type="drift",lags=2)
summary(t2)
m1=lm(Baa~Aaa)
m1
xt=m1$residuals
t3=ur.df(xt,type="none",lags=9)
summary(t3)

######################
# Johansen-Procedure #
######################

#help(ca.jo)
zt = cbind(Aaa,Baa)

coint=ca.jo(zt,ecdet="const",type="trace",K=11,spec="transitory")
summary(coint)
coint1=ca.jo(zt,ecdet="const",type="eigen",K=11,spec="transitory")
summary(coint1)
#### Estimation of ECM model
require(MTS)
#help(ECMvar1)
wt=zt[,1]-0.8918*zt[,2]
ts.plot(wt)
n1=ECMvar1(zt,3,wt,include.const=T)
n1=ECMvar1(zt,3,wt)
n1a=refECMvar1(n1,thres=1)
MTSdiag(n1a)
