| girf | R Documentation | 
Computes the generalised impulse response coefficients of an object of class "bgvar" for
'n.ahead' steps.
girf(
  object,
  impulse,
  response,
  n.ahead = 5,
  shock = "sd",
  ci = 0.95,
  cumulative = FALSE,
  mc.cores = NULL
)
| object | an object of class  | 
| impulse | a character vector of the impulse country and variable, respectively. | 
| response | a character vector of the response country and variable, respectively.y. | 
| n.ahead | number of steps ahead. | 
| shock | size of the shock. Either  | 
| ci | a numeric between 0 and 1 specifying the probability mass covered by the credible intervals. Defaults to 0.95. | 
| cumulative | logical specifying whether a cumulative IRF should be calculated. | 
| mc.cores | the number of cores to use, i.e. at most how many child processes will be run simultaneously. The option is initialized from environment variable MC_CORES if set. Must be at least one, and parallelization requires at least two cores. | 
A time-series object of class "bgvarirf".
Lütkepohl, H. (2007). New introduction to multiple time series analyis (2nd ed.). Berlin: Springer.
Pesaran, H. H., & Shin, Y. (1998). Generalized impulse response analysis in linear multivariate models. Economics Letters, 58, 17-29.
# Load data
data("gvar2019")
# Create regions
temp <- create_regions(country_data = gvar2019$country_data,
             weight_data = gvar2019$weight_data,
             region_weights = gvar2019$region_weights,
             regions = list(EA =  c("AT", "BE", "DE", "ES", "FI", "FR", "IT", "NL")),
             period = 3)
country_data <- temp$country_data
weight_data <- temp$weight_data
global_data = gvar2019$global_data
# Difference series to make them stationary
country_data <- diff_variables(country_data, variables = c("y", "Dp", "r"), multi = 100)
global_data <- diff_variables(global_data, multi = 100)
# Create time varying weights
weight_data <- create_weights(weight_data, period = 3, country_data = country_data)
# Generate specifications
model_specs <- create_specifications(
                 country_data = country_data,
                 global_data = global_data,
                 countries = c("US", "JP", "CA", "NO", "GB", "EA"), 
                 domestic = list(variables = c("y", "Dp", "r"), lags = 1),
                 foreign = list(variables = c("y", "Dp", "r"), lags = 1),
                 global = list(variables = c("poil"), lags = 1),
                 deterministic = list(const = TRUE, trend = FALSE, seasonal = FALSE),
                 iterations = 10,
                 burnin = 10)
# Note that the number of iterations and burnin draws should be much higher!
                                     
# Overwrite country-specific specifications
model_specs[["US"]][["domestic"]][["variables"]] <- c("y", "Dp", "r")
model_specs[["US"]][["foreign"]][["variables"]] <- c("y", "Dp")
# Create estimation objects
country_models <- create_models(country_data = country_data,
                                weight_data = weight_data,
                                global_data = global_data,
                                model_specs = model_specs)
# Add priors
models_with_priors <- add_priors(country_models,
                                 coef = list(v_i = 1 / 9, v_i_det = 1 / 10),
                                 sigma = list(df = 3, scale = .0001))
# Obtain posterior draws
object <- draw_posterior(models_with_priors)
# Solve GVAR
gvar <- combine_submodels(object)
# Obtain GIRF
gvar_girf <- girf(gvar, impulse = c("EA", "r"), response = c("EA", "y"), n.ahead = 20)
# Plot GIRF
plot(gvar_girf)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.