Variance in Technology 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.

Variance in Technology Shocks

Postby learningmacro » Mon Jun 01, 2015 1:17 am

Hello,

I'm new to Dynare, and I would really appreciate it if you guys could help me out. I'm running a simple RBC model, and I want to change the variance of the technology shocks. (I call the variance log_s.) I want to have high(=3) and low(=1) variance at different time periods, with a .625 chance that the current time period's variance is the same as the previous time period's (so a .375 chance it switches). I do this using eta2, drawn from a standard normal distribution, with .319 as the z-score cutoff - since there is a .625 chance that a standard normal variable will fall below .319. Since I know that Dynare accepts logical statements and interprets them as 1 if true and 0 if false, I thought the following would work:

log_s = (eta2 < z)*(log_s(-1)) + (eta2 > z)*(log_s(-1) == low)*(high) + (eta2 > z)*(log_s(-1) == high)*(low);

where log_A = rho*log_A(-1) + (log_s)*eta;

However, when I run my code, log_s does not change. What am I doing wrong? I have attached my complete code below. Thanks in advance for your help!

================================
Code
================================
var log_c log_k log_h log_A log_w r log_i log_y log_s;
varexo eta eta2;

parameters beta alpha gamma delta rho s epsilon z high low;
beta=0.985;
alpha=1/3;
gamma=1;
delta=0.025;
rho = 0.9;
s=0.0107;
epsilon = 1;
z = 0.319;
high = 3;
low = 1;


model;

// HOUSEHOLDS:
// Euler equation:
1/exp(log_c) = beta*(1+r(+1)-delta)*( 1/exp(log_c(+1)) );

// Intra-temporal condition (FOC with respect to h):
( 1/exp(log_c) )*exp(log_w) = gamma*exp(log_h)^(1/epsilon);

// Budget constraint of households
exp(log_k) = (1+r-delta)*exp(log_k(-1)) + exp(log_w)*exp(log_h) - exp(log_c);

// Capital accumulation:
exp(log_k) = (1-delta)*exp(log_k(-1)) + exp(log_i);


// FIRMS:
// FOC labor:
exp(log_w) = (1-alpha)*exp(log_A)*( exp(log_k(-1))/exp(log_h) )^alpha;

// FOC capital:
r = alpha*exp(log_A)*( exp(log_h)/exp(log_k(-1)) )^(1-alpha);

// Output
exp(log_y) = exp(log_A)*exp(log_k(-1))^alpha*exp(log_h)^(1-alpha);


// EXOGENOUS PROCESS FOR TECHNOLOGY
log_s = (eta2 < z)*(log_s(-1)) + (eta2 > z)*(log_s(-1) == low)*(high) + (eta2 > z)*(log_s(-1) == high)*(low);

log_A = rho*log_A(-1) + (log_s)*eta

end;

initval;
log_k= 3.08518;
log_c= 0.738489;
log_h= -0.0866715;
log_A=0;
log_s = 1;
log_w=log( (1-alpha)*exp(log_A)*( exp(log_k)/exp(log_h) )^alpha );
r=alpha*exp(log_A)*( exp(log_h)/exp(log_k) )^(1-alpha);

log_i= -0.603697;
log_y= 0.970611;

end;

shocks;
var eta2;
stderr 1;
var eta;
stderr 1;
end;

steady;
check;
stoch_simul(hp_filter=1600, irf=40, periods=1000, ar=1, nocorr, order=1);
learningmacro
 
Posts: 2
Joined: Mon Jun 01, 2015 12:50 am

Re: Variance in Technology Shocks

Postby jpfeifer » Mon Jun 01, 2015 6:09 am

What you envision implies a discontinuity. The perturbation solution techniques are based on Taylor approximations and will not work in this case.
------------
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: Variance in Technology Shocks

Postby learningmacro » Mon Jun 01, 2015 1:15 pm

Thank you very much for responding. Does this mean Dynare is unable to simulate the changes I would like? Or is there a way to get around this discontinuity issue?
learningmacro
 
Posts: 2
Joined: Mon Jun 01, 2015 12:50 am

Re: Variance in Technology Shocks

Postby jpfeifer » Wed Jun 03, 2015 7:57 am

In a stochastic context, you might be able to use the extended path method.
------------
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 8 guests