Regular imprecision or error in code?

I have a non-linear model with analytical steady states. I manually calculated the output in my model in the first period after the shock in two different ways that should be equivalent. Nonetheless I receive two slightly different results. How is that possible?

The function is a neoclassical production function:


The shock, eA2, is a shock to labor productivity.



I really appreciate the help.

Kindest regards,

If this period’s capital stock can be determined this period, it could also move. Without the mod-file it is hard to say…

Also, you need to take the appropriate approximation to the model. Did you have Dynare linearize the model or solve it up to k-order? Your calculation in your post uses the fully non-linear model, which is not what was used to compute an impulse response from Dynare.

Dear bkjecn,

Many thanks for the quick response. The code is for a 2-country 2 sector model and is a bit long, that is why I didn’t include it. But it is attached to this meesage.

The capital stock was dated back one period. The approximation I took was:

stoch_simul(periods=2000, irf=40, order=1, nograph);

All I want is to get the correct level of output as a percentage of the steady state output in the 1st period after the shock. What would be the quickest way to do it in the non-linear model?

Is (Y_ss+Y_eA2(1,1))/Y_ss the correct percentage deviation?

Kind regards,
twocountry3.mod (9.86 KB)

Capital is carried in from the last period, so the differences you are seeing are from the linearization of the model (order = 1 in stoch_simul). You will not get an exact solution to the non-linear model because of the approximation when solving for equilibrium. The output from Dynare is correct for the linearized model.

For a percentage deviation, I think you just want x / x_ss. The model gets written in terms of deviations from steady state, so if you take the deviation and divide by the steady state value, you should have percentages.