Problem estimation adjustment costs

Dear all,

Currently I am estimating a rather standard closed-economy New-Keynesian DSGE model. I deviate by including quadratic adjustment costs for household holdings of government bonds. The coefficient in front of these adjustment costs is pretty crucial for my paper for later use in a model version with financial frictions. When I do not estimate the coefficient in front of the quadratic adjustment costs my estimation nicely converges. However, when I ask Dynare to also estimate this coefficient, I can only estimate when the prior of the coefficient is set at very small values, as otherwise the BK-conditions are violated, and I can no longer estimate this parameter. When I set the prior at a small value, the mode cannot be found, however, and I can see from the mode-figures that dynare wants to move into the part of the parameter space with larger values for this coefficient (but where BK-conditions are violated).

I was wondering whether there is something wrong in my code, or whether this is a more structural problem. My guess is the last, as I have carefully followed the estimation instructions of professor Pfeifer’s estimation guide, but a mistake can ofcourse be in a small corner.

If it is indeed a structural feature of my model, for which there are also economic reasons, does anybody have an idea how I can adjust the model/estimation procedure such that I can estimate this parameter? It is pretty crucial for the rest of my paper that I have an estimated value for this parameter.

attached you find a zip-file with all the matlab files and the data.
NK_estimation_adjustment_costs.zip (30.5 KB)

I would be very grateful if anybody can help.

Do you have an intuition why your data prefers those values and why the BK conditions are not satisfied anymore? Is it about stability or indeterminacy?

I do not really understand why the data prefers those values because the deviation from the sample mean is at one point more than 10% (after having done one-sided HP-filter). Also, the volatility is quite large, so one would expect the coefficient to be small rather than large. So my intuition on the data seems to be counter to that which my estimation procedure tells me.

I think I understand why the BK-conditions are not satisfied: increasing the coefficient makes it more costly for households to adjust their bond holdings. At the same time, households are the only agents holding government bonds in this economy, and thus need to hold any amount of bonds that is supplied by the government in equilibrium. I can see that if the adjustment costs are too large that market clearing in the market for bonds might be a problem.

I have tried to remedy this by letting households choose between two ways of investing in government bonds. One way is where they are subject to adjustment costs as before, and the second way is where they have to pay a tax on the return on bonds. In that model version I can increase the coefficient to very large numbers, as the market for bonds can always be cleared by households purchasing bonds that are subject to the tax rather than the adjustment costs. I have also tried to estimate this model version, but then dynare reports the following:

Testing prior mean
Evaluating simulated moment uncertainty … please wait
Doing 171 replicas of length 300 periods.
Simulated moment uncertainty … done!

All parameters are identified in the model (rank of H).

All parameters are identified by J moments (rank of J)

==== Identification analysis completed ====

initial_estimation_checks:: The forecast error variance in the multivariate Kalman filter became singular.
initial_estimation_checks:: This is often a sign of stochastic singularity, but can also sometimes happen by chance
initial_estimation_checks:: for a particular combination of parameters and data realizations.
initial_estimation_checks:: If you think the latter is the case, you should try with different initial values for the estimated parameters.

ESTIMATION_CHECKS: There was an error in computing the likelihood for initial parameter values.
ESTIMATION_CHECKS: If this is not a problem with the setting of options (check the error message below),
ESTIMATION_CHECKS: you should try using the calibrated version of the model as starting values. To do
ESTIMATION_CHECKS: this, add an empty estimated_params_init-block with use_calibration option immediately before the estimation
ESTIMATION_CHECKS: command (and after the estimated_params-block so that it does not get overwritten):

Error using initial_estimation_checks (line 143)
initial_estimation_checks:: The forecast error variance in the multivariate Kalman filter became
singular.

I do not really understand why it has trouble estimating this version of the model.

Now that I am writing this response, I am suddenly thinking whether it would be an idea to introduce adjustment costs which increase with the percentage change in bond holdings relative to a benchmark growth rate, like the Christiano investment adjustment costs. That would allow households to move away from steady state bond holdings.