Loop osr command welfare loss

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.

Loop osr command welfare loss

Postby ddiaze.3 » Sun May 15, 2016 7:16 pm

Hi everyone, I'm calibrating the standard New Keynesian Model (Gali's book (second edition)) for the mexican economy. I have defined this model in a .mod file and I want to obtain the the welfare loss to different value combinations of the phipi and phiy parameters of a standard Taylor rule. I tried using the osr command as described in the post:

http://www.dynare.org/phpBB3/viewtopic.php?f=1&t=2812


I already implemented the osr command in a matlab for loop that varies the parameters but I don't see any changes in the objective function value when the values of the parameters are updated.

This is the .mod file:

Code: Select all
var ytilde pi i y yn r rn mc n a z rnhat;
varexo ea ez;

parameters cbeta cgamma cnu calpha cepsilon_f comega phipi phiy crhoa crhoz
           rrho rMU rmu rTHETA rlambda rupsilonyn rpsiyna rkappa rLAMBDAa;

cbeta = 0.99;   
cgamma = 1;   
cnu = 1;
calpha = 0; 
cepsilon_f = 11; 
comega = 3/4; 
phipi = 1.5;   
phiy = 0.125;
crhoa = 0.9;   
crhoz = 0.7;   
lambda1 = 0.6;           
rrho = (1/cbeta-1); 
rMU = cepsilon_f/(cepsilon_f-1); 
rmu = log(rMU);             
rTHETA = (1-calpha)/(1-calpha+calpha*cepsilon_f);     
rlambda = (((1-comega)*(1-cbeta*comega))/comega)*rTHETA;
rupsilonyn = -((1-calpha)*rmu-log(1-calpha))/(cgamma*(1-calpha)+cnu+calpha);
rpsiyna = (1+cnu)/(cgamma*(1-calpha)+cnu+calpha); 
rkappa = rlambda*(cgamma+((cnu+calpha)/(1-calpha)));
rLAMBDAa = 1/((1-cbeta*crhoa)*((cgamma*(1-crhoa)+phiy))+rkappa*(phipi-crhoa));

model(linear);
   ytilde = rnhat*(1-cbeta*crhoa)*rLAMBDAa;
   rnhat = -cgamma*rpsiyna*(1-crhoa)*a;
   r = i-pi(+1);
   rn = rrho - cgamma*(1-crhoa)*rpsiyna*a+(1-crhoz)*z;         
   yn = rupsilonyn + rpsiyna*a;
   pi = cbeta*pi(+1) + rkappa*ytilde;   
   mc = (cgamma + ((cnu+calpha)/(1-calpha)))*yn - ((1+cnu)/(1-calpha))*a - log(1-calpha);
   i = phipi*pi+phiy*y;
   y = ytilde + yn;
   n = (1/(1-calpha))*(y - a);
   a = crhoa*a(-1) + ea;             
   z = 0; //crhoz*z(-1) + ez;         
end;

check;
steady;

shocks;
var ea = 1^2; 
end;
 
optim_weights;
pi 1;
y lambda1;
end;

osr_params phipi phiy;
osr (order=1,nograph);


and this is a simplified version of the matlab file that only modifies the phipi value:

Code: Select all
dynare base noclearall;

phiS = [0,1];
for i = 1:length(phiS)
    set_param_value('phipi', phiS(i));
    osr(var_list_,osr_params_,obj_var_,optim_weights_);
end


The output value that get for the objective function is:
OPTIMAL VALUE OF THE PARAMETERS:

phipi 1.67465e-011

phiy 0.125001

Objective function : 2.73651

for phipi=0 and for phipi=1

OPTIMAL VALUE OF THE PARAMETERS:

phipi 1

phiy 0.125002

Objective function : 2.73651

As you can see, the objective function values doesn't change, however, when I modify directly the parameter values in the .mod file it does change.

What I'am doing wrong?
Thanks in advance.
ddiaze.3
 
Posts: 1
Joined: Sun May 15, 2016 5:57 pm

Re: Loop osr command welfare loss

Postby jpfeifer » Fri May 20, 2016 12:29 pm

What exactly are you trying to do? You set different starting values for phipi and then optimize over this parameter. If you always find the optimum, you should always get the same result. What you seem to have in mind is to set phipi, but not recompute osr.
------------
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 contributions and examples

Who is online

Users browsing this forum: No registered users and 4 guests