shocks

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.

shocks

Postby econphd » Sat Jun 24, 2017 7:32 pm

Hello, I am just wondering whether I can build a model like the following shock process

Technology shock:

s = gamma/gamma(-1) rate of growth shock

1. log(s) = log(s(-1))+eps_s; random walk

In the literature I saw this case as follows:

2. log(s) = (1 − ρs)log(µs) + ρsIn(st−1) + εs t .


But I just want to understand the first one whether it does make sense if I build the model with that shock process+ rate of growth.

Best,
econphd
 
Posts: 31
Joined: Fri Mar 25, 2016 2:39 pm

Re: shocks

Postby jpfeifer » Sun Jun 25, 2017 9:00 am

Yes, you can do that, but having a growth rate follow a random walk is quite unusual as in this case growth rates can be unbounded. The stationary version makes more sense.
------------
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

Re: shocks

Postby econphd » Sun Jun 25, 2017 3:38 pm

Thank you. But then, what is the value of b in steady state, is that 1? I am not sure about it since I got error.

var c k y b h g y_h i w r c_y log_y log_h log_y_h log_w log_c log_c_y ;

varexo eps_g eps_b;

parameters delta psi alpha beta mu_g rho_g ;

% Parameter Values

beta = 0.95;
psi = 0.33;
alpha = 0.68;
delta = 0.07;
mu_g = log(1.0066);
rho_g = 0.1;


Model;

y = k(-1)^(1-alpha)*exp(g+b)^(alpha-1)*h^alpha;
log(g) = (1-rho_g)*log(mu_g)+rho_g*log(g(-1))+eps_g;
log(b)=log(b(-1))+eps_b;
r = (1-alpha)*(y/k(-1))*exp(g+b);
w= alpha*(y/h);
c^(-1)= exp(g(+1)+b(+1))^(-1)*beta*c(+1)^(-1)*(1+r(+1)-delta);
h^(1/psi) = c^(-1)*w;
y_h = y/h;
c + k = y + (1-delta)*k(-1)*exp(g+b)^(-1);
i = y-c;
c_y=c/y;

// use logarithm to get variables in percentage deviations
log_y=log(y);
log_h=log(h);
log_y_h=log(y_h);
log_w=log(w);
log_c=log(c);
log_c_y=log(c_y);

end;


steady_state_model;
g = mu_g;
% b= 1;
r=(1/(beta*exp(mu_g)^(-1))-(1-delta));
y_k=r/((1-alpha)*exp(mu_g));
k_y=(1-alpha)/r;
i_y=(1/y_k)*(1-(1-delta)*exp(mu_g)^(-1));
c_y=1-i_y;
h= (alpha*1/c_y)^(psi/(1+psi));
k=(((exp(mu_g)^(alpha-1)*(h^alpha))/y_k))^(1/alpha);
y=k^(1-alpha)*h^alpha*exp(mu_g)^(alpha-1);
c=c_y*y;
i=i_y*y;
y_h =y/h;
w=alpha*(y_h);
log_y=log(y);
log_h=log(h);
log_y_h=log(y_h);
log_w=log(w);
log_c=log(c);
log_c_y=log(c_y);

end;


shocks;
var eps_g; stderr 0.01;
var eps_b; stderr 0.01;
end;
resid(1);
steady;
check;


stoch_simul(order=1, periods=1200, nofunctions) y h y_h c_y;

// Rebuild non-stationary time series by remultiplying with A_{t} and B_{t}

log_Gamma_0=0; //Initialize Level of Technology at t=0;
log_s_0=0; //Initialize Level of Technology at t=0;
log_Gamma(1,1)=g(1,1)+log_Gamma_0; //Level of Tech. after shock in period 1
log_s(1,1)=b(1,1)+log_s_0;//Level of Tech. after shock in period 1

// reaccumulate the non-stationary level series (non-stationary log-level variables)

for ii=1:options_.periods

log_Gamma(ii+1,1)=g(ii,1)+log_Gamma(ii,1);
log_s(ii+1,1)=b(ii,1)+log_s(ii,1);
log_y_nonstationary(ii+1,1)=log_y(ii,1)+log_Gamma(ii,1)+log_s(ii,1);
log_h_nonstationary(ii+1,1)=log_h(ii,1)+log_s(ii,1);
log_y_h_nonstationary(ii+1,1)=log_y_h(ii,1)+log_Gamma(ii,1);

end
econphd
 
Posts: 31
Joined: Fri Mar 25, 2016 2:39 pm

Re: shocks

Postby jpfeifer » Mon Jun 26, 2017 6:02 pm

There will be infinitely many steady states and you have to select one. Your approach with setting b=1 for selecting a particular steady state is correct, but you still need to account for the b unequal to 0 in the other steady state equations.
------------
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

Re: shocks

Postby econphd » Wed Jul 05, 2017 4:24 pm

Dear Johannes,

Thank you. I have decided to follow the standard literature and build my model with a productivity shock(gamma) and a labor supply shock (B) as a growth rate. They both follow the same processes.

When I stationarized the wages, I obtained : w= alpha*(y/(h*B)) . I just could not figure out how I should express it into the dynare (in model and steady state model parts). I tried almost all possible things but I could not make my model run. I would greatly appreciate if you could look at my codes and tell me your opinion about it.

Best,
Attachments
model1.mod
(2.31 KiB) Downloaded 64 times
econphd
 
Posts: 31
Joined: Fri Mar 25, 2016 2:39 pm

Re: shocks

Postby jpfeifer » Mon Jul 10, 2017 1:55 pm

What exactly is your problem? Your code ran on my machine.
------------
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: No registered users and 11 guests