Page 1 of 1
exogenous variables
Posted:
Thu Dec 18, 2014 1:27 pm
by Lisardo
Hello,
I've implemented a two country dsge model, which comprises 26 endogenous variables.
My question is the following: How do I have to specify the exogenous variables?
By now, I've not defined anything about them, neither initial values, nor a process. The simulation runs and gives IRFs, though.
I can't really explain why dynare can solve and simulate the model.
Would be glad, if someone can help.
Thanks
Re: exogenous variables
Posted:
Thu Dec 18, 2014 4:03 pm
by jpfeifer
Which command are you using? By default, Dynare starts with initial values of 0. If you are using a nonlinear model with deterministic simulations, Dynare will not show you IRFs but rather the trajectory from 0 back to the steady state.
Re: exogenous variables
Posted:
Thu Dec 18, 2014 4:20 pm
by Lisardo
It's a linear model with 26 endogenous, 5 deterministic exogenous variables and 1 shock. I'm just wondering why dynare can compute IRFs to the shock, though I didn't specify any process for the deterministic exogenous variables. So by default the initial values are zero? Does dynare also by default assume some kind of process for the deterministic variables, e.g. treat them as constants?
Re: exogenous variables
Posted:
Thu Dec 18, 2014 4:53 pm
by jpfeifer
To answer your question, I need to see the mod-file
Re: exogenous variables
Posted:
Fri Dec 19, 2014 7:58 am
by Lisardo
% Model variables
var q ds wr_h wr_f h_h h_f c_h c_f r_h r_f pi_h pi_f pi_a_h pi_b_f q_a_h q_a_f q_b_h q_b_f mc_h mc_f y_h y_f dr_hat_h dr_hat_f tr_hat_h tr_hat_f;
varexo xiI tau_h tau_f g_h g_f z_h z_f tau_ss;
% Parameter specifications
mu =2;
beta = 0.95;
kappa=0.02;
c_y = 0.8;
g_y = 0.2;
n = 0.1;
omega = 0.185;
sigma = 0.66;
phi = 1.58;
psi = 0.02;
% Model specifications, here: 26 equations
model(linear);
wr_h = mu*h_h + c_h + tau_ss/(1 - tau_ss)*tau_h; % L1: Real wages in Home
wr_f = mu*h_f + c_f + tau_ss/(1 - tau_ss)*tau_f; % L2: Real wages in Foreign
c_h = c_h(+1) - (r_h - pi_h(+1)); % L3: Consumption path Home
c_f = c_f(+1) - (r_f - pi_f(+1)); % L4: Consumption path Foreign
c_f - c_h = q; % L5: Risk sharing
pi_a_h = beta*pi_a_h(+1) + kappa*mc_h; % L6: NKPC for in Home produced good A
pi_b_f = beta*pi_b_f(+1) + kappa*mc_f; % L7: NKPC for in Foreign produced good B
mc_h = wr_h - q_a_h - z_h; % L8: Marginal cost Home
mc_f = wr_f - q_b_f - z_f; % L9: Marginal cost Foreign
y_h = z_h + h_h; % L10: Production function Home
y_f = z_f + h_f; % L11: Production function Foreign
pi_a_h = q_a_h - q_a_h(-1) + pi_h; % L12: Producer price inflation for good A in Home
pi_b_f = q_b_f - q_b_f(-1) + pi_f; % L13: Producer price inflation for good A in Foreign
q + q_a_h = q_a_f; % L14: Law of one price
q + q_b_h = q_b_f; % L15: Law of one price
q_b_h - q_b_h(-1) = -ds + pi_f - pi_h + q_b_f - q_b_f(-1); % L16: Real exchange rate
0 = (1 - 2*(1-n)*omega)*xiI + (1 - (1-n)*omega)*q_a_h + (1-n)*omega*q_b_h; % L17: Price index Home
0 = -(1 - 2*n*omega)*xiI + (1 - n*omega)*q_b_f + n*omega*q_a_f; % L18: Price index Foreign
beta*dr_hat_h(+1) + tr_hat_h + tau_ss*(tau_h + q_a_h + y_h) = dr_hat_h + g_y*g_h + g_y*q_a_h; % L19: Government budget constraint Home
beta*dr_hat_f(+1) + tr_hat_f + tau_ss*(tau_f + q_b_f + y_f) = dr_hat_f + g_y*g_f + g_y*q_b_f; % L20: Government budget constraint Foreign
tr_hat_h = psi*dr_hat_h; % L21: Lump-sum taxation Home
tr_hat_f = psi*dr_hat_f; % L22: Lump-sum taxation Foreign
r_h = phi*pi_a_h; % L23: Monetary policy Home
r_f = phi*pi_b_f; % L24: Monetary policy Foreign
y_h = c_y*xiI + (1-n)*omega*(c_y*c_f - sigma*c_y*q) + sigma*(g_y - 1)*q_a_h + (1 - (1-n)*omega)*c_y*c_h + g_y*g_h; % L25: Good market clearing Home
y_h+sigma*q_a_h=c_y*xiI+(1-n)*omega*(c_y*c_f-sigma*c_y*q)+(1-(1-n)*omega)*c_y*c_h+g_y*(g_h+sigma*q_a_h);
y_f = -c_y*xiI + n*omega*(c_y*c_h + sigma*c_y*q) + sigma*(g_y - 1)*q_b_f + (1 - n*omega)*c_y*c_f + g_y*g_f; % L26: Good market clearing Foreign
y_f+sigma*q_b_f=-c_y*xiI+n*omega*(c_y*c_h+c_y*sigma*q)+(1-n*omega)*c_y*c_f+g_y*(g_f+sigma*q_b_f);
end;
% Shock specifications
shocks;
var xiI; stderr 1;
end;
% Model simulation
stoch_simul(order = 1, irf = 20);
Re: exogenous variables
Posted:
Fri Dec 19, 2014 8:01 am
by jpfeifer
Any exogenous process you do not specify is assumed to be 0 as it has a 0 variance. Moreover, as it is an exogenous object, Dynare simply takes it as given. It does not have to appear in any equation.
Re: exogenous variables
Posted:
Fri Dec 19, 2014 8:21 am
by Lisardo
Thanks a lot!