When Inequality Matters for Macro and Macro Matters for Inequality SeHyoun Ahn Princeton Benjamin Moll Princeton Greg Kaplan Chicago Tom Winberry Chicago Christian Wolf Princeton STLAR Conference, 21 April 2017 1
Motivation Last 30 years: a lot of progress developing macro models with rich heterogeneity in income, wealth, consumption in micro data Promising tool for macroeconomics implications for policies differ: inequality matters for macro distributional implications: macro matters for inequality 2
Motivation Last 30 years: a lot of progress developing macro models with rich heterogeneity in income, wealth, consumption in micro data Promising tool for macroeconomics implications for policies differ: inequality matters for macro distributional implications: macro matters for inequality Not yet part of policymakers toolbox. Two excuses: 1. computational difficulties because distribution endogenous 2. perception that aggregate dynamics similar to rep agent 2
Motivation Last 30 years: a lot of progress developing macro models with rich heterogeneity in income, wealth, consumption in micro data Promising tool for macroeconomics implications for policies differ: inequality matters for macro distributional implications: macro matters for inequality Not yet part of policymakers toolbox. Two excuses: 1. computational difficulties because distribution endogenous 2. perception that aggregate dynamics similar to rep agent Our paper: these excuses less valid than you thought 2
These excuses are less valid than you thought 1. Efficient and easy-to-use computational method open source Matlab toolbox online now extension of linearization (Campbell 1998, Reiter 2009) different slopes at each point in state space exploit advantages of continuous time (Achdou et al. 2015) 2. Use methodology to illustrate interaction of macro + inequality match micro behavior realistic aggregate C + Y dynamics aggregate shocks generate inequality dynamics...... and IRFs in HA model can differ dramatically from RA case 3
Outline 1. Explain methods in one-asset (Krusell-Smith) model model description linearization dimensionality reduction illustrative results 2. Two applications to illustrate macro + inequality interactions richer two-asset (Kaplan-Moll-Violante) model 4
One-Asset Heterogeneous Agent Model with Aggregate Shocks (Krusell-Smith) 5
Households max {c jt } t 0 E 0 0 e ρt u(c jt )dt such that ȧ jt = w t z jt + r t a jt c jt z jt {z l, z h } Poisson with intensities λ l, λ h a jt 0 c jt : consumption u: utility function, u > 0, u < 0. ρ: discount rate r t : interest rate 6
Production Aggregate production function Y t = e Zt K α t N 1 α t Perfect competition in factor markets with dz t = νz t + σdw t w t = (1 α) Y t N t, r t = α Y t K t δ Market clearing K t = N t = ag t (a, z)dadz, zg t (a, z)dadz 1 7
Warm-Up: Stationary Eq without Aggregate Shocks This slide only: turn off aggregate shocks Z t 0 ρv(a, z) = max u(c) + a v(a, z)(wz + ra c) c + λ z (v(a, z ) v(a, z)) (HJB SS) 0 = a [s(a, z)g(a, z)] λ z g(a, z) + λ z g(a, z ) (KF SS) w = (1 α)k α, r = αk α 1 δ, K = ag(a, z)dadz (PRICE SS) 8
Equilibrium with Aggregate Shocks Aggregate state: (g t, Z t ) absorb into time subscript t Recursive notation w.r.t. individual states only E t is expectation w.r.t. aggregate states only fully recursive 9
Equilibrium with Aggregate Shocks Aggregate state: (g t, Z t ) absorb into time subscript t Recursive notation w.r.t. individual states only E t is expectation w.r.t. aggregate states only fully recursive ρv t (a, z) = max c u(c) + a v t (a, z)(w t z + r t a c) + λ z (v t (a, z ) v t (a, z)) + 1 dt E t [dv t (a, z)], t g t (a, z) = a [s t (a, z)g t (a, z)] λ z g t (a, z) + λ z g t (a, z ), (HJB) (KF) w t = (1 α)e Zt Kt α, K t = ag t (a, z)dadz r t = αe Zt K α 1 t δ (P) dz t = νz t dt + σdw t 9
Linearization 10
Extension of standard linearization 1. Compute non-linear approximation to non-stochastic steady state 2. Compute first-order Taylor expansion around steady state 3. Solve linear stochastic differential equation 11
Warm Up: Linearizing a Representative Agent Model Optimality conditions in RBC model dc t E t dk t = f (C t, K t, Z t )dt, f : R 3 R 3 dz t C t = consumption K t = capital Z t = productivity f 1 = Euler equation f 2 = resource constraint f 3 = productivity process 12
Warm Up: Linearizing a Representative Agent Model Optimality conditions in RBC model dc t E t dk t = f (C t, K t, Z t )dt, f : R 3 R 3 dz t C t = consumption = control variable K t = capital = endogenous state variable Z t = productivity = exogenous state variable f 1 = Euler equation f 2 = resource constraint f 3 = productivity process 12
Warm Up: Linearizing a Representative Agent Model 1. Compute non-stochastic steady state (C, K, Z = 0): by hand 13
Warm Up: Linearizing a Representative Agent Model 1. Compute non-stochastic steady state (C, K, Z = 0): by hand 2. Compute first-order Taylor expansion of f (C t, K t, Z t ) dc t E t dk t = f (C t, K t, Z t )dt dz t 13
Warm Up: Linearizing a Representative Agent Model 1. Compute non-stochastic steady state (C, K, Z = 0): by hand 2. Compute first-order Taylor expansion of f (C t, K t, Z t ) dĉt B CC B CK B ΛZ Ĉ t E t d t = B KC B KK B KZ K t dt dẑt } 0 0 {{ B ZZ } Ẑ t B 13
Warm Up: Linearizing a Representative Agent Model 1. Compute non-stochastic steady state (C, K, Z = 0): by hand 2. Compute first-order Taylor expansion of f (C t, K t, Z t ) dĉt B CC B CK B ΛZ Ĉ t E t d t = B KC B KK B KZ K t dt dẑt } 0 0 {{ B ZZ } Ẑ t B 3. Diagonalize matrix B, hope same number of stable eigenvalues as state variables (2 in this model) Set control variables to unstable eigenvectors policy function Ĉ t = D K Kt + D Z Ẑ t 13
Main Event: Linearizing a Heterogeneous Agent Model 1. Computenon-linearapprox. of non-stochasticsteadystate 2. Compute first-order Taylor expansion around steady state 3. Solve linear stochastic differential equation 14
Main Event: Linearizing a Heterogeneous Agent Model 1. Computenon-linearapprox. of non-stochasticsteadystate Finite difference method from Achdou et al. (2015) Steady state reduces to sparse matrix equations Borrowing constraint absorbed into boundary conditions 2. Compute first-order Taylor expansion around steady state 3. Solve linear stochastic differential equation 14
Step 1: Compute non-stochastic steady state ρv(a, z) = max u(c) + a v(a, z)(wz + ra c) c + λ z (v(a, z ) v(a, z)) (HJB SS) 0 = a [s(a, z)g(a, z)] λ z g(a, z) + λ z g(a, z ) (KF SS) w = (1 α)k α, r = αk α 1 δ, K = ag(a, z)dadz (PRICE SS) 15
Step 1: Compute non-stochastic steady state ρv i,j =u(c i,j ) + a v i,j (wz j + ra i c i,j ) + λ j (v i, j v i,j ), with c i,j = u 1 ( a v i,j ) (HJB SS) 0 = a [s(a, z)g(a, z)] λ z g(a, z) + λ z g(a, z ) (KF SS) w = (1 α)k α, r = αk α 1 δ, K = ag(a, z)dadz (PRICE SS) 15
Step 1: Compute non-stochastic steady state ρv =u (v) + A (v; p) v (HJB SS) 0 = a [s(a, z)g(a, z)] λ z g(a, z) + λ z g(a, z ) (KF SS) w = (1 α)k α, r = αk α 1 δ, K = ag(a, z)dadz (PRICE SS) 15
Visualization of A (output of spy(a) in Matlab) 0 10 20 30 40 50 60 0 10 20 30 40 50 60 nz = 177 16
Step 1: Compute non-stochastic steady state ρv =u (v) + A (v; p) v (HJB SS) 0 = a [s(a, z)g(a, z)] λ z g(a, z) + λ z g(a, z ) (KF SS) w = (1 α)k α, r = αk α 1 δ, K = ag(a, z)dadz (PRICE SS) 17
Step 1: Compute non-stochastic steady state ρv =u (v) + A (v; p) v (HJB SS) 0 =A (v; p) T g (KF SS) w = (1 α)k α, r = αk α 1 δ, K = ag(a, z)dadz (PRICE SS) 17
Step 1: Compute non-stochastic steady state ρv =u (v) + A (v; p) v (HJB SS) 0 =A (v; p) T g (KF SS) p =F (g) (PRICE SS) More generals models: (PRICE SS) becomes 0 = F (g, p) 17
Linearization: three steps 1. Compute non-linear approximation to non-stochastic steady state Finite difference method from Achdou et al. (2015) Steady state reduces to sparse matrix equations Borrowing constraint absorbed into boundary conditions 2. Compute first-ordertaylorexpansion aroundsteadystate 3. Solve linear stochastic differential equation 18
Linearization: three steps 1. Compute non-linear approximation to non-stochastic steady state Finite difference method from Achdou et al. (2015) Steady state reduces to sparse matrix equations Borrowing constraint absorbed into boundary conditions 2. Compute first-ordertaylorexpansion aroundsteadystate Automatic differentiation: exact numerical derivatives Efficient Matlab implementation for sparse systems Different slopes at each point in state space 3. Solve linear stochastic differential equation 18
Step 2: Linearize discretized system Discretized system with aggregate shocks ρv t = u (v t ) + A (v t ;p t ) v t + 1 dt E t[dv t ] dg t dt = A (v t;p t ) T g t p t = F (g t ; Z t ) dz t = νz t dt + σdw t 19
Step 2: Linearize discretized system Discretized system with aggregate shocks ρv t = u (v t ) + A (v t ;p t ) v t + 1 dt E t[dv t ] dg t dt = A (v t;p t ) T g t p t = F (g t ; Z t ) dz t = νz t dt + σdw t Write in general form dv t E t dg t 0 = f (v t, g t, p t, Z t )dt, dz t v t control g t p t = endog state prices Z t exog state 19
Step 2: Linearize discretized system Discretized system with aggregate shocks ρv t = u (v t ) + A (v t ;p t ) v t + 1 dt E t[dv t ] dg t dt = A (v t;p t ) T g t p t = F (g t ; Z t ) dz t = νz t dt + σdw t Linearize using automatic differentiation (code: @myad) d v t B vv 0 B vp 0 v t E t dĝ t 0 = B gv B gg B gp 0 ĝ t 0 B pg I B pz p t dt dz t } 0 0 0 {{ ν } Z t B 19
Linearization: three steps 1. Compute non-linear approximation to non-stochastic steady state Finite difference method from Achdou et al. (2015) Steady state reduces to sparse matrix equations Borrowing constraint absorbed into boundary conditions 2. Compute first-order Taylor expansion around steady state Automatic Differentiation: exact numerical derivatives Efficient Matlab implementation for sparse systems Different slopes at each point in state space 3. Solvelinearstochastic differentialequation 20
Linearization: three steps 1. Compute non-linear approximation to non-stochastic steady state Finite difference method from Achdou et al. (2015) Steady state reduces to sparse matrix equations Borrowing constraint absorbed into boundary conditions 2. Compute first-order Taylor expansion around steady state Automatic Differentiation: exact numerical derivatives Efficient Matlab implementation for sparse systems Different slopes at each point in state space 3. Solvelinearstochastic differentialequation Moderately-sized systems = standard methods OK Large systems = dimensionality reduction 20
Model-Free Reduction Method Key insight: only need distribution g t to forecast prices 1. Krusell & Smith: guess moments ex-ante, check accuracy ex-post 2. Our approach: computer chooses moments, guarantee accuracy Approximate N-dimensional distribution with k-dimensional basis g t γ 1t x 1 +... + γ kt x k how to choose the basis x 1,..., x k? State-space reduction tools from engineering literature (Reiter 2010) use observability criterion matching impulse responses adapt to problems with forward-looking decisions 21
Approximate Aggregation in Krusell & Smith Model 0.8 0.8 0.6 0.6 0.4 0.4 0.2 0.2 0 0 10 20 30 40 50 0 0 10 20 30 40 50 0.14 0.12 0.1 0.08 0.06 0.04 0.02 0 10 20 30 40 50 2.5 2 1.5 1 0.5 0-0.5 0 10 20 30 40 50 Comparison of full distribution vs. k = 1 approximation = recovers Krusell & Smith s approximate aggregation 22
Approximate Aggregation in Krusell & Smith Model 0.8 0.8 0.6 0.6 0.4 0.4 0.2 0.2 0 0 10 20 30 40 50 0 0 10 20 30 40 50 0.14 0.12 0.1 0.08 0.06 0.04 0.02 0 10 20 30 40 50 2.5 2 1.5 1 0.5 0-0.5 0 10 20 30 40 50 Large-scale models in applications require k = 300 = no approximate aggregation 22
Our Method Is Fast, Accurate in Krusell & Smith Model Ourmethodisfast w/oreduction w/reduction Steady State 0.082 sec 0.082 sec Linearize 0.021 sec 0.021 sec Reduction 0.007 sec Solve 0.14 sec 0.002 sec Total 0.243 sec 0.112 sec JEDC comparison project (2010): fastest alternative 7 minutes 22
Our Method Is Fast, Accurate in Krusell & Smith Model Ourmethodisfast w/oreduction w/reduction Steady State 0.082 sec 0.082 sec Linearize 0.021 sec 0.021 sec Reduction 0.007 sec Solve 0.14 sec 0.002 sec Total 0.243 sec 0.112 sec JEDC comparison project (2010): fastest alternative 7 minutes Ourmethodisaccurate Agg Shock σ 0.01% 0.1% 0.7% 1% 5% Den Haan Error 0.000% 0.002% 0.053% 0.135% 3.347% JEDC comparison project: most accurate alternative 0.16% 22
Applications 22
A Model of Distribution of Income, Wealth, and MPCs Households: two-asset incomplete markets (Kaplan-Moll-Violante) liquid asset illiquid assets subject to transaction cost Aggregate production function with growth rate shocks Market clearing: K t = illiquid assets Y t = Q t K α t N 1 α t d log Q t = Z t dt B = liquid assets (fixed supply) dz t = ηz t dt + σdw t 23
Application 1: Inequality Matters for C + Y Dynamics Campbell-Mankiw (1989): how match aggregate C + Y dynamics? Calibrate model to match 1. Household side: distribution of income, wealth, and MPCs 2. Firm side: dynamics of log Y t 0.6 0.5 0.4 0.3 0.2 0.1 0 400 300 30 20 200 10 0 100-10 -20 0 24
Application 1: Inequality Matters for C + Y Dynamics Campbell-Mankiw (1989): how match aggregate C + Y dynamics? Calibrate model to match 1. Household side: distribution of income, wealth, and MPCs 2. Firm side: dynamics of log Y t Data Models Rep agent Two-Asset CM SensitivitytoIncome IV( log C t on log Y t 0.503 0.247 0.656 using log Y t 1 ) Smoothness σ( log C t ) σ( log Y t ) 0.518 0.709 0.514 24
Application 1: Inequality Matters for C + Y Dynamics Campbell-Mankiw (1989): how match aggregate C + Y dynamics? Calibrate model to match 1. Household side: distribution of income, wealth, and MPCs 2. Firm side: dynamics of log Y t Data Models Rep agent Two-Asset CM SensitivitytoIncome IV( log C t on log Y t 0.503 0.247 0.656 0.505 using log Y t 1 ) Smoothness σ( log C t ) σ( log Y t ) 0.518 0.709 0.514 0.676 24
Application 2: Agg Shocks Matter for Inequality With Cobb-Douglas prod n, labor income inequality exogenous labor income = w t z jt Modify production function to generate endogenous inequality Y t = [µ(zt U Nt U ) σ + (1 µ) ( λkt ρ + (1 λ)(ns t ) ρ) σ ] 1 σ ρ N U t : unskilled labor w/ low persistent productivity z jt N S t : skilled labor w/ high persistent productivity z jt Z U t : unskilled-specific productivity shock Calibrate σ and ρ to generate capital-skill complementarity 25
Unskilled-Specific Shock Increases Inequality... 0-0.1-0.2-0.3-0.4-0.5-0.6 1 2 3 4 5 6 7 8 9 10 0.04 0.03 0.02 0.01 0 1 2 3 4 5 6 7 8 9 10 Fluctuations in income inequality aggregate income 26
... And Generates Sharp Consumption Bust 0.02 0-0.02-0.04-0.06-0.08-0.1 1 2 3 4 5 6 7 8 9 10 Many low-skill households hand-to-mouth = larger consumption drop than in rep agent model 27
Macro With Inequality: No More Excuses! 1. Efficient and easy-to-use computational method open source Matlab toolbox online now 2. Use methodology to illustrate interaction of macro + inequality match micro behavior realistic aggregate C + Y dynamics aggregate shocks generate inequality dynamics...... and IRFs in HA model can differ dramatically from RA case Estimating models w/ micro data on distributions within reach Lots of cool applications: come talk to us! 28
Fully recursive notation Back w(g, Z) = (1 α)e Z K(g) α, r(g, Z) = αe Z K(g) α 1 δ (P) K(g) = ag(a, z)dadz (K) ρv (a, z, g, Z) = max c u(c) + a V (a, z, g, Z)(w(g, Z)z + r(g, Z)a c) + λ z (V (a, z, g, Z) V (a, z, g, Z)) + Z V (a, z, g, Z)( νz) + 1 2 ZZV (a, z, g, Z)σ 2 δv (a, z, g, Z) + (K Z g)(a, z)dadz δg(a, z) ( d HJB) (K Z g)(a, z) = a [s(a, z, g, Z)g(a, z)] λ z g(a, z) + λ z g(a, z ) (KF operator) s(a, z, g, Z) = w(g, Z)z + r(g, Z)a c (a, z, g, Z) δv/δg(a, z): functional derivative of V wrt g at point (a, z) 29