Error about the basic NK model like Iacoviello (2005)model


Dear all, I want to follow Iacoviello (2005)model in the paper(House Prices, Borrowing Constraints, and Monetary Policy in the Business Cycle). But the model has problem, so I decompose the model. In the basic model, there are households, entrepreneurs and monetary authorities.
X be the relative price of wholesale goods,so X is the gross markup of retail goods over wholesale goods. When there is no gross markup in the model, there is no problem. However , when thegross markup was added, there was a problem. I have checked the calculation of the steady state carefully. I’m sure there is no question. I can’t find the problem in the model,can anybody help me?
Without_relativeprice.mod (2.9 KB)

WithEntrepreneur.mod (3.2 KB)

Question about Iacoviello (2005) model method

Shouldn’t the Phillips Curve be

pi = beta1 * pi(+1) + (1 - theta)*(1 - beta1 * theta) * x / theta;

instead of

pi = beta1 * pi(+1) - (1 - theta)*(1 - beta1 * theta) * x / theta;

That is, if marginal costs increase, inflation increases


jpfeifer,thank you for your attention. However X be the relative price of wholesale goods not the marginal costs,so X is the gross markup of retail goods over wholesale goods in the model. You can also see my model in the appendix ‘model’.
And the formula in Iacoviello (2005) is the picture followed. So maybe this is not the problem.
Iacoviello (2005) House Prices, Borrowing Constraints and Monetary Policy in the.pdf (1.4 MB)
model.pdf (212.3 KB)


Did you cross-check your file with the one in the Macroeconomic Modelbase of Volker Wieland?


I’ve seen the US_IAC05 model in MMB. The expression of the phillips curve in US_IAC05 model is
I built my own model before, but there were problems in the running. So I simplify the model in order to find out the problem. I think the present model is the simplest form,however it still can not be run. The work cannot be continued, so I didn’t repeat Iacoviello (2005) model .
I am really troubled, and I have checked the model over and over again. The steady state value should be no problem after checked. I really can’t find other possible problems.


I see. The strange thing is that changing the sign as I indicated above makes the model run. So there must be something wrong with the way you introduce the X. Did you check that it appears in all required equations?


jpfeifer,in Iacoviello (2005) Entrepreneur sector where the X introduced is below
I compared Iacoviello (2005) model with my model , I didn’t find the difference. When I changed the sign X of Phillips Curve, it also worked. But it’s not the same as Iacoviello (2005) model,I really don’t know where is wrong.


In your code, I cannot see how the X affects the market clearing condition for goods. The higher the markup, the lower the effective amount of output (L7 in Iacoviello) that can be used for consumption and investment (L1).


jpfeifer,I’m sorry I don’t know how to deduce the formula (L7)
However, ‘The supply side side includes the production function (L7)(combined with labor market clearing)’ if I don’t think about the balance of the labor market,the formula (L7) should be simplified as production function. Formula (L7) really Is the problem?


Have a look at equation (2) of
You forgot the part in the denominator. More details can be found in e.g. Fernandez-Villaverde and Rubio-Ramirez (2006) “A Baseline DSGE Model”, Section 1.5. Aggregation.


jpfeifer,thanks. Now I know how to deduce the formula (L7), but it seems that it can’t solve the problem. I want to ask if you have any code that it can run, modeling like Iacoviello (2005) model, including ‘X the gross markup of retail goods over’. Any one is OK, maybe I can find out where the problem is by contrast.
I can’t find a running code, so please forgive me for such a request.


No. There is only the MMB code.


jpfeifer,I have a question when the production function needs to be written in the form of L(7) in Iacoviello (2005) model ?


This problem can not be solved, there is really no mind to do the following work. Can anyone help me?


I think you need to build the model up from scratch. Starting from linearized equations makes it impossible to find out where the problem comes from.


jpfeifer,ok,I’ll try it.


jpfeifer,I have experimented with different steady state calculation methods, almost I am sure that the problem is not steady state calculation. Are there any other possible questions? Letter conflict, my computer problem, Matlab’s problem, or dynare’s own problem?

Has no one ever encountered such a problem like me? I have a presumptuous request. Can you build a basic model following Iacoviello (2005) mode? It shouldn’t take you too long, maybe half an hour, or maybe shorter than answering my question.


jpfeifer,I have consulted many people about this problem. They can’t find the problem, either.
I have a presumptuous request. Can you build a basic model following Iacoviello (2005) mode like me? The simplest model is OK. Please!


Sorry, but I don’t have the time to build models for other people. I provide advice to the best of my knowledge, but this is not my main job.