I am a beginner user of the winRATS and have some problems when I try to implement the VAR-multivariate GARCH where I have 2 asset return variables. I chose the constant correlation model for the multivariate GARCH and below is my code.
Code: Select all
OPEN DATA C:\FOLDER\FTSESP500.XLS
CALENDAR(M) 1984:4
ALLOCATE 2011:7
DATA(FORMAT=XLS,ORG=COLUMNS) 1984:4 2011:7 FTSE SP500
COM GSTART=1984:9, GEND=2011:7
*
* Set continuously compounded returns
SET Y1 = 100*LOG(SP500/SP500{1})
SET Y2 = 100*LOG(FTSE/FTSE{1})
*
* Parameters for the regression function
NONLIN B11 B12 B13 B21 B22 B23
FRML RESID1 = (Y1-B11-B12*Y1{1}-B13*Y2{1})
FRML RESID2 = (Y2-B21-B22*Y1{1}-B23*Y2{1})
*
* DO INITIAL REGRESSION. COPY INITIAL VALUES FOR REGRESSION PARAMETERS
LINREG Y1 / R1
# CONSTANT Y1{1} Y2{1}
COM B11 = %BETA(1), B12 = %BETA(2), B13 = %BETA(3)
LINREG Y2 / R2
# CONSTANT Y1{1} Y2{1}
COM B21 = %BETA(1), B22 = %BETA(2), B23 = %BETA(3)
*
*GET THE COVARIANCE MATRIX OF THE RESIDUALS.
VCV(MATRIX=RR,NOPRINT)
# R1 R2
*
* U1 AND U2 ARE THE RESIDUAL SERIES
* H11, H12, AND H22 ARE THE VARIANCES AND COVARIANCE
DECLARE SERIES U1 U2
DECLARE SERIES H11 H12 H22
*
*INITIALIZE RESIDUALS
SET U1 = R1
SET U2 = R2
*
* SEED THE COVARIANCE MATRIX WITH VALUES FROM IT
SET H11 = RR(1,1)
SET H22 = RR(2,2)
SET H12 = RR(1,2)
*
*STANDARD LOG LIKELIHOOD FORMULA
DECLARE SYMMETRIC H
DECLARE VECTOR U
DECLARE FRML H11F H22F H12F LOGL
*
FRML LOGL = $
H11(T)= H11F(T) , H22(T)=H22F(T) ,H12(T)=H12F(T) , $
U1(T) = RESID1(T) , U2(T) = RESID2(T),$
H = ||H11(T)|H12(T),H22(T)|| , U = ||U1(T),U2(T)||, $
%LOGDENSITY(H,U)
*
NLPAR(SUBITS=50)
*
* CONSTANT CORRELATION MODEL
NONLIN(ADD) VC11 VC12 VC22 VB11 VB22 VA11 VA22
FRML H11F = VC11 + VA11 * H11{1} + VB11 * U1{1}**2
FRML H22F = VC22 + VA22 * H22{1} + VB22 * U2{1}**2
FRML H12F = VC12*SQRT(H11(T)*H22(T))
COMPUTE VC11 = RR(1,1) , VC22 = RR(2,2) , VC12 = RR(1,2)/SQRT(VC11*VC22)
COMPUTE VB11 = VB22 = VA11 = VA22 = 0.05
MAXIMIZE(METHOD=BFGS,PMETHOD=SIMPLEX,PITERS=5,ROBUST,RECURSIVE,ITERS=100)
LOGL GSTART GEND
*
* RESIDUAL DIAGNOSTICS
SET U11 = U1(T)/SQRT(H11(T))
SET UU1 = (U1(T)*U1(T))/H11(T)
STATISTICS U11
STATISTICS UU1
CORR(NUMBER=10,QSTATS) U11 6 GEND
CORR(NUMBER=10,QSTATS) UU1 6 GEND
SET U22 = U2(T)/SQRT(H22(T))
SET UU2 = (U2(T)*U2(T))/H22(T)
STATISTICS U22
STATISTICS UU2
CORR(NUMBER=10,QSTATS) U22 6 GEND
CORR(NUMBER=10,QSTATS) UU2 6 GEND
*
SPGRAPH(VFIELDS=3,HFIELDS=1,HEADER="CONSTANT CORRELATION MODEL")
GRAPH(HEADER="CONDITIONAL VARIANCE", SUBHEADER="SP500") 1
# H11 GSTART GEND
GRAPH(HEADER="CONDITIONAL VARIANCE", SUBHEADER="FTSE") 1
# H22 GSTART GEND
GRAPH(HEADER="CONDITIONAL COVARIANCE",SUBHEADER="SP500 & FTSE") 1
# H12 GSTART GEND
SPGRAPH(DONE)
*But what I want to do but cannot is that I want to get values for each of H11, H12 and H12 at each time period. In other words, I want to get the conditional variance covariance matrix for each time period from this VAR-constant correlation multivariate GARCH model.
Could any one help me with this? I will really appreciate your response in advance.
Have a great day.
Cheers.