Inconsistency on Steady State Results

Hi There,

I am running two RBC files (decentralized equilibrium vs. efficient allocation) with climate change externality component (Xt - “dirty energy”). The model with taxes applied to the price of dirty energy should have produced a lower Xt in steady state vs the model with no taxes applied - but when I run de two mod files dynare results shows the opposite. I reviewed the formulas of Xt (no tax) vs. (Xt with tax) in steady state block and it seems mathematically correct.
rbc_comp_e_notax.mod (5.2 KB)
rbc_comp_e_withtax.mod (5.4 KB)
I would really appreciate any suggestions to solve these issues.
Thank you

You have

X = (par_gama*Y)/P*(1+Tau/100);
Y = Z*(K(-1)^par_alpha*N^eta)*X^par_gama;

so it seems that an increase in Tau increases the supply of X. Are you missing brackets?

Thank you Prof. Pfeifer! I am still working on the model, I will sure
look for missing brackets!! However, it does not seem that missing brackets is the problem. I will post an updated version in couple of days, I would appreciate your insights again. Best

My question was: shouldn’t it be

X = (par_gama*Y)/(P*(1+Tau/100));

Prof. Pgeifer,

Thank you for your prompt response.
Yes, I did this change. I was dividing Tau by 100 because I was not able to get IRFs from TFP and Price schocks (I was getting only the IRFs from TFP).

I made some changes on the Utility Function and included the tax component Tau without dividing by 100. But I am still getting the following error messages:

Error using print_info (line 32)
The Jacobian contains NaNs. For more information, use options_.debug.

Error in check (line 48)
** print_info(info, 0, options);**

Error in rbc_comp_e_withtax_new.driver (line 267)
oo_.dr.eigval = check(M_,options_,oo_);

Error in dynare (line 293)
evalin(‘base’,[fname ‘.driver’]) ;

rbc_comp_e_withtax_new.mod (5.5 KB)

Thank you in advance for your help and comments.
Kind Regards,

Your initval-block uses C in Tau before it is defined.

Prof. Pfeifer, thank you !! I fixed that and know the model with no tax and with tax seems to work. However, the X (dirty energy) compenent seems equal/slightly higher with tax:

It does not seem to make sense, it should have been lower I guess.
rbc_comp_e_withtaxVF_test.mod (5.4 KB)
rbc_comp_e_notaxVF_test.mod (5.3 KB)

Thank you in advance for your comments.

Kind Regards,
Felipe

Again, is the bracketing outlined above correct? Any tax will mechanically increase X in your implementation.

Dear Prof. Pfeifer,

I corrected the brackets, now X= par_gamaY/(P(1+Tau)); However, as a result I get IRFs for the TFP shock, no IRFs fpr Price Schock:



rbc_comp_e_withtaxVF.mod (5.4 KB)

Thank you again for hekping.

Kind Regards
Felipe

In Dynare 5.2 I get

Prof. Pfeifer,

Thank you very much for your recommendation ! I will update to Dynare 5.2 !! Whould you know what is the existing challenge/gap with Dynare 4.6.4 in this regard?

Kind Regards,
Felipe

Prof. Pfeifer,

I update both Matlab from 2021b to 2022b and Dynare from 4.6.4 to 5.2, however I still get the same output as before:

rbc_comp_e_withtaxVF_test.mod (5.4 KB)


I also notice the following message:
Warning: Some of the parameters have no value (par_sigma) when using stoch_simul. If these parameters are not initialized in a steadystate file or a steady_state_model-block, Dynare may
not be able to solve the model. Note that simul, perfect_foresight_setup, and
perfect_foresight_solver do not automatically call the steady state file.

Thank you again for your comments,
Felipe

It seems I ran a wrong file. What you see there seems to be caused by the economic mechanism. The shock causes Tau and P to move in exactly opposite direction to leave their product constant and all other variables unchanged.

Indeed ! I made the decentralized equilibrium equate to effecient allocation by using the following expression:
ZtFx(Nt,Kt,Xt) = Pt(1+Tau)= - Ux(Ct,Nt,Xt)/Uc(Ct,Nt,Xt). Then, from this expression I get Xt= par_gamaYt/Pt(1+Tau) and Tau= ((par_ACt)/Pt) -1.

The file below explains the model and the functional forms of Utility and Production functions in more detail:

Climate Change Externality and Business Cycles _Quali Exam VF_Felipe Kury.pdf (2.8 MB)

I not sure yet how to address your point, if taxes (Tau) are raised the shock on Prices should move in opposite directions. I should reflect on the possibilities, any suggestions would be very helpful. Kind Regards,
Felipe

I not sure why, but It seems that if I multiply line 109 by 1.0001:

Tau = 1.0001*((par_A*C/P) - 1);

I both IRFs TFP and Price as follow:



rbc_comp_e_withtaxVF_NEW.mod (5.4 KB)

Thank you in advance for any insights/suggestions.

Kind Regards,
Felipe

You need to understand the logic behind your model. Is it about the one to one rebating of the tax that leaves the allocation unaltered?

Indeed, it does not change the general/aggregate budget constraint. However, the pigouvian taxes added to equation D2 (pls, see presentation slide 7) does change the dynamica allocation. In fact, the model should reduce the amount of “dirty energy” as taxes (Tau) increases in both cases : TFP and Prices shocks.

But it seems there is something in the model fixing the LHS of (D2), so that the changes of the components on the RHS exactly offset each other.