I am currently working on estimating the Gerler and Karadi (2011) paper entitled “A Model of Unconventional Monetary policy”, I have trouble while specifying the observation equations of the model. Could you please help me confirming whether the following observation equations are correctly written or not?
infl_obs = infl;
y_obs = Y - Y(-1);
i_obs = i ;
I_obs = I - I(-1);
I was trying to follow your guide for observation equations while applying the necessary transformation of the observable variables, but I am still confused. I am using quarterly data series and I did the following transformations:
Firstly, I seasonally adjust: the log of RGDP, log of real investment, log of cpi and the annualized interest rate. I took log difference (×100) of RGDPè100*[LN(RGDP_t)- LN(RGDP_t-1)]—Or should I use one-sided hp filter on the seasonally adjusted log RGDP? Knowing that the mean of both RGDP series after transformation is not zero— and did the same for real investment and cpi, and I used interest rate after dividing it by 4 to have quarterly interest rate (in line with the other quarterly growth rates).
Attached is the GK mod file. The model is not working yet (inappropriate initial values, etc.…) but I just want to make sure that the observation equation and data variables are correctly specified and consistent with the structure of the model equation.
Thank you very much in advance for your help.DSGE.mod (5.9 KB)
I would recommend to solve for the steady state analytically and use a steady_state_model block.
All your model concepts that are matched with the data seem to have a zero steady state, except for the interest rate i. Therefore, demeaning the growth rates of real GDP, Investment and demeaning the inflation rate would be required.
I agree with @Max1 that you need to demean your growth rates for them to be consistent with the model. You should never filter growth rates (unless you were doing indirect inference where it might work).
Regarding inflation and the interest rate, you did not specify if you are correctly dealing with the net/gross rate issues. Without the data file it is impossible to tell.
I agree with @jpfeifer .
Since the interest and inflation rates are net rates (\approx log levels of gross rates) in the model, you should work with net rates in the data file as well.
Another issue is the scaling by 100. When specifying the prior for the standard deviations of the shocks you should take this into account.
Relative to the specification of the SW(2007) prior your prior for the standard deviations looks somewhat extreme
@Max1 Thanks you very much for your helpful comments and timely response.
@jpfeifer thanks a lot Professor Pfeifer for your prompt reply, I forgot to attach the data file. As mentioned by @Max1 inflation in the data file is computed as net rate in percent (i.e., log difference of CPI, 100*[LN(CPI_t)- LN(CPI_t-1)]) but I am a little bit confused about interest rate, I took the annual percentage rate (not the change or first difference) and divide it by 4 in the data file or should I use the interest rate in the data as the annual rate and I specify the observation equation as follows:
i_obs = i_obs/4?
@Max1 If I understand your point concerning the scaling of the standard deviations of the shocks, I should adjust the initial values for the shocks to be consistent with the priors used?DataEst.xlsx (13.8 KB)
This is an infeasible equation for Dynare.
In the literature most people transform the interest rate in the data to quarterly rates (by /4) as you did.
Alternatively, if your interest rate in the model is a quarterly rate and you would like to have annualized interest rates in your data file
i_obs = i*4;
might be feasible.
You should think carefully about your priors. Currently, your prior is assuming that a typical shock to the economy is about 20% annualized with an annualized standard deviation of 400%.
@Max1 Thanks you very much for your help. I tried demeaning all the observable variables (including interest rate) and I adjusted the prior of standard deviation shocks, and finally the model works. I would highly appreciate if you may kindly help me understanding how I can use a steady_state_model block.
Thanks again for your help.