Taylor Rule with inflation targeting varying in time


Hello everyone,
I read Professor Pfeifer’s guide on observational equations, but one point was not clear to me.

Considering an already log-linearized (model (linear) option), how should I transform the observed inflation series when working with a Taylor Rule that has the inflation target varying in time, for example, following an AR(1)?

And in the case of a nominal interest series with a downward trend? If I use the mean as a steady state proxy, then I will have the first part of the series indicating monetary tightening and the second half suggesting monetary easing. How to deal with it?

Thanks a lot.


If your model is loglinear, then your model variable is (presumably) the deviation of the quarterly log nominal interest rate from its steady state. Thus, in your data, you need to have the same object. If your inflation target and therefore the nominal interest rate contains AR(1)-dynamics, this does not affect the steady state as the process is stationary. Therefore, the data treatment is not affected.
The downward trend in the data is tricky. If you want your estimated process to capture this trend, you cannot use demeaned growth rates.


Dear Johannes, Thank you very much for your comments.

I am attaching my code and the data used in the model, which deals with data from Brazil.

All data are in quarterly terms and in natural logarithm multiplied by 100. In the excel file, with data between 1Q2000 and 3Q2018, note that the averages are not zero. The matching is done with the model through the measurement equations, but I consider steady state values as the average from 1Q2009, when the data seems more stable. In other words, I am telling the model that the sample mean values of the series do not constitute the steady state values, because the beginning of the sample had many noises.

Taylor Rule uses the deviation of average expected inflation 4 quarters ahead of the quarterly target 4 quarters ahead. I included the inflation target at Taylor, but not at the NKPC, following SW2003 or Del Negro et al. (2015).

My questions are:

  1. Is it correct to do this kind of matching between the data and the model, considering that the steady state values do not reflect the sample means?

  2. Since the Brazilian Central Bank uses an explicit annual inflation target, announced in advance, is it correct to use the target series as observable? I see in some papers that, while having an explicit inflation target, the authors estimate the target without using the actual information.

  3. Do I have to consider that the steady state of inflation is the same as the inflation target? It is as if we are saying to the model that, systematically, inflation is above the target.

  4. Already at the end of the estimation process, after Dynare presents the posteriors, I have the information of indetermination of the model by the conditions of BK. What could be the mistake?

Log data density is -199.768560.

prior mean post. mean 90% HPD interval prior pstdev

h 0.850 0.5483 0.4565 0.6370 beta 0.1000
omega 0.650 0.1073 0.0323 0.1761 beta 0.2000
theta 0.650 0.7884 0.7660 0.8189 beta 0.1000
sigma 1.300 1.2933 1.2067 1.3989 norm 0.1000
rho_i 0.600 0.8009 0.7619 0.8545 beta 0.1500
rho_z_i 0.500 0.3350 0.1888 0.4552 beta 0.2500
rho_z_y 0.500 0.9375 0.8865 0.9903 beta 0.2500
rho_z_p 0.500 0.9708 0.9507 0.9990 beta 0.2500
rho_pitarget 0.900 0.6785 0.5774 0.7629 beta 0.0500
xi_y 0.250 0.0867 0.0353 0.1255 gamm 0.1000
xi_p 2.000 2.5523 2.2460 2.9763 norm 0.3500

standard deviation of shocks
prior mean post. mean 90% HPD interval prior pstdev

e_y 0.100 0.0813 0.0542 0.1002 invg Inf
e_p 0.100 0.2844 0.2169 0.3308 invg Inf
e_i 0.100 0.2435 0.2175 0.2899 invg Inf
e_pitarget 0.100 0.0350 0.0315 0.0389 invg Inf
Estimation::mcmc: Posterior (dsge) IRFs…
Estimation::mcmc: Posterior IRFs, done!
Error using print_info (line 45)
Blanchard Kahn conditions are not satisfied: indeterminacy

Error in stoch_simul (line 100)
print_info(info, options_.noprint, options_);

Error in IT (line 325)
info = stoch_simul(var_list_);

Error in dynare (line 235)IT.mod (3.4 KB)
brdata.xls (33 KB)

evalin(‘base’,fname) ;

Thanks in advance.


Could you help me, please?


The last one is easy to answer. You need to set options_.qz_criterium = 1-1e-6; because this is the value used during estimation, while stoch_simul uses options_.qz_criterium = 1+1e-6; Your model has one estimated eigenvalue in that region, explaining the problem.

The other ones are tougher. In principle, you can tell the data that shocks caused a variable to always be above steady state. But that requires shocks to not be mean 0 and/or have pretty much permanent effects. That will typically result in some exogenous process to have a unit root or be very close to it. Thus, for very long samples, this would not be consistent with rational expectations where people (including the central bank) do not make systematic forecasting errors.


Thanks for your reply.