Skip to content

Auxiliary variables, orig_index and first difference of an exogenous variable

With the attached mod file containing a model with two equations and two endogenous variables, the preprocessor creates five auxiliary variables:

>> for i=1:length(M_.aux_vars), M_.aux_vars(i), end

ans = 

  struct with fields:

       endo_index: 3
             type: 8
        orig_expr: 'diff(log(p51htva_s14b_2))'
       orig_index: []
    orig_lead_lag: []


ans = 

  struct with fields:

       endo_index: 4
             type: 8
        orig_expr: 'diff(log(b1_sm_2))'
       orig_index: []
    orig_lead_lag: []


ans = 

  struct with fields:

       endo_index: 5
             type: 8
        orig_expr: 'diff(trendpre2008q3)'
       orig_index: 8
    orig_lead_lag: 0


ans = 

  struct with fields:

       endo_index: 6
             type: 3
        orig_expr: 'b1_sm_2'
       orig_index: 1
    orig_lead_lag: 0


ans = 

  struct with fields:

       endo_index: 7
             type: 3
        orig_expr: 'trendpre2008q3'
       orig_index: 8
    orig_lead_lag: 0
  • The orig_index field is not defined for all auxiliary variables (see diff(log(p51htva_s14b_2)) and diff(log(b1_sm_2))). Is this expected?
  • The third auxiliary variable is for the first difference of an exogenous variable. Shouldn't we have a specifi value of type in this case (we use the same value as for first difference of an endogenous variable).
  • For the third auxiliary variable, the value orig_index (8) points to an exogenous variable (not an endogenous variable, since M_.endo_nbr is equal to 7).