with this post I only want to share my insights I got from struggeling with bayesian estimation. To increase your estimation speed please alwayse use the #-operator. I write this, because in the dynare guide this issue is not so strong underlined as it, in my view, should be.
One short example:
Say you got an easy RBC model. In these typ of models you can in general calculate the steady state in closed form solution. Then your code should look like this:
var C N I W K RK Y PI;
Css Nss Iss Wss Kss RKss Yss PIss;
%NOW WRITE DOWN THE CLOSED FORM SOLUTION FOR THE STEADY STATES
Css = …]; %some function of the deep parameter
Nss = …];
PIss = 1;
%NOW THE IMPORTANT PART
#C_bar = …]; %the some function of the deep parameters as used above
#RK_bar = …];
#PI_bar = 1;
RK/RK_bar = (PI/PI_bar)^(gammaa);
C = Css;
Y = Yss;
PI = PIss;
The use of the #-operator increases estimation’s speed enormously. Why? Since Dynare is changing the parameter values during estimation (for example when trying to find the maximum of the liklihood function) in every step when changing the parameter value the steady state is obviously changing, too. But if you do not use the #-operator dynare does not change the steady state starting values and thus when the parameter values differ strongly from the calibrated values, dynare is far away from the solution and needs much time to find the steady states.
SO ALWAYS USE THE #-OPERATOR.
(The same obviously holds, when you solve your steady state with the help of an optimizer like fminsearch e.g.)
I hope I understand the #-operator right.
Perhaps, one of the dynare team members, can check my post?
I hope this helps you when estimating your models.