Calvo versus Rotemberg Pricing

Dear all,

I am trying to setup a model that uses Rotemberg pricing instead of Calvo pricing. However, it seems as if the IRFs for the monetary policy shock are wrong because the nominal and the real rate go down, in response to a positive (contractionary) monetary policy shock… so I did something wrong, probably with the way I implemented Rotemberg pricing?

The IRFs I get look as follows
simpleNKrotemberg.pdf (54.4 KB)

Here are the mod files attached.

I basically replaced the Calvo block:

// 10: F1: Optimal price choice
exp(Pistar) = epsilon/(epsilon-1)exp(V2)/exp(V1);
// 11: F2: V1
exp(V1) = exp(Y)exp(Pi)^(epsilon-1)+betatheta
// 12: F3: V2
exp(V2) = (exp(Pi)^epsilon)exp(Y)/exp(Mu)+betatheta
// 13: Price Dynamics (with inflation indexation)
(exp(Pi))^(1-epsilon) = theta + (1-theta)
// 16: Price dispersion
exp(S) = (1-theta)exp(Pi)^(epsilon)(exp(Pistar))^(-epsilon)+thetaexp(Pi)^epsilonexp(S(-1));

with the rotemberg pricing equation

// 12: Rotemberg Pricing
nu*(exp(Pi)-1) = (1-epsilon) + epsilon*(1/exp(Mu))+nubeta((exp(C(+1))/exp©)^(-sigma))(exp(Y(+1))/exp(Y))(exp(Pi(+1))-1)*exp(Pi(+1));

simpleNKRotemberg.mod (2.92 KB)
simpleNKCalvo.mod (3.37 KB)

PS: For the technology sock the IRFs are alright, both pricing schemes deliver more or less similar IRFs (except for hours worked?)…
simpleNKrotembergtech.pdf (55 KB)

Hi. You have calibrated the the Rotemberg parameter (nu) to 1. I can’t see how this corresponds to the value theta (2/3) in the Calvo case. Try something around nu = 60 (or -60 in your case since it seems there is something odd with the signs in your model) and I think that the results should roughly match.

Hi, thanks for the reply. But every value for nu that is significantly above 1 will result in indeterminacy… :confused: Moreover, a negative value is really counterintuitive…


You are right. That is why I said you should probably check some signs in your model. Calvo and Rotemberg are equivalent up to the first order Taylor approximation and there is one-to-one mapping between theta and nu. Hence, if this is not the case then there is something wrong with the equations you wrote. Sometimes it is not easy to see what:)

Yep, thanks, I will go over everything again :slight_smile: