Page 1 of 1

Indicator function not activating?

PostPosted: Sun Apr 12, 2015 11:00 pm
by bfujiy
Hello Mr. Pfeifer, thank you for a past inquiry of mine regarding the timing of endougenous variables.
This time I have an inquiry about my results, I hope you can illustrate me about the issue.
I have the following code which spits some outputs:

Code: Select all
var i, w, c, h, y, k, d, n, inv, l, q;
predetermined_variables k d;
varexo a p e;

parameters theta, beta, eta, delta, alpha, gamma, phi, rho;
beta = 0.985;
theta = 0.75;
delta = 0.025;
alpha = 0.33;
gamma = 0.27;
eta = 0.5;
phi = 0.5;
rho = 0.9;

model;
1 = beta*c/c(+1)*(1+i)*p/p(+1);
w/p = ((1-theta)/theta)*(c/(1-h));
alpha*y/k = ((delta+i*exp(q))/p)+(n<0)*((exp(q)-exp(q(+1))*(1-delta))/(p*(1-eta)));
gamma*y/h = w/p;
exp(q)*k = d + n;
k(+1) = (1-delta)*k+inv;
d(+1) = d+l-phi*(1-eta)*(p*y-w*h-delta*k-i*d);
exp(q(+1))*inv = l+(1-phi)*(1-eta)*(p*y-w*h-delta*k-i*d);
y = a*(k^alpha)*(h^gamma);
y = c+inv;
q(+1) = rho*q - e;
end;

initval;
i = 0.0152;
w = 1.1451;
c = 1.7015;
h = 0.5047;
y = 2.1404;
k = 17.5581;
d = 16.1304;
n = 1.4277;
inv = 0.4390;
l = 0.2195;
q = 0;
e = 0;
a = 1;
p = 1;
end;
steady;
check;

shocks;
var e = 1;
end;

stoch_simul (irf=100,pruning,periods=1000);


Where the 3rd equation of the model contains a section that activates when n is less than zero.
Nevertheless, when I run the model excluding all that section, I get the same results.

"Excluding all that section" means that the third equation would be:
Code: Select all
alpha*y/k = ((delta+i*exp(q))/p)

Do you know why am I getting the same results in both cases? The indicator function is not activating even when I can check that n has been effectively less than zero for several periods?
Thank you again.

Re: Indicator function not activating?

PostPosted: Mon Apr 13, 2015 6:21 am
by jpfeifer
As Dynare says
WARNING: you are using a function (max, min, abs, sign) or an operator (<, >, <=, >=, ==, !=) which is unsuitable for a stochastic context; see the reference manual, section about "Expressions", for more details.

The manual says
The use of the following functions and operators is strongly discouraged in a stochastic context:
max, min, abs, sign, <, >, <=, >=, ==, !=.
The reason is that the local approximation used by stoch_simul or estimation will by nature
ignore the non-linearities introduced by these functions if the steady state is away from the kink.
And, if the steady state is exactly at the kink, then the approximation will be bogus because the
derivative of these functions at the kink is bogus (as explained in the respective documentations of
these functions and operators).

Re: Indicator function not activating?

PostPosted: Wed Apr 15, 2015 7:37 pm
by bfujiy
Thank you Mr. Pfeifer.