Identification Issue

Hi,

I have come across a bizarre identification issue. I’m working with quadratic adjustment costs:

DELTA_m=(phi_m/2)*(((m/m(-1))-1)^2);                                                                                 %QAC
dDELTA_m=phi_m*((m/m(-1))-1);                                                                                           %slope of the QAC

where phi_m>0 and m is a control variable. Now suppose that these QAC are meant to model deviations from the following equation:

q_dot=s*e

where s is another control variable and e is an endogenous ‘error’ term given by:

(1-DELTA_m-dDELTA_m*(m/m(-1)))*(e-1)+beta*dDELTA_m(+1)*((m(+1)/m)^2)*(e(+1)-1)=0;                                      

Now the issue is as follows. Although both s and m are well-behaved, mean-reverting endogenous variables, for some reason DELTA_m is not identified for a first order perturbation (it is for 2nd and 3rd). While dDELTA_m is always identified, ‘e’ is never identified. And when I say not identified, I mean that their value is stuck at the initial condition (i.e. the steady state) throughout the ‘irf=integer’ horizon.

Why is this happening? The error term function looks a lot like a standard Tobin’s Q. There is no collinearity, BK conditions hold and irfs of all the other variables look smooth.

Thanks

I am not sure I really understand the problem. It seems not to be about identification of parameters in estimation, which is the usual use of the term “identification” .
What you describe sounds more like a case where you have something that is 0 at first order and not 0 at higher order. An example of this would be quadratic adjustment costs. They are 0 in the budget constraint at first order, but they affect the dynamics in e.g. the investment FOC, because the derivative is not 0. Only when you go to second order is there an effect in the budget constraint.

That’s right, I may have missused the jargon, but the issue is to do with the endo_simul part of the code. It simply won’t generate any dynamics for ‘e’ and I don’t understand why. Please have a look at the .mod file attached below.

Many thanks
carry.mod (22.1 KB)

You need to check your model. If you look at the theoretical moments and policy functions, by using

stoch_simul(order=1,pruning,irf=12,irf_shocks=(u_lambda_UK),periods=10000,nograph) e;
you will see that

is simply a constant and not affected by anything in your model. You need to find out why. Either it is a model feature or a problem with the first order approximation.

Yes, that is exactly the issue I was trying to raise. Now, because you may not specialise in international macro, I don’t want to bore you with the explanations as to why I introduce these additional frictions. But from the outsiders perspective,

(1-DELTA_m-dDELTA_m*(m/m(-1)))*(e-1)+beta*dDELTA_m(+1)*((m(+1)/m)^2)*(e(+1)-1)=0;  

simply looks like the Tobin’s Q if you replace m=investment and “e-1=TQ”. The only other equation ‘e’ appears is:

And as you can see from the code, there is no collinearity, so that all equations are relevant. I don’t understand why the dynamics for ‘e’ are “not defined”?

Thank you

Please have a look at my initial comment. You always have a product of dDELTA_m*(e-1), which is a product of two objects with steady state 0. Simply do the math here. Up to first order, these terms are 0. A 1% increase of e will increase the product by dDELTA_m, but dDELTA_m=0 in steady state.