2country trade & bond - Rank conditions ISN'T verified
Posted: Thu May 21, 2009 2:11 pm
Hi All,
I really hope that one of you can help me with my model.
See attachment.
I continuously get the error that rank conditions ISN'T verified!
There are 5 eigenvalue(s) larger than 1 in modulus for 6 forward-looking variable(s)
(By the way, this happen after adding the international bond.)
This is a simple 2 country model, each country produces one good using capital and labor.
Each agent consumes the home and foreign good (armington assumption).
there is one international bond that is traded.
The model is deterministic for the moment.
I think this should be straight forward, but I can't solve it.
Any comments will be appreciated.
Thanks, Erez
See model below or look at attachment....
************************************************************************
// The first 150 periods, no shock. From period 150-300, home country productivity rises by 0.01 stderr.
// 2 agent, each country 1 competitive Firms, 2 factor inputs
// each agent consumes home and foreign good (armington assumption)
// 1 international bond traded
var ydh ydf ysh ysf xh xhe xf xfe invh invf ch cf kh kf lh lf pdf ph pf wh wf rh rf zh zf tot pxhe pxfe nxh lambh lambf R ibh bf bh bf;
varexo eh ef;
parameters beta phi mu psi delta alpha rho sigma chi pdh;
alpha = 0.25; //production share in capital
beta = 0.99;
delta = 0.025;
psi = 1.75;
chi = 1.3;
rho = 0; //note, rho=0 when we have deterministic model.
sigma = 3; //intERtemp elas
mu = 2; //intRAtemp elas between home and foreign tradable, armington assumption , not-perfect substitutes
phi = 0.75; //armington share 0.5<phi<1 home bias, phi=0.5 NO home bias
pdh =1;
model;
(ch)^(-sigma) = - lambh;
chi * lh^psi = - lambh * wh / pdh;
lambh = lambh(+1) * beta * ( rh(+1) / pdh(+1) + 1 - delta);
lambh = lambh(+1) * beta * ( 1 + R(+1) / pdh(+1) );
(cf)^(-sigma) = - lambf;
chi * lf^psi = - lambf * wf / pdf;
lambf = lambf(+1) * beta * ( rf(+1) / pdf(+1) + 1 - delta);
lambf = lambf(+1) * beta * ( 1 + R(+1) / pdf(+1) );
ch + invh + ibh = ydh;
cf + invf + ibf = ydf;
pdh * ydh = wh * lh + rh * kh(-1) + R * bh(-1) ; //income balance equation
pdf * ydf = wf * lf + rf * kf(-1) + R * bf(-1) ;
invh = kh - (1 - delta) * kh(-1);
invf = kf - (1 - delta) * kf(-1);
ibh = bh - bh(-1);
ibf = bf - bf(-1);
pdh * bh = - pdf * bf;
// bh = - bf;
xh = phi^mu * (ph/pdh)^(-mu) * ydh;
xfe = (1-phi)^mu * (pf/pdh)^(-mu) * ydh;
xf = phi^mu * (pf/pdf)^(-mu) * ydf;
xhe = (1-phi)^mu * (ph/pdf)^(-mu) * ydf;
ysh = xh + xhe;
ysf = xf + xfe;
ph = exp(zh)^(-1) *( rh^alpha * wh^(1-alpha) ) /( alpha^alpha * (1-alpha)^(1-alpha) );
pf = exp(zf)^(-1) * ( rf^alpha * wf^(1-alpha) ) /( alpha^alpha * (1-alpha)^(1-alpha) );
kh(-1) = (alpha) * ph * ysh / rh;
kf(-1) = (alpha) * pf * ysf / rf;
lh = (1-alpha) * ph * ysh / wh ;
lf = (1-alpha) * pf * ysf / wf ;
zh = rho * zh(-1) + eh;
zf = rho * zf(-1) + ef;
pdf = (phi ^ mu * (pf)^(1-mu) + (1-phi)^mu * (ph) ^ (1-mu ))^(1/(1-mu));
tot=ph/pf;
pxhe=ph*xhe;
pxfe=pf*xfe;
nxh=pxhe-pxfe;
end;
initval;
ydh = 1.0244;
ydf = 1.0244;
ysh = 1.63903;
ysf = 1.63903;
xh = 1.47513;
xhe = 0.163903;
xf = 1.47513;
xfe = 0.163903;
invh = 0.182401;
invf = 0.182401;
ch = 0.841995;
cf = 0.841995;
kh = 7.29606;
kf = 7.29606;
lh = 0.996371;
lf = 0.996371;
pdf = 1;
ph = 0.625;
pf = 0.625;
wh = 0.771095;
wf = 0.771095;
rh = 1/beta - (1-delta);
rf = 1/beta - (1-delta);
zh = 0;
zf = 0;
tot = 1;
pxhe = 0.10244;
pxfe = 0.10244;
nxh = 0;
lambh = -1.67522;
lambf = -1.67522;
R = rh - pdh * delta;
ibh = 0;
ibf = 0;
bh = 0;
bf = 0;
eh = 0;
end;
steady;
endval;
ydh = 1.0244;
ydf = 1.0244;
ysh = 1.63903;
ysf = 1.63903;
xh = 1.47513;
xhe = 0.163903;
xf = 1.47513;
xfe = 0.163903;
invh = 0.182401;
invf = 0.182401;
ch = 0.841995;
cf = 0.841995;
kh = 7.29606;
kf = 7.29606;
lh = 0.996371;
lf = 0.996371;
pdf = 1;
ph = 0.625;
pf = 0.625;
wh = 0.771095;
wf = 0.771095;
rh = 1/beta - (1-delta);
rf = 1/beta - (1-delta);
zh = 0;
zf = 0;
tot = 1;
pxhe = 0.10244;
pxfe = 0.10244;
nxh = 0;
lambh = -1.67522;
lambf = -1.67522;
R = rh - pdh * delta;
ibh = 0;
ibf = 0;
bh = 0;
bf = 0;
eh = 0; //change here to 0.01 to make a future productivity shock.
end;
steady;
check;
shocks;
var eh; periods 1:150; values 0;
end;
simul (periods=300);
I really hope that one of you can help me with my model.
See attachment.
I continuously get the error that rank conditions ISN'T verified!
There are 5 eigenvalue(s) larger than 1 in modulus for 6 forward-looking variable(s)
(By the way, this happen after adding the international bond.)
This is a simple 2 country model, each country produces one good using capital and labor.
Each agent consumes the home and foreign good (armington assumption).
there is one international bond that is traded.
The model is deterministic for the moment.
I think this should be straight forward, but I can't solve it.
Any comments will be appreciated.
Thanks, Erez
See model below or look at attachment....
************************************************************************
// The first 150 periods, no shock. From period 150-300, home country productivity rises by 0.01 stderr.
// 2 agent, each country 1 competitive Firms, 2 factor inputs
// each agent consumes home and foreign good (armington assumption)
// 1 international bond traded
var ydh ydf ysh ysf xh xhe xf xfe invh invf ch cf kh kf lh lf pdf ph pf wh wf rh rf zh zf tot pxhe pxfe nxh lambh lambf R ibh bf bh bf;
varexo eh ef;
parameters beta phi mu psi delta alpha rho sigma chi pdh;
alpha = 0.25; //production share in capital
beta = 0.99;
delta = 0.025;
psi = 1.75;
chi = 1.3;
rho = 0; //note, rho=0 when we have deterministic model.
sigma = 3; //intERtemp elas
mu = 2; //intRAtemp elas between home and foreign tradable, armington assumption , not-perfect substitutes
phi = 0.75; //armington share 0.5<phi<1 home bias, phi=0.5 NO home bias
pdh =1;
model;
(ch)^(-sigma) = - lambh;
chi * lh^psi = - lambh * wh / pdh;
lambh = lambh(+1) * beta * ( rh(+1) / pdh(+1) + 1 - delta);
lambh = lambh(+1) * beta * ( 1 + R(+1) / pdh(+1) );
(cf)^(-sigma) = - lambf;
chi * lf^psi = - lambf * wf / pdf;
lambf = lambf(+1) * beta * ( rf(+1) / pdf(+1) + 1 - delta);
lambf = lambf(+1) * beta * ( 1 + R(+1) / pdf(+1) );
ch + invh + ibh = ydh;
cf + invf + ibf = ydf;
pdh * ydh = wh * lh + rh * kh(-1) + R * bh(-1) ; //income balance equation
pdf * ydf = wf * lf + rf * kf(-1) + R * bf(-1) ;
invh = kh - (1 - delta) * kh(-1);
invf = kf - (1 - delta) * kf(-1);
ibh = bh - bh(-1);
ibf = bf - bf(-1);
pdh * bh = - pdf * bf;
// bh = - bf;
xh = phi^mu * (ph/pdh)^(-mu) * ydh;
xfe = (1-phi)^mu * (pf/pdh)^(-mu) * ydh;
xf = phi^mu * (pf/pdf)^(-mu) * ydf;
xhe = (1-phi)^mu * (ph/pdf)^(-mu) * ydf;
ysh = xh + xhe;
ysf = xf + xfe;
ph = exp(zh)^(-1) *( rh^alpha * wh^(1-alpha) ) /( alpha^alpha * (1-alpha)^(1-alpha) );
pf = exp(zf)^(-1) * ( rf^alpha * wf^(1-alpha) ) /( alpha^alpha * (1-alpha)^(1-alpha) );
kh(-1) = (alpha) * ph * ysh / rh;
kf(-1) = (alpha) * pf * ysf / rf;
lh = (1-alpha) * ph * ysh / wh ;
lf = (1-alpha) * pf * ysf / wf ;
zh = rho * zh(-1) + eh;
zf = rho * zf(-1) + ef;
pdf = (phi ^ mu * (pf)^(1-mu) + (1-phi)^mu * (ph) ^ (1-mu ))^(1/(1-mu));
tot=ph/pf;
pxhe=ph*xhe;
pxfe=pf*xfe;
nxh=pxhe-pxfe;
end;
initval;
ydh = 1.0244;
ydf = 1.0244;
ysh = 1.63903;
ysf = 1.63903;
xh = 1.47513;
xhe = 0.163903;
xf = 1.47513;
xfe = 0.163903;
invh = 0.182401;
invf = 0.182401;
ch = 0.841995;
cf = 0.841995;
kh = 7.29606;
kf = 7.29606;
lh = 0.996371;
lf = 0.996371;
pdf = 1;
ph = 0.625;
pf = 0.625;
wh = 0.771095;
wf = 0.771095;
rh = 1/beta - (1-delta);
rf = 1/beta - (1-delta);
zh = 0;
zf = 0;
tot = 1;
pxhe = 0.10244;
pxfe = 0.10244;
nxh = 0;
lambh = -1.67522;
lambf = -1.67522;
R = rh - pdh * delta;
ibh = 0;
ibf = 0;
bh = 0;
bf = 0;
eh = 0;
end;
steady;
endval;
ydh = 1.0244;
ydf = 1.0244;
ysh = 1.63903;
ysf = 1.63903;
xh = 1.47513;
xhe = 0.163903;
xf = 1.47513;
xfe = 0.163903;
invh = 0.182401;
invf = 0.182401;
ch = 0.841995;
cf = 0.841995;
kh = 7.29606;
kf = 7.29606;
lh = 0.996371;
lf = 0.996371;
pdf = 1;
ph = 0.625;
pf = 0.625;
wh = 0.771095;
wf = 0.771095;
rh = 1/beta - (1-delta);
rf = 1/beta - (1-delta);
zh = 0;
zf = 0;
tot = 1;
pxhe = 0.10244;
pxfe = 0.10244;
nxh = 0;
lambh = -1.67522;
lambf = -1.67522;
R = rh - pdh * delta;
ibh = 0;
ibf = 0;
bh = 0;
bf = 0;
eh = 0; //change here to 0.01 to make a future productivity shock.
end;
steady;
check;
shocks;
var eh; periods 1:150; values 0;
end;
simul (periods=300);