Dear Mr Pfeifer,
I use a model with a production function that contains capital, labor and intermediate input. When I shut down parameter related to intermediate input (phic=0.0001) the model works. When I put phi=0.62 (with intermediate input) I get this error message. I verified the timing but I think all is ok. Is there anything to do?
Error using print_info (line 42)
Blanchard Kahn conditions are not satisfied: no stable equilibrium
Error in stoch_simul (line 98)
print_info(info, options_.noprint, options_);
Error in model_furlanetto_changed (line 492)
info = stoch_simul(var_list_);
Error in dynare (line 180)
evalin(‘base’,fname) ;
Also, when I put model_diagnostics(M_,options_,oo_) after running the model, I have no message, what does this means? Is my problem related to the structure of the model?
That means model_diagnostics did not find anything suspicious.
Given that your model works for still considerable values for phic like 0.3, I would guess there is an economic mechanism at work that prevents a stable solution for high value of phic.
Thank you a lot Mr pfeifer! I took this model from a paper, change it, and use his posteriors values to run the model. Now I want to estimate it, I don’t have a good idea about estimation, but I want to know If the previous problem (high value of phic ) will cause me other problems while doing estimation?
(In litterature, The parameter phic is the product of the steady-state price markup and the averaged ratios of material costs over sales which is 0.51 according to
the dataset assembled by the NBER and the U.S. Census Bureau’s Center for Economic Studies)
That is hard to judge. It could happen that your estimation will end up straight at the border of the stability region (which per se is not a problem). You should try to understand what gives rise to the instability at parameter values that, given your answer, seem rather plausible.
I have a question about estimation (bayesian), I looked at the example fs2000.mod. The difference between an estimated and a calibrated model is to add this part:
estimated_params;
alp, beta_pdf, 0.356, 0.02;
bet, beta_pdf, 0.993, 0.002;
gam, normal_pdf, 0.0085, 0.003;
Now I want to know why we have to give values to parameters before the estimation block , and these values are taken from literature (calibration)? (I’m talking about this part in the fs2000.mod example)
alp = 0.33;
bet = 0.99;
gam = 0.003;
I replicated an estimated model of Groshenny (2013) and I have used the prior presented in this paper to give values to parameters ( the calibrated version works). Now If I want to estimate it, I have to keep the same simulated model and just add the estimation block or change parameters declared before with calibrated values taken from literature and not (prior values)?
That depends. All parameters that are not estimated are fixed/“calibrated”. Whether you can just keep them at a given value depends on the calibration strategy. Sometimes people set e.g. the discount factor to match a particular interest rate in the data, but estimate the mean growth rate. In this case, as the interest rate depends on both the growth rate and the discount factor, you would need to adjust the discount factor for every estimated value of the mean growth rate to still match the calibration target. This can e.g. be done in a steady state file. You can see an example for this at github.com/JohannesPfeifer/DSGE_mod/blob/master/RBC_news_shock_model/RBC_news_shock_model.mod
I tried to replicate this paper, in the empirical method the author says : We use the random walk Metropolis-Hasting algorithm to generate 250,000 draws from the
posterior distribution. The algorithm is tuned to achieve an acceptance ratio between 25 and 30 percent. We discard the
rst 125,000 draws.
Is that correspond to what I put in the following line about estimation option? or I have to put mh_replic=250000?
estimation(order=1,datafile=data_furlanetto, mh_jscale=0.2,mh_drop=0.5, mode_compute=0,mode_file=test_estimation_furlanetto_mode,mh_replic=20000,conf_sig=.95);
I want to compare the estimation result I found with what it was reported in the paper (page37 .table3). First, I can’t find the posterior 5% intervals in my results.
Second, I found that the posterior median corrresponds to post.mean and both are not what I see in the paper. Note that to caculate the steady state I set estimated parameters equal to their prior. Is that a problem?
ESTIMATION RESULTS
Log data density is 3547.192747.
posterior_moments: There are not enough draws computes to compute HPD Intervals. Skipping their computation.
posterior_moments: There are not enough draws computes to compute deciles. Skipping their computation.
parameters
prior mean post. mean 90% HPD interval prior pstdev
when running the calibrated version of the model I found that output decreases following a positive technological shock and in my knowledge, it have to increase. I’m sure that there is no error in equations because for other shocks I have got the good impulse response. It’s related to the values that I assigned to parameters in initval?
They are stored in the HPDIsup and HPDIinf fields (see the manual). What do you mean with
Note that to caculate the steady state I set estimated parameters equal to their prior?
If there are calibration targets, you need to make sure they are satisfied for every parameter draw. When looking at your results, the HPDIs are very narraw. You should check convergence.
3. That is hard to tell. You should check all equations again. What do you mean with
? The initval-block only takes variables not parameters.
I update my file with parameters values taken from the publisehed version. The model cannot turn to do estimation, and my impulse response with the calibration version seems not plausible . The error message I got is : Error in computing likelihood for initial parameter values. I know my problem is connected to // estimated parameters initialisation part in code. For each parameter I give value that I found in prior , for example in the paper the habit in consumption Beta (0.7,0.1), so in // estimated parameters initialisation block I set h=0.7… Is that right?