Looping over DSGE-VAR options: dsge_prior_weight

Dear all,
I want to get Marginal Density from DSGE-VAR over differents values of dsge_prior_weight = [0.5:0.25:10],
Please could you give some advice to do this?

I found some examples about looping over parameters but I didn´t find something about looping over options like dsge_prior_weight.

Thanks

Cheers

Aldo

You would need something along the lines of

global oo_
n_grid_points=5;
param_grid=linspace(0.3,0.5,n_grid_points);
options_.bayesian_irf = 0;
options_.plot_priors=0;
options_.silent_optimizer=1;
data_density=NaN(n_grid_points,1);

for par_iter=1:n_grid_points
    set_param_value('dsge_prior_weight',param_grid(par_iter));
    oo_recursive_=dynare_estimation(var_list_); 
    data_density(par_iter)=oo_.MarginalDensity.LaplaceApproximation;
end

Thanks jpfeifer,
Now I am getting this message:

WARNING: When estimating a DSGE-Var, declaring dsge_prior_weight as a parameter is deprecated. The preferred method is to do this via the dsge_var option in the estimation statement.
ERROR: If dsge_prior_weight is declared as a parameter, it must either be initialized or placed in the estimated_params block.

How could I solve this problem?
I attach my .mod and data.

Thanks in advance

Aldo
ls.mod (6.12 KB)
newmfile_peru.m (5.82 KB)

The attached file should work with the unstable version
ls.mod (6.32 KB)

Thanks a lot dear jpfeifer.

Your work is very worthfull. Thanks.

Cheers

Aldo

Dear Sir,

Thanks you for the contribution. Can you please clarify how we can specify the value for the dsge_prior_weight, as such that it can range from 0 to infinity as mentioned in MARCO DEL NEGRO AND FRANK SCHORFHEIDE, 2006, paper, so that we can ge the liklehood function based on hyperparamter with 0-infinity values.

Thanks.

What exactly are you trying to achieve here?

Dear sir,
For different values of lambda ranging 0 to infinity, I want to get the corresponding marginal liklehood values, so that I can plot the Marginal liklehhood function against the values of hyperparamter which ranges from 0 to infinity after scaling as mentioned in the paper discussed above.

The code below don’t consider the range of hyperpamter from its minimum value to infinity.
n_grid_points=5;
param_grid=linspace(0.3,0.5,n_grid_points);
options_.bayesian_irf = 0;
options_.plot_priors=0;
options_.silent_optimizer=1;
data_density=NaN(n_grid_points,1);

Thanks

You need to adjust the grid to your liking, e.g.

n_grid_points=50;
param_grid=linspace(0,15,n_grid_points);

Thank you sir.