Blachard-Kahn indeterminacy error

tankfixed.mod (7.4 KB)
This is the first time I try DSGE modelling, and when I run the attached log-linear TANK DSGE (oil-augmented, Calvo pricing) in Dynare 5.2, the Blanchard-Kahn check returns “2 eigenvalues larger than 1 for 3 forward-looking variables – indeterminacy”. Inspection of the eigen-spectrum shows two unstable roots at ≈ 1.484 and a third root stuck just inside the unit circle at 0.996, generated by the policy block. Because the rule does not react to domestic inflation, anticipated inflation behaves like a unit root (β), leaving only two explosive roots to match three forward-looking states ( 𝑐 𝑅 , 𝑡 , 𝜋 𝑑 , 𝑡 , 𝜋 𝑡 ) (c R,t ​ ,π d,t ​ ,π t ​ ). The rank condition is therefore violated, and the model cannot determine a unique equilibrium. If anyone can help fix this, under a fixed exchange regime where monetary policy is passive, it would be greatly appreciated.

I don’t understand that setup. What is determining domestic inflation in that setup?

Domestic inflation is a hybrid NKPC, so it’s a function of future inflation, past inflation and marginal cost. Inflation is a weighted average of domestic and foreign inflation, where foreign inflation is just an AR(1) process. For reference there is a spelling mistake,
" e = 0; // Labour endowment normalised"
is just the nominal exchange rate’s deviatio from steady state being 0 at all times since it is pegged.

Did you try starting from a setup like Gali/Monacelli (DSGE_mod/Gali_Monacelli_2005/Gali_Monacelli_2005.mod at master · JohannesPfeifer/DSGE_mod · GitHub)? Usually, there is a some risk sharing condition in the model that seems to be absent in yours.