Attached is simple Matlab/Octave code to estimate all parameters of a small DSGE model using the “simulated Bayesian indirect likelihood” estimator discussed in the Dynare working paper “Indirect Likelihood Inference" dynare.org/wp-repo/dynarewp008.pdf This code estimates a model with 2 shocks, preferences and technology, which is discussed in the revised version of the paper, which will be ready soon. The model is pretty clear from the .mod file. Many thanks to Johannes Pfeifer for help with Matlab compatibility, and also for some performance improving suggestions.
DSGE_SBIL_Simple.zip (9.92 KB)
Updated code for this estimator is available at github.com/mcreel/ABCDGSE
Results for estimation of the model described in the paper follow. pmean, psdev, etc., refer to the prior, without a p refers to the estimator.
[size=70] true mean pmean sdev. psdev bias pbias rmse prmse
alpha 0.33000 0.32340 0.30000 0.01385 0.05774 -0.00660 -0.03000 0.01533 0.06506
beta 0.99000 0.98891 0.97250 0.00335 0.01299 -0.00109 -0.01750 0.00352 0.02179
delta 0.02500 0.02394 0.05500 0.00321 0.02598 -0.00106 0.03000 0.00337 0.03969
gam 2.00000 2.02897 2.50000 0.16843 1.44338 0.02897 0.50000 0.17074 1.52753
rho1 0.90000 0.89794 0.49500 0.01492 0.28579 -0.00206 -0.40500 0.01505 0.49568
sigma1 0.02000 0.02154 0.05000 0.00362 0.02887 0.00154 0.03000 0.00393 0.04163
rho2 0.70000 0.72020 0.49500 0.08187 0.28579 0.02020 -0.20500 0.08424 0.35171
sigma2 0.01000 0.01082 0.05000 0.00283 0.02887 0.00082 0.04000 0.00294 0.04933
nss 0.33333 0.33537 0.31250 0.01071 0.03608 0.00203 -0.02083 0.01089 0.04167
[/size]
This code uses Octave, Dynare, Open MPI, and possibly Julia. It takes about 12 hours to generate the 500 Monte Carlo replications used in results given above.