How to manually conduct a historical decomposition of shocks on a vars object

Hi, I'm hoping to get some help on how to manually tweak up some source code to apply to an SVAR Model using the vars dataset. Here is a snippet of the dataset I'm using

data <- structure(c(1.54054238132604, 5.22775636647117, 1.75154671443607, 
-4.00396437623925, -4.99849595390862, -3.58991362838901, -2.08646214793927, 
4.38408682550573, -1.32609419137286, -10.0477865139619, -10.5789067079456, 
3.53586648125426, 3.80285045230506, 4.54214390385599, 5.25998848716807, 
4.53265591355598, 4.18968593558051, 3.53167443997122, 2.68286514861102, 
2.28625948262682, 1.9539414753903, 2.30401026783675), .Dim = c(11L, 
2L), .Dimnames = list(NULL, c("GDP", "CPI")), index = structure(c(1514764800, 
1522540800, 1530403200, 1538352000, 1546300800, 1554076800, 1561939200, 
1569888000, 1577836800, 1585699200, 1593561600), tzone = "UTC", tclass = "Date"), class = c("xts", 
"zoo"))

and the code for the model

library(vars)

var.model <- vars::VAR(data, p=1, type = 'cons')
svar.model <- vars::BQ(var.model)

I'm now looking to do a historical decomposition of the cumulative effects from shocks on each variable in my model. I've found a solution on stackoverflow (see here) which can be run on a varest object, however it gives the following error when run on an svarest object

historical_decomposition <- VARhd(Estimation=svar.model)

Error in (lags + 1):nrow(DATA) : argument of length 0

Any ideas on how to solve this issue? TIA

The VARhd() functions expect a class varest and not svarest which is the class of star.model.

Hi @Lesaffrea , the varest and svarest classes are from the same package. So I'm wondering if there might be a way to tweak this code to work on a svarest object?

This topic was automatically closed 21 days after the last reply. New replies are no longer allowed.

If you have a query related to it or one of the replies, start a new topic and refer back with a link.