Shocks


shock <v1 [component_list]> = file <file_name> ;

shock <v1 [component_list]> = uniform <value> ;

shock <v1 [component_list]> = <list_of_values> ;

shock <v1 [component_list]> = select from file <file_name> ;

shock <v1 [component_list]> = select from <list_of_values> ;

statements to shock variable with none exogenous are ok = yes|NO ;

ashock … ; ! Additional shock statement, on TOP of other shocks

tshock … ; ! Additional shock statement, OVERWRITES shock statement

Examples:

shock v1 2 4 = select from 0.1 0.2 0.4 -0.1 ;

shock v1 = file v1.shk ;

shock v1 = file v1.har header H003 ;

shock v1 = uniform 0.3 ;

shock v1 2 4 6 = 0.2 0.4 -0.1 ;

shock p_XF(labor,SECT) = 0.2 0.4 ;

shock v1(IND) = select from file v1.shk ;

ashock xtax = uniform 10 ;

Notes:

Components must be specified in increasing order, as in

shock v1 3 4 8 10 = 1.1 4.4 3.3 2.4 ;

Repeated values may be used, as in:

shock v1 3 4 8 10 12-16 = 3*1.345 4.4 5*-2.1 ;

To shock some components of a multi-dimensional variable, note that the first index varies fastest. For example, for a 3x5 variable V, to shock V(2,1), V(3,1) and V(2,2):

shock v 2 3 5 = 4.5 2.0 1.0 ;

New for GEMPACK 10.002 (April 2010)

CMF files may contain shock statements such as:

Shock v1 = coefficient COEF1 ;

Shock v1(COM2) = select from coefficient COEF1 ;

Shock v1(COM2) = select from coefficient COEF2(COM, i3) ;

Shock v1(COM2) = coefficient COEF2(COM2) ;

Shock v2 = coefficient COEF2(c2, IND) ;

where shock values are drawn from the initial values of a coefficient (above, COEF1 or COEF2), that appears in your model TAB file. So your main TAB file can contain code to compute shocks, often eliminating the need for a separate shock-calculator program.

To learn more about this type of shock statement, use your browser to search for "shock-from-coefficient" in the main GEMPACK manual gpmanual.htm.

New for GEMPACK 9.0

Especially for use in dynamic models where shock matrices might hold shocks for all years.

shock <variable> = file <shock-filename> header <header-name>

slice <element-name> ;

shock <variable> <components> = select from file <shock-filename>

header <header-name> slice <element-name> ;

Example

shock p_XINTFAC("capital",IND) = select from file SHOCK.HAR header "XINT" slice "Y2005" ;

If the slice part of the statement was omitted, the Header XINT should contain an array of size FAC*IND. When using the slice of Header XINT, the array can be of dimension FAC*IND*YEAR where YEAR is a set containing the element Y2005. The new statement above then uses the slice FAC*IND*Y2005 of the Header array XINT instead of the whole array.

We call the element after the slice part of the statement the slice element. [For example, the slice element is Y2005 in the last example above.]

Rules for Slice Shock Statements

In the Header, there are the same sets as usual but there is one extra dimension (the slice dimension).

The slice dimension can occur anywhere.

Eg FAC*IND*YEAR or FAC*YEAR*IND or YEAR*FAC*IND

The Header must be of type RE (that is, it must contain real data with set and element labelling information). Each set at the header must have known elements and the slice element must be an element of the slice dimension.

The slice element (the one after the word slice) must be an element of exactly one of the sets.

New for GEMPACK 9.0

When variable is power of tax, and you know levels value:

shock <v1 [component_list]> = rate% <value> ;

This means to change the ad valorem rate by <value> percent. Note that <value> is not a change in the ad valorem rate, but a percentage change.

New for GEMPACK 10.0

For use in RunDynam, RunMoansh, etc, extensions to tshock and ashock keywords:

AChange AA 4 = 4;

APercent_Change AA 5 = 5;

TFinal_Level AA 6 = 6; ! levels variables only

TPercent_Change AA 7 = 7;

TChange AA 8 = 8;

See also Lists of variables

Back to CMF contents



URL of this topic: www.copsmodels.com/webhelp/tabmate/hc_shocks.htm

Link to full GEMPACK Manual

Link to GEMPACK homepage