bayesDccGarch: Bayesian Estimation of the DCC-GARCH(1,1) Model.

Description Usage Arguments Details Value Author(s) References See Also Examples

View source: R/mainFunctions.R

Description

Performs a Markov Chain for all parameters of the DCC-GARCH(1,1) Model.

Usage

1
2
3
4
5
6
7
8
9
bayesDccGarch(mY, nSim = 10000, tail_ini = 8, omega_ini = rep(0.03, ncol(mY)), 
	alpha_ini = rep(0.04, ncol(mY)), beta_ini = rep(0.8, ncol(mY)), 
	a_ini = 0.04, b_ini = 0.8, gamma_ini = rep(1, ncol(mY)), 
	errorDist = 2, control = list())
	
increaseSim(x, nSim=10000)

## S3 method for class 'bayesDccGarch'
window(x, start = NULL, end = NULL, thin = NULL, ...)

Arguments

mY

a matrix of the data (n \times k).

nSim

length of Markov chain. Default: 10000.

tail_ini

initial value of ν parameter if errorDist = 2 or initial value of δ parameter if errorDist = 3. If errorDist = 1 this arguments is not used.

omega_ini

a numeric vector (k \times 1) with the initial values of ω_i parameters. Default: rep(0.03, ncol(mY)).

alpha_ini

a numeric vector (k \times 1) with the initial values of α_i parameters. Default: rep(0.03, ncol(mY)).

beta_ini

a numeric vector (k \times 1) with the initial values of β_i parameters. Default: rep(0.8, ncol(mY)).

a_ini

a numeric value of the initial values of a parameter. Default: 0.03.

b_ini

a numeric value of the initial values of b parameter. Default: 0.8.

gamma_ini

a numeric vector (k \times 1) with the initial values of γ_i parameters. Default: rep(1.0, ncol(mY)).

errorDist

a probability distribution for errors. Use errorDist=1 for SSNorm, errorDist=2 for SST or errorDist=3 for SSGED. Default: 2.

control

list of control arguments (See *Details*).

x

an object of bayesDccGarch class.

start

the first iteration of interest from Markov chain.

end

the last iteration of interest from Markov chain.

thin

the required interval between successive samples.

...

additional arguments for S3 generic window function

Details

The bayesDccGarch() function performs a Markov Chain for all parameters of the model DCC-GARCH(1,1) (or GARCH(1,1) in the univariate case). There are three options of probability distributions for the error component. These are the standardized skew versions of normal, t-student and ged distributions. See Fioruci et al (2014a) and Fioruci et al (2014b) for any detail. The control argument can be used for define the prior hyper-parameters and the simulation algorithm parameters. It is a list that can supply any of the following components:

$mu_tail

the value of hyper-parameter μ_ν if errorDist=2 or the hyper-parameter μ_δ if errorDist=3. Default: 8

$mu_gamma

a vector with the hyper-parameters μ_{γ_i}. Default: rep(0,ncol(mY)

$mu_omega

a vector with the hyper-parameters μ_{ω_i}. Default: rep(0,ncol(mY)

$mu_alpha

a vector with the hyper-parameters μ_{α_i}. Default: rep(0,ncol(mY)

$mu_beta

a vector with the hyper-parameters μ_{β_i}. Default: rep(0,ncol(mY)

$mu_a

the value of the hyper-parameter μ_a. Default: 0

$mu_b

the value of the hyper-parameter μ_b. Default: 0

$sigma_tail

the value of hyper-parameter σ_ν if errorDist=2 or the hyper-parameter σ_δ if errorDist=3. Default: 10

$sigma_gamma

a vector with the hyper-parameters σ_{γ_i}. Default: rep(1.25,ncol(mY)

$sigma_omega

a vector with the hyper-parameters σ_{ω_i}. Default: rep(10,ncol(mY)

$sigma_alpha

a vector with the hyper-parameters σ_{α_i}. Default: rep(10,ncol(mY)

$sigma_beta

a vector with the hyper-parameters σ_{β_i}. Default: rep(10,ncol(mY)

$sigma_a

the value of the hyper-parameter σ_a. Default: 10

$sigma_b

the value of the hyper-parameter σ_b. Default: 10

$simAlg

the random walk Metropolis-Hasting algorithm update. Use 1 for update all parameters as one block, use 2 for update one parameter for each time and use 3 for an automatic choice.

$nPilotSim

number of simulation for pilot sample if control$simAlg=3. Default:1000

$cholCov

the cholesky decomposition matrix of the covariance matrix for simulation by one-block Metropolis-Hasting. It must to be passed if control$simAlg=1.

$sdSim

a vector with the standard deviations for simulation by one-dimensional Metropolis-Hasting. It must to be passed if control$simAlg=2.

$print

a logical variable for if the function should report the number of interactions in each 100 interactions or not. Default: TRUE

The function increaseSim() can be used to increase the length of Markov chain simulation.

The function window() can be used to filter the Markov chain simulation. In this case, all statistics are recomputed.

Value

An object of bayesDccGarch class, which contains a list with elements:

$control

a list with the used control argument.

$MC

a element of mcmc class with the Markov Chain simulation of all parameters. (R package coda)

$H

a matrix with the Bayesian estimates of volatilities and co-volatilities.

$R

a matrix with the estimates of the dynamic coditional correlation.

$H_n1

Bayesian prediction of volatilities and co-volatilities for y_n+1.

$R_n1

Bayesian prediction of coditional correlation for y_n+1.

$IC

the Bayesian estimate of Akaike Information Criterion, Bayesian Information Criterion and Deviance Information Criterion.

$elapsedTime

an object of class proc_time which is a numeric vector of length 5, containing the user, system, and total elapsed times of the process.

Author(s)

Jose Augusto Fiorucci, Ricardo Sandes Ehlers and Francisco Louzada

References

Fioruci, J.A., Ehlers, R.S., Andrade Filho, M.G. Bayesian multivariate GARCH models with dynamic correlations and asymmetric error distributions, Journal of Applied Statistics, 41(2), 320–331, 2014a. <doi:10.1080/02664763.2013.839635>

Fioruci, J.A., Ehlers, R.S., Louzada, F. BayesDccGarch - An Implementation of Multivariate GARCH DCC Models, ArXiv e-prints, 2014b. https://ui.adsabs.harvard.edu/abs/2014arXiv1412.2967F/abstract.

See Also

bayesDccGarch-package, logLikDccGarch, plot, plotVol

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
 


data(DaxCacNik) 

### DCC-GARCH(1,1) ###
out1 = bayesDccGarch(DaxCacNik)
out2 = increaseSim(out1, 30000)   # more 30000 simulations
out3 = window(out2, start=5000, thin = 10) #remove first 5000 and take at intervals of 10
summary(out3)

# Plotting volatilities
plot(out3)

# Plotting Markov Chain
plot(out3$MC)

### univariate GARCH(1,1) ###
Dax = DaxCacNik[,1]
out = bayesDccGarch(Dax)
summary(out)
plot(out) 

bayesDccGarch documentation built on April 7, 2021, 5:07 p.m.