- In your case, you only need to read out the welfare. As you are not computing a consumption-equivalent, you do not need the function I write.
- Welfare is a stochastic property of the model, but you are reading out the steady state instead of the unconditional mean. The steady state will always be the same. You need to read out the respective element of
oo_.meanand for that cannot usenomoments. Also, you need to addwelfareto the variables afterstoch_simulto get its moments. - Are you sure your shock size is correct. It seems you multiply by 100 to have them in percentages. But at second order you cannot do that as the model solution is not certainty equivalent anymore. You will get wrong results. A 1 percent shock is 0.01, not 1.
Use
dynare welfare_TRY2.mod
rhogrid = 0.6:0.2:1.0;
% result_y = ones(length(rhogrid),1);
welfare_pos=strmatch('welfare',var_list_,'exact');
results_cell = zeros(length(rhogrid),1);
for i = 1:length(rhogrid)
set_param_value('rho',rhogrid(i))
info = stoch_simul(var_list_);
if info ==0
results_cell(i) = oo_.mean(welfare_pos);
else
fprintf('Here is an error!\n');
end
end
welfare_TRY2_steadystate.m (5.7 KB)
welfare_TRY2.mod (8.1 KB)
Run_welfare_TRY_outside2.m (677 Bytes)