# Looping over parameters

Hi to everyone, I,m trying to solve a basic stochastic new keynesian model. It works, but my objective is to run it changing the value of a parameter. I’ve tried to use the command set_param_value within a loop, but it doesn’t work. I’ve tried it with dynare or also using matlab: in any case the loop works but the value of the parameter doesn’t change. The code is simply run n times without any change. Here there is my code. Can someone help me?
thank you
maya[code]//IN THIS CASE IS CONSIDERED THE CASE WITH SYMMETRY IN PRICE ADJUSTMENT
close all
//QUESTIONE e E variabili che non riesco ad identificare
///////////////////////////////////////////////////////////////////////////
//DEFINITION OF VARIABLES

var p,ss,y,y_f,pp,pp_f,s,mu,mu_f;
varexo eps_mu,eps_muf;
parameters sigma,zeta, n, sigmas,epsilon,bbeta,theta,theta_f,eta,rho_mu,rho_muf,kappa,kappa_f,ggamma,lambda,lambda_f,yb,yb_f,sb;

theta=2;
sigma=1;
zeta=0.67;
n=0.5;
epsilon=7.66;
bbeta=0.99;
theta_f=0.75;
eta=2;
lambda=0.75;
lambda_f=0.75;
rho_mu=0.9;
rho_muf=0.9;
kappa=((1-thetabbeta)(1-theta))/(theta*(1+epsilonzeta));
kappa_f=((1-theta_f
bbeta)(1-theta_f))/(theta_f(1+epsilonzeta));
ggamma=(lambda+lambda_f)
(2-lambda-lambda_f)sigmaeta+(1-lambda-lambda_f)^2;
sigmas=((sigmaeta-1)/sigma)(2-lambda-lambda_f)ggamma;
//omega=(((lambda+lambda_f)
(2-lambda-lambda_f)(sigmaeta-1)(sigma+zeta))/omega)kappa;
sb=0;
yb=((lambda+lambda_f)
(2-lambda-lambda_f)sigmaeta+(1-lambda-lambda_f)^2)/sigma;
yb_f=((lambda+lambda_f)
(2-lambda-lambda_f)sigmaeta+(1-lambda-lambda_f)^2)/sigma;

///////////////////////////////////////////////////////////////////////////
//SPECIFICATION OF THE MODEL

model(linear);
pp=bbetapp(+1)+(sigma+zeta)kappa(y-yb)-lambda(2-lambda-lambda_f)(sigmaeta-1)kappa(s-sb)+kappamu;
pp_f=bbeta
pp_f(+1)+(sigma+zeta)kappa_f(y_f-yb_f)+lambda_f*(2-lambda-lambda_f)(sigmaeta-1)kappa_f(s-sb)+kappa_fmu_f;//AGGREGATE SUPPLY
ggamma
s=sigma*(y-y_f);
s-s(-1)=pp_f-pp;
0=(n*(y-yb)+(1-n)(y_f-yb_f))+epsilon(npp+(1-n)pp_f);
mu=rho_mu
mu(-1)+eps_mu;
mu_f=rho_muf
mu_f(-1)+eps_muf;
p=pp-pp_f;
ss=s-sb;
end;

initval;
mu=0;
mu_f=0;
y=yb;
y_f=yb_f;
pp_f=0;
pp=0;
s=0;
ss=0;
pp=0;
end;

check;

shocks;
var eps_mu=0.1;
var eps_muf=0.1;
end;

stoch_simul(nodisplay,irf=51);

for i = 1:2
set_param_value(‘theta’,theta(i));
stoch_simul(order=1);
end
[/code]
i also have the .m file by which I’ve created the parameterfile.mat

[code]theta=[1,2]

save parameterfile theta[/code]

Your mod-file is not handling parameter dependence correctly. Theta enters kappa, but kappa is hardcoded instead of a model-local variable. See e.g. github.com/JohannesPfeifer/DSGE_mod/blob/master/Gali_2015/Gali_2015_chapter_3.mod for a proper example.

thank, you, now the model seems to work. I should now add the welfare function using the command planner_objective_value. I had to vary the value of the parameters because the aim was to plot the value of the welfare losses as function ot that parameter theta.
1 I don’t know exactly how to store results for every repetion of the loop
2 the output of the command ‘planner_objective_value’, ‘‘Approximated value of planner objective function’’, what I think I,ve to plot, remains the same in every case. what’s wrong?
thank you