You are obviously trying to capture a permanent "level" shift in your rice dataset, but the shift is from a high to a low state (i.e. the coefficient would need to be negative). Since the bounds on the coefficients of the external regressors (in the conditional variance equation) are preset to be positive in order to "guarantee" positivity of the variance, you need to do one of the following:
1. Reverse the order of the dummy i.e. 1:652 = 1, 652:n.row=0. 2. Set the bounds on vxreg: >setbounds(spec2)<-list(vxreg1=c(-1,1)) 3. Use the eGARCH model. All tested, all working. And DO NOT USE c(model="fGARCH", submodel="GARCH"). Use directly model="sGARCH". -Alexios On 21/03/2014 13:07, Dessy Anggraeni wrote: > Hi all, > > I use rugarch package 1.2-9 to measure rice price volatility volatility > with GARCH model including external regressor in the variance model. > This package works well, however, it seems like the result doesn't > response to change in value of external regressors. > > I test 2 external regressors: > > 1.A matrix of dummy variable containing only 0 and 1 > > 2.Cross-sectional stock level to price return data (attached) > > Here is the code that I use. Can anybody advise me what's wrong? > Thanks a lot in advance. > Best Regards, > Dessy > > > *1.**With dummy variable (0 and 1) as external regressor* > > # where the dummy variable is define as: > > mat <- matrix(, nrow = n.row, ncol = 1) > > for(i in 1:652){ > > mat[i,] <- 0 > > } > > for(i in 501:n.row){ > > mat[i,] <- 1 > > } > > spec2 <- ugarchspec( > > variance.model = > > list(model = "fGARCH", garchOrder = c(1,1), submodel = "GARCH", > external.regressors = mat, variance.targeting = FALSE), > > mean.model = > > list(armaOrder = c(12,0), external.regressors = NULL), > distribution.model = "norm") > > fit = ugarchfit(spec = spec2, data=xz) > > *2.**With crosssectional stock level estimation as external regressor* > > # matrix m is cross sectional stock level data > > m <- matrix(cross) > > spec2 <- ugarchspec( > > variance.model = > > list(model = "fGARCH", garchOrder = c(1,1), submodel = "GARCH", > external.regressors = m, variance.targeting = FALSE), > > mean.model = > > list(armaOrder = c(12,0), external.regressors = NULL), > distribution.model = "norm") > > fit = ugarchfit(spec = spec2, data=xz) > > > > > _______________________________________________ > R-SIG-Finance@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-sig-finance > -- Subscriber-posting only. If you want to post, subscribe first. > -- Also note that this is not the r-help list where general R questions > should go. > _______________________________________________ R-SIG-Finance@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-sig-finance -- Subscriber-posting only. If you want to post, subscribe first. -- Also note that this is not the r-help list where general R questions should go.