AMEM: Basic New Keynesian Model Tomas Motl, Course for Masaryk University, Spring 2021 AMEM: Basic New Keynesian Model About New Keynesian Models Basics Why is 3ENKM popular? Drawbacks: Sources: The Model Some model-building principles Overview Derivation, log-linearization Conventions Output - IS Curve Inflation - Phillips Curve Monetary policy What is missing? Fixing the worst problem Habit in consumption: Inflation persistence: Typical parameter values IS curve Phillips curve Monetary policy rule Simultaneity Expectations Model solution Steady-state Expectations in the model Understanding the Model Model Code Language Impulse Response Functions About New Keynesian Models Basics One of the most common macroeconomic models today. Go-to model for business cycle modeling. Sits at the heart of most models used by central banks for monetary policy analysis and forecasting. We'll start with 3-equation New Keynesian model (3ENKM) Why is 3ENKM popular? Simple core consisting of three (four) equations that link basic macro variables: GDP, inflation, interest rates (+ exchange rate). Helps make sense of many stylized facts we observe in the economy, in general provides a good tool to understand business cycles. Introduces nominal rigidities and sticky prices, suitable for analysis of monetary policy and business cycle. Overwhelming empirical support for sticky prices. Other popular models (RBC, Solow, growth models) cannot replace 3ENKM. Monetary neutrality, monetary policy in the model has no impact Focus on modeling long-term trends, no focus on business cycle. Incorporates rational expectations. Can be derived from micro-foundations, not subject to Lucas critique (well, actually ...). Good description of demand shocks which matter for monetary policy. Large literature which extends the model in various directions. Drawbacks: Model doesn't say anything about long-term trends. Trends are often exogenous, or ignored completely. Theoretical, micro-founded version of the model imposes unrealistic restrictions on parameters. Theoretical 3ENKM has problems fitting data, requires various modifications to be relevant in practice. We treat 3ENKM as a path to QPM (small open economy model). Sources: The "Bible": https://books.google.cz/books/about/Monetary_Policy_Inflation_and _the_Busine.html?id=_1CUBgAAQBAJ&redir_esc=y Influential paper: https://www.aeaweb.org/articles?id=10.1257/jel.37.4.1661 Or just Google, it's full of slide decks and materials on the topic.   The Model Some model-building principles 1. Clarify the question. What problem do you want the model to solve? 2. Consider the relevant mechanisms. 3. Collect and examine the data. 4. Include only what is relevant. Keep the model tractable. Overview The basic model has three types of agents: 1. Households - work, save, own firms, buy consumption goods. Fixed labor supply. There is an infinite amount of identical households. 2. Firms - monopolistically competitive firms with limited (but non-negligible) market power. Subject to menu costs / price adjustment costs. Maximize profits given their limited market power. 3. Monetary authority: sets interest rates in line with their objective (usually inflation). Derivation, log-linearization Derivation of the basic equations can be done by specifying optimization problems, budget constraints, taking first-order conditions, etc. This requires considerable effort. Good to do that once, but not necessary or even useful to work with the model. When equations are derived, they are usually log-linearized (converted into logdeviations from steady-state). This also requires considerable effort and can be quite painful experience. For overview how log-linearization works, use Google. See e.g. here: h ttps://www.macroeconomics.tu-berlin.de/fileadmin/fg124/advanced-macro/2014/Log-Lin earization.pdf We will skip both these steps for the sake of brewity, efficiency, and my sanity. See Study materials for detailed derivation. Conventions The following conventions will apply in the document: Hat denotes gap variables, e.g. output gap Bar denotes trend variables, e.g. output trend All variables will be expressed in , for mathematical convenience Output - IS Curve Links household consumption (domestic demand, output gap) to interest rates: intertemporal decision, consumption now vs saving (consumption in future). Simplest form of the IS Curve: We usually assume shocks to follow normal distribution with zero mean: We add also equation linking output gap to the actual output and potential (trend) output : How do we model the trend though? We need equations that allow potential output to grow over time: Inflation - Phillips Curve Links demand (= output gap) to inflation We observe that in reality, some (most?) prices are sticky - firms are reluctant to change prices abruptly. Menu costs, costly decision making, uncertainty, ... We've come up with various fairy tales for modelers ways of modeling sticky prices: Calvo pricing: Only some share of firms are allowed to change prices each period. https://www.karlwhelan.com/MAMacro/nkpc-details.pdf Rottenberg pricing: Each firm can change prices each period, but it's costly to do so. http://skchugh.com/images/Chapter22.pdf Simplest form of the Phillips Curve: Monetary policy We can choose our own specification. Taylor rule is most commonly used, but unlike Taylor we use expected inflation, rather than actual inflation. For the moment, we'll cast the model in terms of real interest rate gap. We'll make the transition to more realistic structure later. What is missing? Almost everything. But this is the core. When we understand the core, we can easily expand it. Fixing the worst problem The biggest problem of the model: it's entirely forward-looking, there is no persistence. That's against the data. We fix that by expanding the model backstory. Habit in consumption: In reality, people tend to smooth consumption over time. In the model, we add habit in consumption: households do not care only about the current and future consumption, but also about the current consumption relative to past consumption - we get "used to" some level of consumption. IS curve changes to: Notice that we added coefficient in front of the output gap lead. While this coefficient should theoretically be equal to one, in practice that doesn't work well and we often set it to near-zero values. Inflation persistence: Inflation is empirically persistent. We add "modeling crutch" by assuming that default firm behavior is not to keep prices constant, but to increase prices by the same amount as the overall inflation in the previous period. Phillips curve changes to: Typical parameter values IS curve - close to zero; usually in [0; 0.2] - larger for less flexible economies with ineffective / non-credible central banks; usually in [0.4; 0.8] - larger for economies where the monetary policy is more effective; usually in [0.05; 0.2] Phillips curve - coefficients on the lag and lead should sum up to one (why?). We ensure this by rewriting the equation in the following form should be larger for more developed economies with credible central banks; usually in [0.25 0.8] depends on the economic structure; usually in [0.1 0.4] Monetary policy rule parameters represent policy preferences - there is no "ideal" value, and values can change abruptly note that these parameters will change when we introduce nominal interest rates. These values are provisional - usually in [0.5; 1] - usually in [0; 0.5], lower than Simultaneity Simultaneity: all three variables are determined by all three equations simultaneously. We cannot determine the value of variables sequentially. Example of the problem. Output gap depends on interest rate. Interest rate depends on output gap and expected inflation. Expected inflation depends on today's inflation, which depends on output gap. Values of all three variables have to be determined simultaneously. This is a difference compared to other models, e.g. Excel-based models. The model therefore needs to be analyzed as a whole, not by looking at individual equations, but by looking at the interactions of all the model equations. The suitable tool for such analysis are impulse-response functions. Expectations There are forward-looking variables in the model: . Before we can use the model (simulations, filtration, etc), we need to solve the model to get rid of these. Model solution Model solution has the following recursive solution form: where is a vector of endogenous variables, in our case is a vector of exogenous shocks A and B and matrices of fixed numbers Note that the model solution implies that all forward-looking variables are expressed in terms of lagged variables and shocks. To find model solution, we can employ several methods. See the following papers for more: https://ideas.repec.org/p/nbr/nberwo/21862.html http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.143.1003&rep=rep1&type=pdf We leave this job to software (Matlab + IRIS). Steady-state A dynamic system is in steady-state if the variables do not change in time unless there are shocks In the absence of shocks, the model does nothng more than converge to steady-state In our case: Can be quite complicated for non-linear models, we need to use numerical solvers. In case of non-stationary variables, we introduce Balanced Growth Path (BGP). Steadystate is defined by a single fixed point and (constant) growth rate. https://en.wikipedia.org/wiki/Balanced-growth_equilibrium VARIABLE MODEL CODE log output l_y Expectations in the model Expected future value of a variable is based on the information agents have at the time. Variable represents expectations about output gap in period , based on information available in time . Information in time consists of values of variables in the previous period ( ) and shocks in this period ( ). In some cases, the information can also include shocks which are expected to come in future periods (anticipated shocks). Because we cannot forecast shocks, the expectations are formed as follows: In time , we receive new information about shocks. Therefore if . Understanding the Model Understanding individual equations is not sufficient to understand the model. Interactions can be complex. We need to look at the model as a whole. Model Code Language We use the following notations: l_(variable) - 100*log of variable (necessary transformation) dl_(variable) - first difference, QoQ growth rate d4l_(variable) - fourth difference, YoY growth rate (variable)_gap, (variable)__tnd ss_(variable) - steady-state parameter c1_(variable) - parameter in equation for this variable shock_(variable) - shock to the equation for this variable List of variables: VARIABLE MODEL CODE log CPI l_cpi inflation dl_cpi real interest rate r Impulse Response Functions We put one shock in one period, observe reaction of variables. If you cannot explain IRFs, you don't understand the model. Technically: We assume you have Matlab, IRIS, and TeX working Go to study materials, zipfile "closed_model", download, unzip Open Matlab, start IRIS Open files "closed_model.model", "setparam.m", "run_toy_model_irf.m" Assignments for multiple parameterization: Groups 1-2: c1_l_y_gap, demand shock Groups 3-4: c1_dl_cpi, demand shock Group 5: c3_l_y_gap, demand shock