Skip to content

Commit f08466e

Browse files
Tom's edits of consumption smoothing lecture, June 29
1 parent 5dfb6ed commit f08466e

File tree

1 file changed

+45
-20
lines changed

1 file changed

+45
-20
lines changed

lectures/cons_smooth.md

Lines changed: 45 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ It will take a while for a "present value" or asset price explicilty to appear i
2323

2424
In this lecture, we'll study a famous model of the "consumption function" that Milton Friedman {cite}`Friedman1956` and Robert Hall {cite}`Hall1978`) proposed to fit some empirical data patterns that the simple Keynesian model described in this quantecon lecture {doc}`geometric series <geom_series>` had missed.
2525

26-
The key insight of Friedman and Hall was that today's consumption ought not to depend just on today's income: it should also depend on a person's anticipations of her **future** incomes at various dates.
26+
The key insight of Friedman and Hall was that today's consumption ought not to depend just on today's non-financial income: it should also depend on a person's anticipations of her **future** non-financial incomes at various dates.
2727

2828
In this lecture, we'll study what is sometimes called the "consumption-smoothing model" using only linear algebra, in particular matrix multiplication and matrix inversion.
2929

@@ -39,16 +39,19 @@ from collections import namedtuple
3939

4040
+++ {"user_expressions": []}
4141

42-
Our model describes the behavior of a consumer who lives from time $t=0, 1, \ldots, T$, receives an income stream $\{y_t\}_{t=0}^T$,
43-
and chooses a consumption stream $\{c_t\}_{t=0}^T$.
42+
Our model describes the behavior of a consumer who lives from time $t=0, 1, \ldots, T$, receives a stream $\{y_t\}_{t=0}^T$ of non-financial income and chooses a consumption stream $\{c_t\}_{t=0}^T$.
43+
44+
We usually think of the non-financial income stream as coming from the person's salary from supplying labor.
45+
46+
The model takes that non-financial income stream as an input, regarding it as "exogenous" in the sense of not being determined by the model.
4447

4548
The consumer faces a gross interest rate of $R >1$ that is constant over time, at which she is free to borrow or lend, up to some limits that we'll describe below.
4649

4750
To set up the model, let
4851

4952
* $T \geq 2$ be a positive integer that constitutes a time-horizon
5053

51-
* $y = \{y_t\}_{t=0}^T$ be an exogenous sequence of non-negative financial incomes $y_t$
54+
* $y = \{y_t\}_{t=0}^T$ be an exogenous sequence of non-negative non-financial incomes $y_t$
5255

5356
* $a = \{a_t\}_{t=0}^{T+1}$ be a sequence of financial wealth
5457

@@ -62,31 +65,40 @@ To set up the model, let
6265

6366
* $a_{T+1} \geq 0$ be a terminal condition on final assets
6467

68+
While the sequence of financial wealth $a$ is to be determined by the model, it must satisfy two **boundary conditions** that require it to be equal to $a_0$ at time $0$ and $a_{T+1}$ at time $T+1$.
69+
70+
The **terminal condition** $a_{T+1} \geq 0$ requires that the consumer not die leaving debts.
71+
72+
(We'll see that a utility maximizing consumer won't **want** to die leaving positive assets, so she'll arrange her affairs to make
73+
$a_{T+1} = 0.)
74+
6575
The consumer faces a sequence of budget constraints that constrains the triple of sequences $y, c, a$
6676

