Dear Prof@jpfeifer ,
I am trying to build a 2 sector TANK model where a proportion of households are hand to mouth. One of the sector features MC and calvo pricing. The second one perfectly competetive with flexible price.
Labor is immobile, with one type of agent supplying labor to only one specific sector.
Wages are different in the sectors.
Capital is perfectly substituitable amongs sectors.
One type of agent supplies all the capital, receives rent and dividends.
The issues that I am facing:
The model will solve for steady state but only in algo1 and algo4, no IRFs are generated in any of these. In algo 1 the error is Schur decomposition failure and in algo 4 the error is Blanchard Kahn Conditions not satisfied. The other algos produce no steady state and have complex residuals.
Could you please go through the mod file I have attached, it is well descripted. And tell me about the issue at hand?
I have gotten Investment in one sector as negative at steady state using one of the algos. There is a maximum cardinality not matching error as well.
I am really confused about my equilibirum and aggregate conditions, it will be really helpful if you can tell me if they are correct.
I have not included the bond equation and have omitted the ricardian budget constraint, these are not independant equations is what I believe.
Also, steady states are different in differnt algos. Price is never normalised even after giving init val as 1. Will specifying the model in relative price terms fix my issues?
Note: The agents differ in their parameters as well, mainly the consumption share of the two goods, hence there are two price indices and I aggregated to a price index for the whole eonomy
looks very unusual in that price level appears. Usually, it must be the inflation rate.
2. In NK models, the price level has a unit root, i.e. there are infinitely many steady states. That may throw of numerical solvers.
3. From what you describe, your model has multiple steady states. You should then not rely on a numerical solver but rather compute the steady state analytically. That allows selecting the correct one.
Yes, I understand, thank you. So, are you suggesting a steady_state_model block?But are analytical solutions for every variable since there is some non linearity?
Will entering log linearised equations solve my issue?(because steady states can be zero if expressed as log deviations).
Or are you suggesting rewriting equations in terms of inflation or maybe normalising one price? I’ll be grateful if you could suggest me a way ahead and how to proceed.
** Prof, could you please verify my equilibrium and aggregation conditions ? @jpfeifer
Also,
Should lambda*K(-1)=Kf + Km; the correct equation for Capital instead of the K(-1) = Kf+Km? (Since only one agent is owning capital, proportion being lambda) Kf and Km are the sectoral capital Demands.
In that case shouldn’t investment also have a lambda term?
Can I really aggregate the CPI this way?
P = (lambda*Pnr) + ((1-lambda)*Pr);
Pnr and Pr are the prices faced by the two households( they have different parameters, hence face different prices)
Cr^-sigma_r = beta * (Cr(+1)^-sigma_r) *((1-delta_k) + (R(+1) / P(+1))) ; is the Capital Euler Equation, hence should it not be P(+1) only ?
Is linearising and finding analytical steady states by pen and paper an essential step in simulating and estimating NK-DSGE models?
Shouldn’t the Blanchard Kahn conditions error and Schur decomposition error indicate a timing error?
Computing an analytical steady state does not mean computing it in closed form. Most of the time, you reduce the problem to a few equations and then solve those numerically. That reduces the size of the problem.
Linearizing the model is typically not a solution because the steady state values of the nonlinear models enter as parameters in the linearized equations, requiring you to compute their values as well.
Yes, you should be able to write down the model without a reference to the price level. Inflation rates should suffice.
Regarding your questions:
1 to 3. I don’t know the answer. You set up the model and need to check how aggregation works in it.
4. That equation looks strange. Why is there a price level showing up?
5. Yes, usually it is.
6. Most of the times, that is true.