Rank Conditions and Model Solution
Posted: Thu Sep 25, 2014 6:54 pm
Hi, I have a very simple deterministic toy model of debt and government investment. In the model there is a parameter that controls how fast the tax rate changes to cover the fiscal gap (in the code, the symbol is lambda). If tax adjusts too slowly, the government has to borrow externally and debt could be unsustainable in come cases.
If I set the tax adjustment speed to fast, the rank condition is satisfied and everything goes back to the steady state eventually. If I set the speed to be low, the rank condition is not satisfied and debt explodes. But I could still get the paths of all the variables.
My questions are: 1. Why do I still get the solution even if the rank condition is not satisfied, and does the solution make sense? 2. How to interpret the jumps in the last period? I read some of the old posts and learned that what matters are the terminal values for those forward-looking variables, not those backward-looking ones. In my case, since I don't have the 'endval' block I assume that the forward-looking variables 'c' and 'tau' take their initial steady-state values. But still, I have a little problem understanding intuitively why debt explodes and drops to its initial level in the last period.
Thanks a lot!!!
Holly
If I set the tax adjustment speed to fast, the rank condition is satisfied and everything goes back to the steady state eventually. If I set the speed to be low, the rank condition is not satisfied and debt explodes. But I could still get the paths of all the variables.
My questions are: 1. Why do I still get the solution even if the rank condition is not satisfied, and does the solution make sense? 2. How to interpret the jumps in the last period? I read some of the old posts and learned that what matters are the terminal values for those forward-looking variables, not those backward-looking ones. In my case, since I don't have the 'endval' block I assume that the forward-looking variables 'c' and 'tau' take their initial steady-state values. But still, I have a little problem understanding intuitively why debt explodes and drops to its initial level in the last period.
Thanks a lot!!!
Holly
- Code: Select all
var c, b, tau, d, I, gap;
varexo u;
parameters beta r y lambda tau0 rho;
r=0.05;
beta=1/(1+r);
y=1;
lambda=1;
tau0=0.25;
rho=0.95;
model;
c(+1)/c=(1+tau)/(1+tau(+1))*beta*(1+r);
(1+tau)*c+(1+r)*b(-1)=y+b;
c*tau+d=I+(1+r)*d(-1);
gap=I-c*tau0+r*d(-1);
tau=lambda*tau(-1)+(1-lambda)*(tau0+gap/c);
//I=I(-1)*(1+u);
I-0.188233=rho*(I(-1)-0.188233)+(1-rho)*u;
end;
initval;
c = 0.792933;
b = 0.176685;
tau = 0.25;
d = 0.2;
I = 0.188233;
gap=0;
end;
//steady;
//check;
shocks;
var u;
periods 1:5;
values 0.10;
end;
options_.maxit_=100;
simul(periods=100);