6777
$$
6878
a_{t+1} = R (a_t+ y_t - c_t), \quad t =0, 1, \ldots T
6979
$$ (eq:a_t)
7080
71-
Notice that there are $T+1$ such budget constraints, one for each $t=0, 1, \ldots, T$.
81+
Notice that there are $T+1$ such budget constraints, one for each $t=0, 1, \ldots, T$.
82+
83+
Given a sequence $y$ of non-financial income, there is a big set of **pairs** $(a, c)$ of (financial wealth, consumption) sequences that satisfy the sequence of budget constraints {eq}`eq:a_t`.
7284
7385
Our model has the following logical flow.
7486
75-
* start with an exogenous income sequence $y$, an initial financial wealth $a_0$, and
87+
* start with an exogenous non-financial income sequence $y$, an initial financial wealth $a_0$, and
7688
a candidate consumption path $c$.
7789
7890
* use the system of equations {eq}`eq:a_t` for $t=0, \ldots, T$ to compute a path $a$ of financial wealth
7991
8092
* verify that $a_{T+1}$ satisfies the terminal wealth constraint $a_{T+1} \geq 0$.
8193
82-
* If it does, declare that the candidate path is budget feasible.
94+
* If it does, declare that the candidate path is **budget feasible**.
8395
8496
* if the candidate consumption path is not budget feasible, propose a path with less consumption sometimes and start over
8597
8698
Below, we'll describe how to execute these steps using linear algebra -- matrix inversion and multiplication.
8799
88100
The above procedure seems like a sensible way to find "budget-feasible" consumption paths $c$, i.e., paths that are consistent
89-
with the exogenous income stream $y$, the initial financial asset level $a_0$, and the terminal asset level $a_{T+1}$.
101+
with the exogenous non-financial income stream $y$, the initial financial asset level $a_0$, and the terminal asset level $a_{T+1}$.
90102
91103
In general, there will be many budget feasible consumption paths $c$.
92104
@@ -103,10 +115,14 @@ W = \sum_{t=0}^T \beta^t (g_1 c_t - \frac{g_2}{2} c_t^2 )
103115
104116
where $g_1 > 0, g_2 > 0$.
105117
106-
We shall see that when $\beta R = 1$ (a condition assumed by Milton Friedman {cite}`Friedman1956` and Robert Hall {cite}`Hall1978`), this criterion assigns higher welfare to **smoother** consumption paths.
118+
The fact that the utility function $g_1 c_t - \frac{g_2}{2} c_t^2$ has diminishing marginal utility imparts a preference for consumption that is very smooth when $\beta R \approx 1$.
119+
120+
Indeed, we shall see that when $\beta R = 1$ (a condition assumed by Milton Friedman {cite}`Friedman1956` and Robert Hall {cite}`Hall1978`), this criterion assigns higher welfare to **smoother** consumption paths.
107121
108122
By **smoother** we mean as close as possible to being constant over time.
109123
124+
The preference for smooth consumption paths that is built into the model gives it the name "consumption smoothing model".
125+
110126
Let's dive in and do some calculations that will help us understand how the model works.
111127
112128
Here we use default parameters $R = 1.05$, $g_1 = 1$, $g_2 = 1/2$, and $T = 65$.
@@ -137,7 +153,7 @@ h_0 \equiv \sum_{t=0}^T R^{-t} y_t = \begin{bmatrix} 1 & R^{-1} & \cdots & R^{-T
137153
\begin{bmatrix} y_0 \cr y_1 \cr \vdots \cr y_T \end{bmatrix}
138154
$$
139155
140-
Human or non-financial wealth is evidently just the present value at time $0$ of the consumer's income stream $y$.
156+
Human or non-financial wealth is evidently just the present value at time $0$ of the consumer's non-financial income stream $y$.
141157
142158
Notice that formally it very much resembles the asset price that we computed in this quantecon lecture {doc}`present values <pv>`.
143159
@@ -169,14 +185,14 @@ $$
169185
In this case, we can use the intertemporal budget constraint to write
170186
171187
$$
172-
c_t = \left(\sum_{t=0}^T R^{-t}\right)^{-1} (a_0 + h_0), \quad t= 0, 1, \ldots, T.
188+
c_t = c_0 = \left(\sum_{t=0}^T R^{-t}\right)^{-1} (a_0 + h_0), \quad t= 0, 1, \ldots, T.
173189
$$ (eq:conssmoothing)
174190
175191
Equation {eq}`eq:conssmoothing` is the consumption-smoothing model in a nutshell.
176192
177193
+++ {"user_expressions": []}
178194
179-
## Permanent income model of consumption
195+
## Mechanics of Consumption smoothing model
180196
181197
As promised, we'll provide step by step instructions on how to use linear algebra, readily implemented
182198
in Python, to compute all the objects in play in the consumption-smoothing model.
@@ -194,15 +210,17 @@ $$
194210
195211
### Step 2
196212
197-
Compute
213+
Compute the optimal level of consumption $c_0 $
198214
199215
$$
200-
c_0 = \left( \frac{1 - R^{-1}}{1 - R^{-(T+1)}} \right) (a_0 + \sum_{t=0}^T R^t y_t )
216+
c_t = c_0 = \left( \frac{1 - R^{-1}}{1 - R^{-(T+1)}} \right) (a_0 + \sum_{t=0}^T R^t y_t ) , \quad t = 0, 1, \ldots, T
201217
$$
202218
203219
### Step 3
204220
205-
Formulate the system of difference equations as follows (we'll say more about the mechanics of using linear algebra to solve such difference equations later in the last part of this lecture):
221+
In this step, we use the system of equations {eq}`eq:a_t` for $t=0, \ldots, T$ to compute a path $a$ of financial wealth.
222+
223+
To do this, we translated that system of difference equations into a single matrix equation as follows (we'll say more about the mechanics of using linear algebra to solve such difference equations later in the last part of this lecture):
206224
207225
$$
208226
\begin{bmatrix}
@@ -232,6 +250,9 @@ $$
232250
a_{T+1} = 0.
233251
$$
234252
253+
We have built into the our calculations that the consumer leaves life with exactly zero assets, just barely satisfying the
254+
terminal condition that $a_{T+1} \geq 0$.
255+
235256
Let's verify this with our Python code.
236257
237258
First we implement this model in `compute_optimal`
@@ -260,13 +281,13 @@ def compute_optimal(model, a0, y_seq):
260281
261282
We use an example where the consumer inherits $a_0<0$ (which can be interpreted as a student debt).
262283
263-
The income process $\{y_t\}_{t=0}^{T}$ is constant and positive up to $t=45$ and then becomes zero afterward.
284+
The non-financial process $\{y_t\}_{t=0}^{T}$ is constant and positive up to $t=45$ and then becomes zero afterward.
264285
265286
```{code-cell} ipython3
266287
# Financial wealth
267288
a0 = -2 # such as "student debt"
268289
269-
# Income process
290+
# non-financial Income process
270291
y_seq = np.concatenate([np.ones(46), np.zeros(20)])
271292
272293
cs_model = creat_cs_model()
@@ -276,15 +297,15 @@ print('check a_T+1=0:',
276297
np.abs(a_seq[-1] - 0) <= 1e-8)
277298
```
278299
279-
The visualization shows the path of income, consumption, and financial assets.
300+
The visualization shows the path of non-financial income, consumption, and financial assets.
280301
281302
```{code-cell} ipython3
282303
# Sequence Length
283304
T = cs_model.T
284305
285-
plt.plot(range(T+1), y_seq, label='income')
306+
plt.plot(range(T+1), y_seq, label='non-financial income')
286307
plt.plot(range(T+1), c_seq, label='consumption')
287-
plt.plot(range(T+2), a_seq, label='asset')
308+
plt.plot(range(T+2), a_seq, label='financial wealth')
288309
plt.plot(range(T+2), np.zeros(T+2), '--')
289310
290311
plt.legend()
@@ -327,6 +348,10 @@ $$
327348
\sum_{t=0}^T R^{-t} v_t = 0
328349
$$
329350
351+
This equation says that the **present value** of admissible variations must be zero.
352+
353+
(So once again, we encounter our formula for the present value of an "asset".)
354+
330355
Here we'll compute a two-parameter class of admissible variations
331356
of the form
332357

0 commit comments

Comments
 (0)