For Solving Dynamic Stochastic Optimization Problems Christopher Carroll 1 Kiichi Tokuoka 2 Weifeng Wu 3 1 Johns Hopkins University and NBER ccarroll@jhu.edu 2 International Monetary Fund ktokuoka@imf.org 3 Fannie Mae weifeng wu@fanniemae.com June 2012 http://econ.jhu.edu/people/ccarroll/papers/ctwmom/
The Basic Problem at Date t Normalization Sneak Preview [ T t ] max E t β n u(c t+n ), (1) n=0 y t = p t θ t (2) R t = R - constant interest factor = 1 + r p t+1 = Γ t+1 p t - permanent labor income dynamics(3) log θ t+n N ( σθ 2/2, σ2 θ ) - lognormal transitory shocks n > 0. Bewley problem if liquidity constraint, Γ t+1 nonstochastic Friedman/Buffer Stock problem if also permanent shocks
The Basic Problem at Date t Normalization Sneak Preview [ T t ] max E t β n u(c t+n ), (1) n=0 y t = p t θ t (2) R t = R - constant interest factor = 1 + r p t+1 = Γ t+1 p t - permanent labor income dynamics(3) log θ t+n N ( σθ 2/2, σ2 θ ) - lognormal transitory shocks n > 0. Bewley problem if liquidity constraint, Γ t+1 nonstochastic Friedman/Buffer Stock problem if also permanent shocks
Bellman Equation Normalization Sneak Preview v t (m t, p t ) = max c t u(c t ) + E t [βv t+1 (m t+1, p t+1 )] (4) m market resources (net worth plus current income) p permanent labor income where u(c) = ( ) c 1 ρ 1 ρ (5)
Normalize the Problem Normalization Sneak Preview v t (m t ) = max c t s.t. u(c t ) + E t [βγ 1 ρ t+1 v t+1(m t+1 )] (6) a t + θ t+1 a t = m t c t m t+1 = (R/Γ t+1 ) }{{} R t+1 where nonbold variables are bold ones normalized by p: c t (m) from which we can obtain m t = m t /p t (7) c t (m t, p t ) = c t (m t /p t )p t (8)
My First Notational Atrocity Normalization Sneak Preview... in this paper. so FOC is or v t (a t ) = E t [βγ 1 ρ t+1 v t+1(r t+1 a t + θ t+1 )] (9) u (c t ) = v t(m t c t ). (10) c ρ t = v t(a t ) (11)
My First Notational Atrocity Normalization Sneak Preview... in this paper. so FOC is or v t (a t ) = E t [βγ 1 ρ t+1 v t+1(r t+1 a t + θ t+1 )] (9) u (c t ) = v t(m t c t ). (10) c ρ t = v t(a t ) (11)
My First Notational Atrocity Normalization Sneak Preview... in this paper. so FOC is or v t (a t ) = E t [βγ 1 ρ t+1 v t+1(r t+1 a t + θ t+1 )] (9) u (c t ) = v t(m t c t ). (10) c ρ t = v t(a t ) (11)
Normalization Sneak Preview Concave Consumption Function, Target Wealth Ratio
Normalization Sneak Preview Define vector of end-of-period asset values a For each a[j] compute v t(a[j]) Each of these v t[j] corresponds to a unique c[j] via FOC: But the DBC says c[j] ρ = v t(a[j]) (12) c[j] = ( v t(a[j]) ) 1/ρ (13) a t = m t c t (14) m[j] = a[j] + c[j] (15) So computing v t at a vector of a values (easy) has produced for us the corresponding c and m values at virtually no cost! From these we can interpolate to construct `c t (m).
Normalization Sneak Preview Define vector of end-of-period asset values a For each a[j] compute v t(a[j]) Each of these v t[j] corresponds to a unique c[j] via FOC: But the DBC says c[j] ρ = v t(a[j]) (12) c[j] = ( v t(a[j]) ) 1/ρ (13) a t = m t c t (14) m[j] = a[j] + c[j] (15) So computing v t at a vector of a values (easy) has produced for us the corresponding c and m values at virtually no cost! From these we can interpolate to construct `c t (m).
Normalization Sneak Preview Define vector of end-of-period asset values a For each a[j] compute v t(a[j]) Each of these v t[j] corresponds to a unique c[j] via FOC: But the DBC says c[j] ρ = v t(a[j]) (12) c[j] = ( v t(a[j]) ) 1/ρ (13) a t = m t c t (14) m[j] = a[j] + c[j] (15) So computing v t at a vector of a values (easy) has produced for us the corresponding c and m values at virtually no cost! From these we can interpolate to construct `c t (m).
Normalization Sneak Preview Define vector of end-of-period asset values a For each a[j] compute v t(a[j]) Each of these v t[j] corresponds to a unique c[j] via FOC: But the DBC says c[j] ρ = v t(a[j]) (12) c[j] = ( v t(a[j]) ) 1/ρ (13) a t = m t c t (14) m[j] = a[j] + c[j] (15) So computing v t at a vector of a values (easy) has produced for us the corresponding c and m values at virtually no cost! From these we can interpolate to construct `c t (m).
Normalization Sneak Preview Define vector of end-of-period asset values a For each a[j] compute v t(a[j]) Each of these v t[j] corresponds to a unique c[j] via FOC: But the DBC says c[j] ρ = v t(a[j]) (12) c[j] = ( v t(a[j]) ) 1/ρ (13) a t = m t c t (14) m[j] = a[j] + c[j] (15) So computing v t at a vector of a values (easy) has produced for us the corresponding c and m values at virtually no cost! From these we can interpolate to construct `c t (m).
Normalization Sneak Preview Define vector of end-of-period asset values a For each a[j] compute v t(a[j]) Each of these v t[j] corresponds to a unique c[j] via FOC: But the DBC says c[j] ρ = v t(a[j]) (12) c[j] = ( v t(a[j]) ) 1/ρ (13) a t = m t c t (14) m[j] = a[j] + c[j] (15) So computing v t at a vector of a values (easy) has produced for us the corresponding c and m values at virtually no cost! From these we can interpolate to construct `c t (m).
Normalization Sneak Preview Define vector of end-of-period asset values a For each a[j] compute v t(a[j]) Each of these v t[j] corresponds to a unique c[j] via FOC: But the DBC says c[j] ρ = v t(a[j]) (12) c[j] = ( v t(a[j]) ) 1/ρ (13) a t = m t c t (14) m[j] = a[j] + c[j] (15) So computing v t at a vector of a values (easy) has produced for us the corresponding c and m values at virtually no cost! From these we can interpolate to construct `c t (m).
Normalization Sneak Preview Define vector of end-of-period asset values a For each a[j] compute v t(a[j]) Each of these v t[j] corresponds to a unique c[j] via FOC: But the DBC says c[j] ρ = v t(a[j]) (12) c[j] = ( v t(a[j]) ) 1/ρ (13) a t = m t c t (14) m[j] = a[j] + c[j] (15) So computing v t at a vector of a values (easy) has produced for us the corresponding c and m values at virtually no cost! From these we can interpolate to construct `c t (m).
Normalization Sneak Preview Problem: Extrapolating Outside the Grid (6 Gridpoints) c T 1 c` T 1 0.3 0.2 0.1 0.0 0.1 0.2 5 10 15 20 25 30 Truth Approximation 0.3 Figure: Oops
Setup Inequalities Result Value Function Call the true problem that of a realist Contrasts with: Optimist : Believes θ t+n = =E t[θ t+n] {}}{ 1 n > 0, consumes c t Pessimist : Believes θ t+n = θ n > 0, consumes c t Useful because: 1 Both of these are perfect foresight problems Linear analytical solution (easy!) 2 c t < c t < c t
Setup Inequalities Result Value Function Call the true problem that of a realist Contrasts with: Optimist : Believes θ t+n = =E t[θ t+n] {}}{ 1 n > 0, consumes c t Pessimist : Believes θ t+n = θ n > 0, consumes c t Useful because: 1 Both of these are perfect foresight problems Linear analytical solution (easy!) 2 c t < c t < c t
Setup Inequalities Result Value Function Call the true problem that of a realist Contrasts with: Optimist : Believes θ t+n = =E t[θ t+n] {}}{ 1 n > 0, consumes c t Pessimist : Believes θ t+n = θ n > 0, consumes c t Useful because: 1 Both of these are perfect foresight problems Linear analytical solution (easy!) 2 c t < c t < c t
Setup Inequalities Result Value Function Call the true problem that of a realist Contrasts with: Optimist : Believes θ t+n = =E t[θ t+n] {}}{ 1 n > 0, consumes c t Pessimist : Believes θ t+n = θ n > 0, consumes c t Useful because: 1 Both of these are perfect foresight problems Linear analytical solution (easy!) 2 c t < c t < c t
Setup Inequalities Result Value Function Call the true problem that of a realist Contrasts with: Optimist : Believes θ t+n = =E t[θ t+n] {}}{ 1 n > 0, consumes c t Pessimist : Believes θ t+n = θ n > 0, consumes c t Useful because: 1 Both of these are perfect foresight problems Linear analytical solution (easy!) 2 c t < c t < c t
Setup Inequalities Result Value Function Call the true problem that of a realist Contrasts with: Optimist : Believes θ t+n = =E t[θ t+n] {}}{ 1 n > 0, consumes c t Pessimist : Believes θ t+n = θ n > 0, consumes c t Useful because: 1 Both of these are perfect foresight problems Linear analytical solution (easy!) 2 c t < c t < c t
Setup Inequalities Result Value Function Call the true problem that of a realist Contrasts with: Optimist : Believes θ t+n = =E t[θ t+n] {}}{ 1 n > 0, consumes c t Pessimist : Believes θ t+n = θ n > 0, consumes c t Useful because: 1 Both of these are perfect foresight problems Linear analytical solution (easy!) 2 c t < c t < c t
Illustration (6 Gridpoints) Setup Inequalities Result Value Function 5 4 c` 3 2 c m h Κ c m Κ 1
Setup Inequalities Result Value Function Problem: Extrapolating Outside the Grid c T 1 c` T 1 0.3 0.2 0.1 0.0 0.1 0.2 5 10 15 20 25 30 Truth Approximation 0.3
Solution (Same 6 Gridpoints!) Setup Inequalities Result Value Function c T 1 c` T 1 0.3 0.2 0.1 0.0 0.1 0.2 5 10 15 20 25 30 Truth Approximation 0.3
Setup Inequalities Result Value Function Definitions and Solutions for Perfect Foresight Problem κ t : MPC for perfect foresight problem in period t (16) h t : end-of-period-t human wealth for optimist (17) h t : end-of-period-t human wealth for pessimist (18) Pessimist s solution: c t (m) = (m + h t ) κ t }{{} (19) m Optimist s solution: c t (m) = (m + h t )κ t (20) = c t (m) + (h t h t ) }{{} h t κ t (21)
Setup Inequalities Result Value Function Definitions and Solutions for Perfect Foresight Problem κ t : MPC for perfect foresight problem in period t (16) h t : end-of-period-t human wealth for optimist (17) h t : end-of-period-t human wealth for pessimist (18) Pessimist s solution: c t (m) = (m + h t ) κ t }{{} (19) m Optimist s solution: c t (m) = (m + h t )κ t (20) = c t (m) + (h t h t ) }{{} h t κ t (21)
Setup Inequalities Result Value Function m t κ t < c t (m t + m t ) < ( m t + h t )κ t m t κ t > c t (m t + m t ) > ( m t + h t )κ t h t κ t > c t (m t + m t ) c t (m t + m t ) ) > 0 ( ct (m t + m t ) c t (m t + m t ) 1 > > 0 h t κ }{{ t } ˆ t Defining µ t = log m t (which can range from to ), the object in the middle of the last inequality is ) ( ct (m t + e µt ) c t (m t + e µt ) ˆ t (µ t ), (22) h t κ t and we now define ( ) 1 ˆ t (µ t ) ˆχ t (µ t ) = log (23) ˆ t (µ t ) Carroll, Tokuoka, = and Wu log (1/ˆ The Method (µ t ) of Moderation 1) (24)
Setup Inequalities Result Value Function Approximating Precautionary Saving =ˆ t { ( }} ) { 1 ĉ t = c t h t κ 1 + exp(ˆχ t ) t. (25) In the limit as µ approaches either or this gives the right answer.
Solving for the Value Function Setup Inequalities Result Value Function Given analytical object C T t PDV T t (c)/c t The perfect foresight value function is: which can be transformed as v t (m t ) = u(c t )C T t (26) Λt ((1 ρ)v t ) 1/(1 ρ) = c t (C T t ) 1/(1 ρ) In the limit as µ approaches either or this gives the right answer.
Setup Inequalities Result Value Function Approximate Inverted Value Function Same steps as for consumption function, because v t < v t < v t (27) Produce `v t (m) = u(`λt(m)) (28)
A Tighter Limit: c t (m) < min[ κ t m t, c t (m t )] 1.2 Κ 1.0 0.8 0.6 0.4 c Κ m h c c Κ m 0.2 m m T 1
The Tighter Upper Bound we want to construct a consumption function for m t (m t, m # t ] that respects the tighter upper bound: m t κ t < c t (m t + m t ) < κ t m t m t ( κ t κ t ) > κ t m t c t (m t + m ) t ) > 0 1 > > 0. ( κt m t c t(m t+ m t) m t( κ t κ t ) Again defining µ t = log m t, the object in the middle of the inequality is ˇ t (µ t ) κ t c t (m t + e µt )e µt κ t κ t.
Combining Old and New Functions 1 Lo (m) = 1 if m ˇm # t 1 Mid (m) = 1 if ˇm t # < m < ˆm t # 1 Hi (m) = 1 if ˆm t # m we can define a well-behaved approximating consumption function `c t = 1 Lo`č t + 1 Mid` c t + 1 Hi`ĉt. (29)
Extension To Case With Financial Risk Too log R t+n N (r + φ σ 2 r /2, σ 2 r ) n > 0 (30) Merton (1969) and Samuelson (1969): Without labor income, ( ) 1/ρ κ = 1 βe t [R 1 ρ t+1 ] (31) and in this case the previous analysis applies once we substitute this MPC for the one that characterizes the perfect foresight problem without rate-of-return risk.
How Useful Is It? When it works: Can approximate solution globally with very few gridpoints Can speed solution substantially When Might It Not Work? Consumption With Nonconvexities Problems With No Perfect Foresight Solution How Many Such Problems Have A Solution With Shocks? Should Work For Value Functions Fairly Generally
How Useful Is It? When it works: Can approximate solution globally with very few gridpoints Can speed solution substantially When Might It Not Work? Consumption With Nonconvexities Problems With No Perfect Foresight Solution How Many Such Problems Have A Solution With Shocks? Should Work For Value Functions Fairly Generally
How Useful Is It? When it works: Can approximate solution globally with very few gridpoints Can speed solution substantially When Might It Not Work? Consumption With Nonconvexities Problems With No Perfect Foresight Solution How Many Such Problems Have A Solution With Shocks? Should Work For Value Functions Fairly Generally
How Useful Is It? When it works: Can approximate solution globally with very few gridpoints Can speed solution substantially When Might It Not Work? Consumption With Nonconvexities Problems With No Perfect Foresight Solution How Many Such Problems Have A Solution With Shocks? Should Work For Value Functions Fairly Generally
How Useful Is It? When it works: Can approximate solution globally with very few gridpoints Can speed solution substantially When Might It Not Work? Consumption With Nonconvexities Problems With No Perfect Foresight Solution How Many Such Problems Have A Solution With Shocks? Should Work For Value Functions Fairly Generally
How Useful Is It? When it works: Can approximate solution globally with very few gridpoints Can speed solution substantially When Might It Not Work? Consumption With Nonconvexities Problems With No Perfect Foresight Solution How Many Such Problems Have A Solution With Shocks? Should Work For Value Functions Fairly Generally
How Useful Is It? When it works: Can approximate solution globally with very few gridpoints Can speed solution substantially When Might It Not Work? Consumption With Nonconvexities Problems With No Perfect Foresight Solution How Many Such Problems Have A Solution With Shocks? Should Work For Value Functions Fairly Generally
I Merton, Robert C. (1969): Lifetime Portfolio Selection under Uncertainty: The Continuous Time Case, Review of Economics and Statistics, 50, 247 257. Samuelson, Paul A. (1969): Lifetime Portfolio Selection by Dynamic Stochastic Programming, Review of Economics and Statistics, 51, 239 46.