VARMA-GARCH-BEKK. no convergence in Rats 9.1
Posted: Thu Sep 15, 2016 11:30 pm
Dear Tom
Previously, I used Rats 8.3 and I had a convergence but no-convergence in the Rats 9.1. Could you please explain and help to get a convergence?
In addition, in other estimations, estimates from these two versions are little bit different. Why is the case?
Previously, I used Rats 8.3 and I had a convergence but no-convergence in the Rats 9.1. Could you please explain and help to get a convergence?
In addition, in other estimations, estimates from these two versions are little bit different. Why is the case?
Code: Select all
* VARMA-MGARCH-asymmetry BEKK model.
OPEN DATA "C:\oilgas.xlsx"
CALENDAR(D) 2000:1:4
Allocate 2014:1:31
DATA(FORMAT=XLSX,ORG=COLUMNS) 2000:1:4 2014:1:31 rogindo rogmalay rogphil rogsing rogthai rogviet rogus rogasia
dec vect[series] sqrth(2)
dec vect[series] eps(2)
* VARMA (1,1)
system(model=varmah)
variables rogsing rogus
lags 1
det constant eps(1){1} eps(2){1} sqrth(1) sqrth(2)
end(system)
clear(zeros) sqrth eps
*
* Do three iterations on the VARMA part to get an initial value for the
* covariance matrix.
*
do iters=1,3
estimate(noprint,resids=resids)
set eps(1) %regstart() * = resids(1)
set eps(2) %regstart() * = resids(2)
end do iters
*
compute cv0=%sigma
*
garch(model=varmah,mv=bekk, variances=spillover, asymmetric,$
rvectors=rv,hmatrices=hh,presample=cv0,$
uadjust=%pt(eps,t,rv(t)),hadjust=%pt(sqrth,t,%sqrt(%xdiag(hh(t)))),$
pmethod=simplex,piters=20)
/*
asymmetric,
*/
set z1 = rv(t)(1)/sqrt(hh(t)(1,1))
set z2 = rv(t)(2)/sqrt(hh(t)(2,2))
set z1sq = z1**2
set z2sq = z2**2
@bdindtests z1
@bdindtests z2
dec vect[series] zu(%nvar)
do time=%regstart(),%regend()
compute %pt(zu,time,%solve(%decomp(hh(time)),rv(time)))
end do time
*Ljung-Box Q-statistics of joint standardized residuals
@mvqstat(lag=5)
# zu
*Ljung-Box Q-statistics of joint standardized residual
@mvqstat(lags=10)
# zu
*Ljung-Box Q-statistics of square of joint standardized residuals
@mvarchtest (lags=5)
#zu
*Ljung-Box Q-statistics of square of joint standardized residuals
@mvarchtest (lags=10)
#zu
@regcorrs(report,number=10) z1
@regcorrs(report,number=10) z1sq
@regcorrs(report,number=10) z2
@regcorrs(report,number=10) z2sq
/*
corr(number=6,qstats) z1sq
corr(number=6,qstats) z2sq
*/