RATS 11
RATS 11

Procedures /

MCPROCESSIRF Procedure

Home Page

← Previous Next →

@MCPROCESSIRF takes a set of simulated impulse response functions (done with, for instance, @MCVARDODRAWS) and generates upper, lower and center series as they are for @MCGRAPHIRF) without doing the graphs. That way you can report the information as you wish. The input simulated responses have to be in the %%RESPONSES array as described in the comments to the procedure.

@MCPROCESSIRF( options )

Options

MODEL=model used in generating responses

NVAR=number of variables for which responses are included

 

CENTER=[MEAN]/MEDIAN/INPUT

IMPULSES=RECT[SERIES] with input "center" for IRF's

These determine what is to be used as the point estimate of the IRF. The default is CENTER=MEAN, which will be the mean across simulations. CENTER=MEDIAN requests the median. If CENTER=INPUT, you must input the desired point estimates using the IMPULSES option—typically those would be the impulse responses at the original estimates for the VAR.

 

PERCENTILES=||percentiles for lower and upper bounds|| [||.16,.84||]

STDDEV=# of standard deviations from mean for lower and upper bounds [not used]

STDDEV is used for doing error bands based upon multiples of the sample standard deviations. For instance, STDDEV=1.0 will give upper and lower bounds that are one standard deviation above and below the central response. PERCENTILES is the default.

 

WEIGHTS=series of (relative) weights on the draws (from importance sampling) [equal weights]

Note that this can dramatically slow down the calculation if you ask for percentiles and have many (5000+) draws.

 

ACCUMULATE=||list of variables (by original position) to accumulate|| [none]

If you already did accumulation when you generated the impulse responses, don't repeat it here.


 

These are the outputs. IRF is required, the other three are options. Each generates a RECT[SERIES], where x(i,j) is the series of responses of variable i to shock j.

 

IRF=RECT[SERIES] with the central measure of the impulse responses

VAR=RECT[SERIES] with the variances of the IRF's

LOWER=RECT[SERIES] with the lower bounds

UPPER=RECT[SERIES] with the upper bounds

Examples

@MCProcessIRF(MODEL=varmodel,IRF=irf,UPPER=upper,$

 LOWER=lower,PERCENTILES=||.16,.84||)

 

Again, note that you will already have had to generate the draws into the %%RESPONSES array. This generates the median responses in the RECT[SERIES] IRF, the lower bounds and upper bounds into the RECT[SERIES] LOWER and UPPER. Those are the 16% and 84%-iles of the responses. After the @MCPROCESSIRF, you would use IRF(I,J), UPPER(I,J) and LOWER(I,J) to reference the components, where the row ("I") in each is the target variable and the column ("J") is the shock.


 

For full examples (including generation of %%RESPONSES and use of the output) see

 

Bjornland Leitemo JME 2009

Ehrmann Ellison Valla EL 2003

Cushman Zha JME 1997


 


Copyright © 2025 Thomas A. Doan