{smcl} {* *! version 16.0 18march2021}{...} {p2colset 1 16 18 2}{...} {p2col:{bf:[VAR-NR] shock_create()} {hline 2}}Initialize object storing sign restrictions on impulse responses to structural shocks {p_end} {p2colreset}{...} {marker syntax}{...} {title:Syntax} {p 8 12 2} {it:transmorphic scalar} {cmd:shock_create(}{it:struct var_struct scalar VAR}{cmd:)} {marker description}{...} {title:Description} {p 4 4 2} {cmd:shock_create(}{it:VAR}{cmd:)} outputs an associative array containing an array to be populated with the names of the structural shocks using {help shock_name:shock_name()} and a matrix to be populated with information on the sign restrictions on the impulse responses to the shocks using {help shock_set:shock_set()}. When initialized, all shocks are left unrestricted, which means {help shock_set:shock_set()} does not need to be run for any shocks the user does not wish to restrict. The output of this function, once populated, is the {it:S} object fed into {help sign_restrict:sign_restrict()}. {marker remarks}{...} {title:Remarks} {pstd} {cmd:shock_create()} can be called in Stata using function {bf:{help var_nr_shock_create:var_nr_shock_create}}. {p 4 4 2} For an overview of functions in the toolbox, see {bf:[VAR-NR] var_nr Toolbox {hline 2} {help var_nr_stata_functions:Stata functions} and {help var_nr_mata_functions:Mata functions}}. {marker source}{...} {title:Sources} {p 4 4 2} Code for this function is adapted from Ambrogio Cesa-Bianchi's VAR Toolbox. Code follows Kilian and Lutkepohl's notation in {it:Structural Vector Autoregressive Analysis} (2016). {p_end}