Gap-Trend model

Hello Dynare folks,

I am estimating and Gap-Trend model where unit root exist in some equations as in the definition of the quarterly (Q on Q) inflation, DL_P = 4(P-P(-1)) where P is the log of CPI.

Given the model is linear, I tried to solve for Steady state values as advised in previous posts and use -steady_state_model- however although DL_P (annualized quarterly inflation) steady state is known in the SS (which is the inflation target) , then how to get/obtain price level of steady state where, again, DL_P = 4(P-P(-1)) . In steady state P=P(-1) so how it is possible to get the steady value of unit root variable P=log(CPI) ?

Thx a lot

The steady state of a unit root variable is not uniquely defined. Typically, in estimation you can simply put any value for that variable, it should not matter with the diffuse_filter.

Thank you for the reply.I have mis-interpret the problem. I should have said that I am after simulating the model and get the IRFs :slight_smile:. Namely, should I impose any arbitrary value for P in DL_P = 4(P-P(-1)) given P is a unit root process and if DL_P is constant (inflation target value) then P becomes unit root with drift ?

Yes, for simulations you can impose any value you like. If you want to have a drift, you need a linear model and use the nocheck option of steady. See

Thank you alot. May I ask something trivial ?

In the example you provided in the second link:

mmu= mmu(-1) + bbeta(-1) + e_lev/1000 ;

Bbeta(-1) goes to bbeta_const= 0.0075, then mmu shouldnt be regarded as unit root with a drift ?

I am a bit confused since as I know that when a drift exists then there is not solution at all. In this case (as in the equation above where mmu is a unit root with drift) then imposing arbitrary numbers still work ?

That is the point of the nocheck option. You override trying to compute the steady state because it does not exist. But in a linear model, the steady state values will not matter for the slope of the policy function, so it’s fine.

Thank you alot :slight_smile:

Hi,

Regarding the steady state values for linear models we discussed above:

First, in general , the linearization of a linear equation is itself, then the policy function (that solves the system of FOC) is nothing but these same equations without any steady state variables in these equations. Therefore, in order to simulate a linear model why I need , in the first place, to assign/or solve for steady state variables ?

Second, if my logic is right in the first point, then it is the same reason why your response above reads “But in a linear model, the steady state values will not matter for the slope of the policy function, so it’s fine” therefore what I infer is that assigning the steady state variables in linear case for stationary and non stationary variables is nothing but a procedure to let the simulation start but has no effect .

Is this right ? Thank you

Yes, that is correct. For standard models, you need the steady state values and Dynare by default checks whether it can compute a steady state. You need to override this to run your simulation when no steady state exists.

Thank you dear @jpfeifer

Hi again,

I have a follow up question regarding the discussion above we have earlier.

Aside from unit root issue that we discussed above. If the linearization of linear equations is the equations its self and the fact that steady state values in a linear model do not affect the slope of the decision rule (solution) then why in models such as Gali and monacelli (2008) which is also replicated on your website we have solved for a steady state values ?

Couldnt we impose arbitrary values for steady state and use -no check- since there is no effect on the model’s solution nor on linearization of the equations ?

I only replicated Gali/Monacelli (2005) and do not solve for a steady state there. But those models are linear. Checking that the steady state is zero verifies that the linearized equations satisfy the consistency requirement of not containing a constant.

Thank you. Yes I am referring to your 2005 replication.

Aside from checking whether steady state values are zeros or not, we can (hypothetically speaking) impose any arbitrary values and use -no check- and proceed as usual . Yeah ?

Note: .I am bringing this up just to confirm to myself that in linear models steady state values have no effect on policy function. Do you agree on the above ?

Yes, I agree.

1 Like

One last thing Dr., :slight_smile: . In this case (Linear models, Gap and trend case) where some variables are in log deviations (Gaps) while others are in 100* log (Trends). Then IRF are percentage deviations ONLY for gap variables but what about trend variables ? In the case of IRFs for trend variables then I have to use -exp()- for trend variables only, otherwise IRFs of trend variables wont be neither percentage deviations nor absolute deviations? Right ?

I am not sure I understand. If you have a

then the log renders the model non-linear. Also, whenever you have logs, the IRFs generated in Dynare by stoch_simul will be in log deviations from the baseline (usually the steady state).

Thank you . If the entered equation in Dynare lets say Y = Y_gap + Y_trend then dynare will see the model as linear despite the fact that Y_trend is defined in logarithmic scale since Y is in logarithmic scale by definition. In this case the linearization of the model is itself so no deviations from steady state is carried out.

So how I interpret IRF for a shock to Y_trend . My understanding is IRFs of Y_trend is neither percentage deviations nor absolute deviation since in the linearization did not lead to deviations from SS. Accordingly should I declare exp(Y_trend) in the equations to come up with percentage deviations in the IRF of Y_trend ?

Any advise please @jpfeifer

I am still not sure what the exact question is. Dynare by default always does a linearization. If something happens to be in logs, then you obtain a log-linearization. That’s why the exp() substitution is sometimes done in non-linear models. If you now have a linear model where the objects are actually logarithms, then you will get percentage deviations in IRFs etc.

Please correct my understanding:

In Nonlinear models, linearization leads to variables in absolute or log deviations depending on variable’s measurement i.e. if the modeL is multiplicative per say then linearization of the FOC leads to variables in deviations c = C - C_ss and this is why at steady steady state c=0 and IRF is absolute or percentage deviation.

On the other hand, if the model is linear then linearization of linear model is itself and will not leads to variables in deviation form and this is the source of my confusion.

Thank you prof.