DGSE model steady state

This forum is closed. You can read the posts but cannot write. We have migrated the forum to a new location where you will have to reset your password.
Forum rules
This forum is closed. You can read the posts but cannot write. We have migrated the forum to a new location (https://forum.dynare.org) where you will have to reset your password.

DGSE model steady state

Postby luisdiego24 » Tue May 19, 2015 5:41 pm

Greetings. This is my very first post.

After some practice with smaller models in Dynare, I have some questions as I work on my first big project, so I decided to kindly ask for your help. The program does run well, but I have some questions.

The model I'm programming comes from the paper "Nominal Debt Dynamics, Credit Constraints and Monetary Policy" by Graham and Wright (2007). It's a DSGE model without money in which households are split between those having binding credit constraints and those that do not, only a known proportion of loans are given on fixed rate scheme, and some of the ones on variable rate scheme change terms with a Calvo-like process.

I'm attaching the pages from the document that show the linearized model.

My questions are as follows:

1. If my variables are meant to be log-linearized deviations from their nonstochastic steady-state values, did I do well in writing them as exp(variable)? And if so, was I right in choosing 0 as the initial value to all of them? The user manual mentions doubling the variable name to indicate that it's a deviation, but how do you do that when the variable name has more than one letter? I also wrote "linear" when declaring the model, since it was already linearized.

2. After running the program, it tells me that the steady state value for ALL my variables is -1. I do not understand why.


This is what I did:

var y c1 c2 pi z d r rd rf rz n1 n2 w1 w2 mc;
predetermined_variables z rz;
varexo u;
parameters delta lambda kappa N eta beta1 beta2 gamma phi psi sigmac
sigman zeta;

/*I'm writing in capital letters the levels of the variables, whereas
the lowercase refers to log-linearized deviations from steady state. The variables are the following:
Y: Income, C1: consumption of unconstrained households, C2: consumption of
constrained households, Pi: Inflation, Z: value of a new debt contract,
D: level of debt that financial institutions are willing to lend,
R: short-term interest rate established by the central bank, which,
by assumption is the rate payable on floating rate loans with a spread of zero,
Rd: average rate payable on loans, Rf: fixed average rate payable on loans,
Rz: rate payable on new loans, N1: labor supply for unconstrained households,
N2: labor supply for constrained households, W1: real wage for unconstrained
households, W2: real wage for constrained households, MC: real marginal
cost, U: white noise "cost-push" shock. */

delta=8;
/*Quarterly steady state debt to consumption ratio of constrained households*/
lambda=0.537;
/*Consumption share of unconstrained households*/
kappa=0.5;
/*Labor income share of unconstrained households*/
N=0.2;
/*Steady state labor supply*/
eta=0.5;
/*Coefficient of lagged inflation in Phillips curve*/
beta1=0.99;
/*Discount factor of unconstrained households*/
beta2=0.95;
/*Discount factor for constrained households*/
gamma=0.75;
/*Coefficient on marginal costs in Phillips curve*/
phi=0.05;
/*Debt reset probability*/
psi=0;
/*Proportion of borrowers in fixed scheme*/
sigmac=0.5;
/*Intertemporal elasticity of substitution for consumption*/
sigman=2;
/*Intertemporal elasticity of substitution for labor*/
zeta=-1.76;
/*Coefficient in monetary policy rule*/

/*Note about some of the equations: The derivation for GW's equations 49 and 50 can
be found in a pdf I'm attaching.*/

model(linear);

exp(c1)=exp(c1(+1))-1/sigmac*(exp(r)-exp(pi(+1)));
exp(c2)=exp(y)-delta*exp(rd)+delta*(exp(d(+1))-exp(d)+exp(pi(+1)))+delta*(1-beta1)*(exp(y)-exp(d)-exp(rd));
exp(y)=lambda*exp(c1)+(1-lambda)*exp(c2);
exp(pi)=eta*exp(pi(-1))+beta1*(1-eta)*exp(pi(+1))+gamma*exp(mc)+u;
exp(n1)=sigman*(1-N)/N*(exp(w1)-exp(c1)/sigmac);
exp(n2)=sigman*(1-N)/N*(exp(w2)-exp(c2)/sigmac);
exp(w1)=exp(mc)+exp(y)-exp(n1);
exp(w2)=exp(mc)+exp(y)-exp(n2);
exp(mc)=kappa*exp(w1)+(1-kappa)*exp(w2);
exp(z(+1))-beta1*(1-phi)*exp(z(+2))=(1-beta1*(1-phi))*(exp(pi(+1))-exp(pi));
exp(d(+1))-(1-phi)*exp(d)+exp(pi(+1))+phi*(exp(pi)-exp(pi(-1)))=phi*exp(z(+1));
exp(rz)=phi*exp(r(+1))+(1-phi)*exp(rz(+1));
exp(rf)=phi*exp(rz)+(1-phi)*exp(rf(-1));
exp(rd)=psi*exp(rf)+(1-psi)*exp(r);
exp(y)=zeta*exp(pi);
end;

initval;

y=0;
c1=0;
c2=0;
pi=0;
z=0;
d=0;
r=0;
rd=0;
rf=0;
rz=0;
n1=0;
n2=0;
w1=0;
w2=0;
mc=0;
end;

steady;

check;

shocks;
var u=0.5;
end;

stoch_simul(irf=20);


Many thanks on any help.
Attachments
Lineralized model.pdf
I can upload the whole paper if necessary, but it seemed rather overkill at the moment.
(82.87 KiB) Downloaded 94 times
Derivation.pdf
(56.65 KiB) Downloaded 75 times
luisdiego24
 
Posts: 1
Joined: Tue May 12, 2015 5:41 pm

Re: DGSE model steady state

Postby jpfeifer » Sat May 23, 2015 11:07 am

You seem to be confusing something. The exp()-substitution is for nonlinear models. If your model has been log-linearized manually, you must not put the variables in exp(). Take e.g. a look at Pfeifer(2013): "A Guide to Specifying Observation Equations for the Estimation of DSGE Models" https://sites.google.com/site/pfeiferecon/Pfeifer_2013_Observation_Equations.pdf.
------------
Johannes Pfeifer
University of Cologne
https://sites.google.com/site/pfeiferecon/
jpfeifer
 
Posts: 6940
Joined: Sun Feb 21, 2010 4:02 pm
Location: Cologne, Germany


Return to Dynare help

Who is online

Users browsing this forum: Google [Bot] and 6 guests