Unit root in NK model, how to fix?



It’s been mentioned a couple of times (e.g. link below) that most NK models have a unit root in the price level, does anyone know some solutions to fix this problem?





The NK model only has predictions for the changes in nominal variables (money, exchange rate, prices) and not the level. So the price level is not pinned down by the steady-state of the model. Hence after a transient shock, the price level will go to a new steady-state (depending on the inflation response) and will not return to the initial steady-state. This is not a ‘problem’ is it? What exactly do you want to do?


I’d like to use variances for welfare calculations but DYNARE can’t calculate them when there is a unit root. I’ve tried using empirical variances (i.e. periods = #) option but found that the results are unstable. Removing the unit root would help a lot!




Why dont you get rid of the price level in the code? and write down the model in terms of inflation which will be stationary?


That’s what we’ve done up til now but thank you! Is there no “standard” way of fixing this? For example, if we want to use nominal wage contracts. Presumably this problem must happen often as its a feature of NK models.


As @punnoosejacob correctly pointed out, only relative prices and inflation rates are uniquely determined. Nominal variables all have a unit root so that their unconditional second moments do not exist. The standard way is to express the whole model in terms of inflation rates.


You can just write down the wage phillips curve in terms of nominal wage inflation instead of the real wage.
or alternatively you can just create an auxilliary variable"
and then you can back the nominal wage level by cumulating the IRFS of NOMWAGEINFLATION.

And also welfare is a ‘real’ concept, why would you want the (non-existent) variances of the levels of nominal variables?



Thank you, we’ll do that. We don’t need the variances of the nominal variables but including the nominal variables meant dynare couldnt calculate theoretical variances for any variable. Dropping the nominal ones and then backing them out as you describe will work great.

Thanks a lot for your help,