update to ramsey_policy

time-shift
Michel Juillard 2011-07-24 20:52:28 +02:00
parent f5e453343f
commit 2de9113889
2 changed files with 16 additions and 6 deletions

View File

@ -128,7 +128,8 @@ if options_.ramsey_policy
[junk,junk,multbar] = dyn_ramsey_static_(oo_.steady_state(k_inst),M_,options_,oo_,it_);
oo_.steady_state = [x(1:M_.orig_endo_nbr); multbar];
else
xx = oo_.steady_state([1:M_.orig_endo_nbr (M_.orig_endo_nbr+M_.orig_eq_nbr+1):end]);
% xx = oo_.steady_state([1:M_.orig_endo_nbr (M_.orig_endo_nbr+M_.orig_eq_nbr+1):end]);
xx = oo_.steady_state(1:M_.orig_endo_nbr);
[xx,info1] = dynare_solve('dyn_ramsey_static_', ...
xx,0,M_,options_,oo_,it_);
[junk,junk,multbar] = dyn_ramsey_static_(xx,M_,options_,oo_,it_);

View File

@ -77,22 +77,31 @@ if options_.steadystate_flag
end
else
x = [x(1:orig_endo_nbr); zeros(orig_eq_nbr,1); x(orig_endo_nbr+1:end)];
xx = zeros(endo_nbr,1);
xx(1:orig_endo_nbr) = x;
xx = feval([M_.fname '_set_auxiliary_variables'],xx,...
[oo.exo_steady_state,...
oo.exo_det_steady_state],...
M_.params);
% x = [x(1:orig_endo_nbr); zeros(orig_eq_nbr,1); x(orig_endo_nbr+1:end)];
end
% value and Jacobian of objective function
ex = zeros(1,M.exo_nbr);
[U,Uy,Uyy] = feval([fname '_objective_static'],x(i_endo),ex, M_.params);
[U,Uy,Uyy] = feval([fname '_objective_static'],xx,ex, M_.params);
Uy = Uy';
Uyy = reshape(Uyy,endo_nbr,endo_nbr);
% set multipliers to 0 to compute residuals
it_ = 1;
[f,fJ] = feval([fname '_static'],x,[oo.exo_simul oo.exo_det_simul], ...
[f,fJ] = feval([fname '_static'],xx,[oo.exo_simul oo.exo_det_simul], ...
M_.params);
A = fJ(1:orig_endo_nbr,i_mult);
y = f(1:orig_endo_nbr);
aux_eq = [1:orig_endo_nbr orig_endo_nbr+orig_eq_nbr+1:size(fJ,1)];
A = fJ(aux_eq,orig_endo_nbr+1:end);
y = f(aux_eq);
mult = -A\y;
resids1 = y+A*mult;