[R-SIG-Finance] DCC model simulation

Sultan Islam @ult@ni@l@m12 @ending from gm@il@com
Tue May 22 12:41:23 CEST 2018


Hi,
I have used R rmgarch package to implement EGARCH ADCC model from which I
can extract conditional covariance matrix. Now I would like to introduce
positive and/or negative shocks to see the asymmetric response of
covariance. I have come to know that impulse response function (IRF) or
volatility IRF is not compatible for any asymmetric models, therefore, the
only way to introduce shocks into the ADCC model can be through simulation
given the parameters.

For the purpose of introducing shocks and simulating the model, I intend to
use dccsim function for simulating the model given the shocks in preZ
(standardized residuals specified by the user) argument. I am not sure
whether this dccsim function actually does what I intend to do. Therefore,
I would like to have your helpful suggestion regarding the use of dccsim
function in this purpose.

The simulation code what I describe above is as follows:

# first specify univariate egarch model

uspec<-ugarchspec(variance.model=list(model="eGARCH",garchOrder=c(1,1)),
distribution.model="norm",mean.model=list(armaOrder=c(0,0),include.mean=F))

model=multispec(replicate(2,uspec)) # replicate for two series

  # specify ADCC model

  mvspec=dccspec(model,dccOrder = c(1,1),model = "aDCC",distribution =
"mvnorm")

  # cluster

  cl= makePSOCKcluster(2)

  multf = multifit(model, Data, cluster = cl)

  fitADCC=dccfit(mvspec,data = Data, fit = multf, cluster = cl)

  ADCC<-print(fitADCC)

  stopCluster(cl) # stop cluster

  # store covariance matrix

  COV<-matrix(rcov(fitADCC)[1,2,]) # COV contains 2345 obs

# simulate the model

# given positive shocks in preZ

sim<-dccsim(ADCC, n.sim =2345,n.start =100 , m.sim = 1, startMethod =
"unconditional",preZ = 0.7131)

# extract covariance

  sim_cov<-as.matrix(rcov(sim)[1,2,])

# # to specify negative shocks I put a minus sign before 0.7131 in preZ

sim1<-dccsim(ADCC, n.sim =2345,n.start =100 , m.sim = 1, startMethod =
"unconditional",preZ = - 0.7131)

# extract covariance

  sim1_cov<-as.matrix(rcov(sim)[1,2,])


Please feel free to reply that this approach is correct to proceed. Thanks.
Best regards,
sultan

	[[alternative HTML version deleted]]



More information about the R-SIG-Finance mailing list