Using dummy variables in dynare

This is maybe a bit different topic from the others seen here but I hope someone will be willing to provide some support.

I find Dynare to be, among other things, a very powerfull econometric softwer and I tend to use it sometimes in that context. Hence, I was wondering what would be the way to go about
introducing a dummy variables (impulse and shift) in the model one would like to estimate? For example, I have set up a small model for estimating output and unemployment gaps exploiting the Okuns law and Phillips curve relationships (this is a rather standard approach). Then I have estimated it using a Bayesian approach. Everything seems fine.

However, now I would like to introduce an impulse dummy for the increase in VAT rate in the Phillips curve. What I have done is that I have defined another endogenous variable tax_dum, and in the model block I have tax_dum = e1, where e1 is just an exogenous shock with some small variance. Then I have declared tax_dum as a observable variable.

It works of course but does anybody have any opinion about the validity of this approach? And what would be the way to go if one would like to introduce a shift dummy variable in the model (deterministic structural break)? For example, if I want to have y(t) = c_1 + bx(t) for t <= t0 and y(t) = c_2 + bx(t) for t > t0. How would one set it up in Dynare?

Any help would be highly appreciated!

You have to think more about the intuition of what you are doing. In your present exercise, you assume that agents know in every period there can be a small shift in taxes. But suddenly a large shift happens that, according to the assumed shock volatility should never occur. In principle this is problematic. However, as you are using a first order approximation, variances will not matter for the decision rules due to certainty equivalence (agents act as if expected values of the variables would occur with certainty). Thus, unless you try to estimate the parameters of the tax process, you should be fine. The big problem is specifying this process. VAT increases are usually permanent, so you must use a unit root process, which introduces a whole bunch of econometric issue. Even a small variance can imply that your system moves very far away from the approximation point over time, introducing approximation errors. However, the latter depends on the setup. You might be able to detrend your model accordingly so that this is not an issue.

If you are going for perfect foresight, you can use the varexo_det command to specify the then fully anticipated VAT process.

[quote=“jpfeifer”]You have to think more about the intuition of what you are doing. In your present exercise, you assume that agents know in every period there can be a small shift in taxes. But suddenly a large shift happens that, according to the assumed shock volatility should never occur. In principle this is problematic. However, as you are using a first order approximation, variances will not matter for the decision rules due to certainty equivalence (agents act as if expected values of the variables would occur with certainty). Thus, unless you try to estimate the parameters of the tax process, you should be fine. The big problem is specifying this process. VAT increases are usually permanent, so you must use a unit root process, which introduces a whole bunch of econometric issue. Even a small variance can imply that your system moves very far away from the approximation point over time, introducing approximation errors. However, the latter depends on the setup. You might be able to detrend your model accordingly so that this is not an issue.

If you are going for perfect foresight, you can use the varexo_det command to specify the then fully anticipated VAT process.[/quote]

Dear Johannes,

Thank you for a quick answer. What you are saying was exactely my concern, and I was also thinking that certainty eqivalence introduced by first-order approximation would help here since higher moments drop out and the distribution assumptions do not matter. This is also why I did not try to model the tax rate, it is just a white noise process in my model. Thank you, I feel more confortable with what I am doing now.

Regarding the unit root, since I am modeling inflation this change in VAT will show up as an impulse dummy in my setting (of course, the price level would shift permanently). Thus, I don’t think it is a problem. However, that is why I asked how would one introduce a shift dummy variable (a structural break) in the model. There is a short discussion about that here: Structural break in Bayesian estimation and DYNARE syntaxis.

However, I don’t really grasp what Michel is saying there. It seems to me that he is suggesting to model a shift dummy as an AR process, but I don’t see how is how that is even possible. Of course, maybe I am missing something. Do you maybe have any opinion about this?

Thank you once again.

In Michel’s reply, there is a structural break in the whole process. The mixture of adding two separate processes works in that case. In your case, you are not interested in estimating two fully separate processes. Rather, you want to impose a one-time break.

I still don’t get the argument about the white noise tax process. In this case, agents expect the tax rate to revert back to the unconditional mean next period. This seems invalid. Rather, your setup looks like a unit root process where the data indicates the presence of only one shock.

In the inflation equation I have a change in the tax rate, not the level. Accordingly, tax_dum is a variable …0 0 0 1 0 0 0…] corresponding to d(tax_rate) which has only one change in the sample. Hence, I assume tax_dum = e. I apologise, I was not clear enough.

Fair enough. This looks Ok to me.