wild.boot: Wild bootstrap for IRFs of identified SVARs

View source: R/bootstrap_wild.R

wild.bootR Documentation

Wild bootstrap for IRFs of identified SVARs

Description

Calculating confidence bands for impulse response functions via wild bootstrap techniques (Goncalves and Kilian, 2004).

Usage

wild.boot(
  x,
  design = "fixed",
  distr = "rademacher",
  n.ahead = 20,
  nboot = 500,
  nc = 1,
  dd = NULL,
  signrest = NULL,
  signcheck = TRUE,
  itermax = 300,
  steptol = 200,
  iter2 = 50,
  rademacher = "deprecated"
)

Arguments

x

SVAR object of class "svars"

design

character. If design="fixed", a fixed design bootstrap is performed. If design="recursive", a recursive design bootstrap is performed.

distr

character. If distr="rademacher", the Rademacher distribution is used to generate the bootstrap samples. If distr="mammen", the Mammen distribution is used. If distr = "gaussian", the gaussian distribution is used.

n.ahead

Integer specifying the steps

nboot

Integer. Number of bootstrap iterations

nc

Integer. Number of processor cores

dd

Object of class 'indepTestDist'. A simulated independent sample of the same size as the data. roxIf not supplied, it will be calculated by the function

signrest

A list with vectors containing 1 and -1, e.g. c(1,-1,1), indicating a sign pattern of specific shocks to be tested with the help of the bootstrap samples.

signcheck

Boolean. Whether the sign pattern should be checked for each bootstrap iteration. Note that this procedure is computationally extremely demanding for high dimensional VARs, since the number of possible permutations of B is K!, where K is the number of variables in the VAR.

itermax

Integer. Maximum number of iterations for DEoptim

steptol

Integer. Tolerance for steps without improvement for DEoptim

iter2

Integer. Number of iterations for the second optimization

rademacher

deprecated, use "design" instead.

Value

A list of class "sboot" with elements

true

Point estimate of impulse response functions

bootstrap

List of length "nboot" holding bootstrap impulse response functions

SE

Bootstrapped standard errors of estimated covariance decomposition (only if "x" has method "Cramer von-Mises", or "Distance covariances")

nboot

Number of bootstrap iterations

distr

Character, whether the Gaussian, Rademacher or Mammen distribution is used in the bootstrap

design

character. Whether a fixed design or recursive design bootstrap is performed

point_estimate

Point estimate of covariance decomposition

boot_mean

Mean of bootstrapped covariance decompositions

signrest

Evaluated sign pattern

sign_complete

Frequency of appearance of the complete sign pattern in all bootstrapped covariance decompositions

sign_part

Frequency of bootstrapped covariance decompositions which conform the complete predetermined sign pattern. If signrest=NULL, the frequency of bootstrapped covariance decompositions that hold the same sign pattern as the point estimate is provided.

sign_part

Frequency of single shocks in all bootstrapped covariance decompositions which accord to a specific predetermined sign pattern

cov_bs

Covariance matrix of bootstrapped parameter in impact relations matrix

method

Used bootstrap method

VAR

Estimated input VAR object

References

Goncalves, S., Kilian, L., 2004. Bootstrapping autoregressions with conditional heteroskedasticity of unknown form. Journal of Econometrics 123, 89-120.
Herwartz, H., 2017. Hodges Lehmann detection of structural shocks - An analysis of macroeconomic dynamics in the Euro Area, Oxford Bulletin of Economics and Statistics

See Also

id.cvm, id.dc, id.garch, id.ngml, id.cv or id.st

Examples


# data contains quarterly observations from 1965Q1 to 2008Q3
# x = output gap
# pi = inflation
# i = interest rates
set.seed(23211)
v1 <- vars::VAR(USA, lag.max = 10, ic = "AIC" )
x1 <- id.dc(v1)
summary(x1)

# impulse response analysis with confidence bands
# Checking how often theory based impact relations appear
signrest <- list(demand = c(1,1,1), supply = c(-1,1,1), money = c(-1,-1,1))
bb <- wild.boot(x1, nboot = 500, n.ahead = 30, nc = 1, signrest = signrest)
summary(bb)

# Plotting IRFs with confidance bands
plot(bb, lowerq = 0.16, upperq = 0.84)

# With different confidence levels
plot(bb, lowerq = c(0.05, 0.1, 0.16), upperq = c(0.95, 0.9, 0.84))

# Halls percentile
plot(bb, lowerq = 0.16, upperq = 0.84, percentile = 'hall')

# Bonferroni bands
plot(bb, lowerq = 0.16, upperq = 0.84, percentile = 'bonferroni')




alexanderlange53/svars documentation built on Jan. 31, 2023, 7:50 a.m.