# 64. The Permanent Income Model#

Contents

In addition to what’s in Anaconda, this lecture will need the following libraries:

```
!pip install quantecon
```

## Show code cell output

```
Requirement already satisfied: quantecon in /opt/conda/envs/quantecon/lib/python3.10/site-packages (0.7.1)
Requirement already satisfied: sympy in /opt/conda/envs/quantecon/lib/python3.10/site-packages (from quantecon) (1.11.1)
Requirement already satisfied: scipy>=1.5.0 in /opt/conda/envs/quantecon/lib/python3.10/site-packages (from quantecon) (1.10.0)
Requirement already satisfied: numba>=0.49.0 in /opt/conda/envs/quantecon/lib/python3.10/site-packages (from quantecon) (0.56.4)
Requirement already satisfied: numpy>=1.17.0 in /opt/conda/envs/quantecon/lib/python3.10/site-packages (from quantecon) (1.23.5)
Requirement already satisfied: requests in /opt/conda/envs/quantecon/lib/python3.10/site-packages (from quantecon) (2.31.0)
Requirement already satisfied: llvmlite<0.40,>=0.39.0dev0 in /opt/conda/envs/quantecon/lib/python3.10/site-packages (from numba>=0.49.0->quantecon) (0.39.1)
Requirement already satisfied: setuptools in /opt/conda/envs/quantecon/lib/python3.10/site-packages (from numba>=0.49.0->quantecon) (65.6.3)
Requirement already satisfied: idna<4,>=2.5 in /opt/conda/envs/quantecon/lib/python3.10/site-packages (from requests->quantecon) (3.4)
Requirement already satisfied: urllib3<3,>=1.21.1 in /opt/conda/envs/quantecon/lib/python3.10/site-packages (from requests->quantecon) (1.26.14)
Requirement already satisfied: certifi>=2017.4.17 in /opt/conda/envs/quantecon/lib/python3.10/site-packages (from requests->quantecon) (2022.12.7)
Requirement already satisfied: charset-normalizer<4,>=2 in /opt/conda/envs/quantecon/lib/python3.10/site-packages (from requests->quantecon) (2.0.4)
Requirement already satisfied: mpmath>=0.19 in /opt/conda/envs/quantecon/lib/python3.10/site-packages/mpmath-1.2.1-py3.10.egg (from sympy->quantecon) (1.2.1)
```

```
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
```

## 64.1. Overview#

This lecture describes a rational expectations version of the famous permanent income model of Milton Friedman [Fri56].

Robert Hall cast Friedman’s model within a linear-quadratic setting [Hal78].

Like Hall, we formulate an infinite-horizon linear-quadratic savings problem.

We use the model as a vehicle for illustrating

alternative formulations of the

*state*of a dynamic systemthe idea of

*cointegration*impulse response functions

the idea that changes in consumption are useful as predictors of movements in income

Background readings on the linear-quadratic-Gaussian permanent income model are Hall’s [Hal78] and chapter 2 of [LS18].

Let’s start with some imports

```
%matplotlib inline
import matplotlib.pyplot as plt
plt.rcParams["figure.figsize"] = (11, 5) #set default figure size
import numpy as np
import random
from numba import njit
```

## 64.2. The Savings Problem#

In this section, we state and solve the savings and consumption problem faced by the consumer.

### 64.2.1. Preliminaries#

We use a class of stochastic processes called martingales.

A discrete-time martingale is a stochastic process (i.e., a sequence of random variables) \(\{X_t\}\) with finite mean at each \(t\) and satisfying

Here \(\mathbb{E}_t := \mathbb{E}[ \cdot \,|\, \mathcal{F}_t]\) is a conditional mathematical expectation conditional on the time \(t\)
*information set* \(\mathcal{F}_t\).

The latter is just a collection of random variables that the modeler declares to be visible at \(t\).

When not explicitly defined, it is usually understood that \(\mathcal{F}_t = \{X_t, X_{t-1}, \ldots, X_0\}\).

Martingales have the feature that the history of past outcomes provides no predictive power for changes between current and future outcomes.

For example, the current wealth of a gambler engaged in a “fair game” has this property.

One common class of martingales is the family of *random walks*.

A **random walk** is a stochastic process \(\{X_t\}\) that satisfies

for some IID zero mean *innovation* sequence \(\{w_t\}\).

Evidently, \(X_t\) can also be expressed as

Not every martingale arises as a random walk (see, for example, Wald’s martingale).

### 64.2.2. The Decision Problem#

A consumer has preferences over consumption streams that are ordered by the utility functional

where

\(\mathbb{E}_t\) is the mathematical expectation conditioned on the consumer’s time \(t\) information

\(c_t\) is time \(t\) consumption

\(u\) is a strictly concave one-period utility function

\(\beta \in (0,1)\) is a discount factor

The consumer maximizes (64.1) by choosing a consumption, borrowing plan \(\{c_t, b_{t+1}\}_{t=0}^\infty\) subject to the sequence of budget constraints

Here

\(y_t\) is an exogenous endowment process.

\(r > 0\) is a time-invariant risk-free net interest rate.

\(b_t\) is one-period risk-free debt maturing at \(t\).

The consumer also faces initial conditions \(b_0\) and \(y_0\), which can be fixed or random.

### 64.2.3. Assumptions#

For the remainder of this lecture, we follow Friedman and Hall in assuming that \((1 + r)^{-1} = \beta\).

Regarding the endowment process, we assume it has the state-space representation

where

\(\{w_t\}\) is an IID vector process with \(\mathbb{E} w_t = 0\) and \(\mathbb{E} w_t w_t' = I\).

The spectral radius of \(A\) satisfies \(\rho(A) < \sqrt{1/\beta}\).

\(U\) is a selection vector that pins down \(y_t\) as a particular linear combination of components of \(z_t\).

The restriction on \(\rho(A)\) prevents income from growing so fast that discounted geometric sums of some quadratic forms to be described below become infinite.

Regarding preferences, we assume the quadratic utility function

where \(\gamma\) is a bliss level of consumption.

Note

Along with this quadratic utility specification, we allow consumption to be negative. However, by choosing parameters appropriately, we can make the probability that the model generates negative consumption paths over finite time horizons as low as desired.

Finally, we impose the *no Ponzi scheme* condition

This condition rules out an always-borrow scheme that would allow the consumer to enjoy bliss consumption forever.

### 64.2.4. First-Order Conditions#

First-order conditions for maximizing (64.1) subject to (64.2) are

These optimality conditions are also known as *Euler equations*.

If you’re not sure where they come from, you can find a proof sketch in the appendix.

With our quadratic preference specification, (64.5) has the striking implication that consumption follows a martingale:

(In fact, quadratic preferences are *necessary* for this conclusion 1.)

One way to interpret (64.6) is that consumption will change only when “new information” about permanent income is revealed.

These ideas will be clarified below.

### 64.2.5. The Optimal Decision Rule#

Now let’s deduce the optimal decision rule 2.

Note

One way to solve the consumer’s problem is to apply *dynamic programming*
as in this lecture. We do this later. But first we use
an alternative approach that is revealing and shows the work that dynamic
programming does for us behind the scenes.

In doing so, we need to combine

the optimality condition (64.6)

the period-by-period budget constraint (64.2), and

the boundary condition (64.4)

To accomplish this, observe first that (64.4) implies \(\lim_{t \to \infty} \beta^{\frac{t}{2}} b_{t+1}= 0\).

Using this restriction on the debt path and solving (64.2) forward yields

Take conditional expectations on both sides of (64.7) and use the martingale property of consumption and the *law of iterated expectations* to deduce

Expressed in terms of \(c_t\) we get

where the last equality uses \((1 + r) \beta = 1\).

These last two equations assert that consumption equals *economic income*

**financial wealth**equals \(-b_t\)**non-financial wealth**equals \(\sum_{j=0}^\infty \beta^j \mathbb{E}_t [y_{t+j}]\)**total wealth**equals the sum of financial and non-financial wealtha

**marginal propensity to consume out of total wealth**equals the interest factor \(\frac{r}{1+r}\)**economic income**equalsa constant marginal propensity to consume times the sum of non-financial wealth and financial wealth

the amount the consumer can consume while leaving its wealth intact

#### 64.2.5.1. Responding to the State#

The *state* vector confronting the consumer at \(t\) is \(\begin{bmatrix} b_t & z_t \end{bmatrix}\).

Here

\(z_t\) is an

*exogenous*component, unaffected by consumer behavior.\(b_t\) is an

*endogenous*component (since it depends on the decision rule).

Note that \(z_t\) contains all variables useful for forecasting the consumer’s future endowment.

It is plausible that current decisions \(c_t\) and \(b_{t+1}\) should be expressible as functions of \(z_t\) and \(b_t\).

This is indeed the case.

In fact, from this discussion, we see that

Combining this with (64.9) gives

Using this equality to eliminate \(c_t\) in the budget constraint (64.2) gives

To get from the second last to the last expression in this chain of equalities is not trivial.

A key is to use the fact that \((1 + r) \beta = 1\) and \((I - \beta A)^{-1} = \sum_{j=0}^{\infty} \beta^j A^j\).

We’ve now successfully written \(c_t\) and \(b_{t+1}\) as functions of \(b_t\) and \(z_t\).

#### 64.2.5.2. A State-Space Representation#

We can summarize our dynamics in the form of a linear state-space system governing consumption, debt and income:

To write this more succinctly, let

and

Then we can express equation (64.11) as

We can use the following formulas from linear state space models to compute population mean \(\mu_t = \mathbb{E} x_t\) and covariance \(\Sigma_t := \mathbb{E} [ (x_t - \mu_t) (x_t - \mu_t)']\)

We can then compute the mean and covariance of \(\tilde y_t\) from

#### 64.2.5.3. A Simple Example with IID Income#

To gain some preliminary intuition on the implications of (64.11), let’s look at a highly stylized example where income is just IID.

(Later examples will investigate more realistic income streams.)

In particular, let \(\{w_t\}_{t = 1}^{\infty}\) be IID and scalar standard normal, and let

Finally, let \(b_0 = z^1_0 = 0\).

Under these assumptions, we have \(y_t = \mu + \sigma w_t \sim N(\mu, \sigma^2)\).

Further, if you work through the state space representation, you will see that

Thus income is IID and debt and consumption are both Gaussian random walks.

Defining assets as \(-b_t\), we see that assets are just the cumulative sum of unanticipated incomes prior to the present date.

The next figure shows a typical realization with \(r = 0.05\), \(\mu = 1\), and \(\sigma = 0.15\)

```
r = 0.05
β = 1 / (1 + r)
σ = 0.15
μ = 1
T = 60
@njit
def time_path(T):
w = np.random.randn(T+1) # w_0, w_1, ..., w_T
w[0] = 0
b = np.zeros(T+1)
for t in range(1, T+1):
b[t] = w[1:t].sum()
b = -σ * b
c = μ + (1 - β) * (σ * w - b)
return w, b, c
w, b, c = time_path(T)
fig, ax = plt.subplots(figsize=(10, 6))
ax.plot(μ + σ * w, 'g-', label="Non-financial income")
ax.plot(c, 'k-', label="Consumption")
ax.plot( b, 'b-', label="Debt")
ax.legend(ncol=3, mode='expand', bbox_to_anchor=(0., 1.02, 1., .102))
ax.grid()
ax.set_xlabel('Time')
plt.show()
```

Observe that consumption is considerably smoother than income.

The figure below shows the consumption paths of 250 consumers with independent income streams

```
fig, ax = plt.subplots(figsize=(10, 6))
b_sum = np.zeros(T+1)
for i in range(250):
w, b, c = time_path(T) # Generate new time path
rcolor = random.choice(('c', 'g', 'b', 'k'))
ax.plot(c, color=rcolor, lw=0.8, alpha=0.7)
ax.grid()
ax.set(xlabel='Time', ylabel='Consumption')
plt.show()
```

## 64.3. Alternative Representations#

In this section, we shed more light on the evolution of savings, debt and consumption by representing their dynamics in several different ways.

### 64.3.1. Hall’s Representation#

Hall [Hal78] suggested an insightful way to summarize the implications of LQ permanent income theory.

First, to represent the solution for \(b_t\), shift (64.9) forward one period and eliminate \(b_{t+1}\) by using (64.2) to obtain

If we add and subtract \(\beta^{-1} (1-\beta) \sum_{j=0}^\infty \beta^j \mathbb{E}_t y_{t+j}\) from the right side of the preceding equation and rearrange, we obtain

The right side is the time \(t+1\) *innovation to the expected present value* of the endowment process \(\{y_t\}\).

We can represent the optimal decision rule for \((c_t, b_{t+1})\) in the form of (64.16) and (64.8), which we repeat:

Equation (64.17) asserts that the consumer’s debt due at \(t\) equals the expected present value of its endowment minus the expected present value of its consumption stream.

A high debt thus indicates a large expected present value of surpluses \(y_t - c_t\).

Recalling again our discussion on forecasting geometric sums, we have

Using these formulas together with (64.3) and substituting into (64.16) and (64.17) gives the following representation for the consumer’s optimum decision rule:

Representation (64.18) makes clear that

The state can be taken as \((c_t, z_t)\).

The endogenous part is \(c_t\) and the exogenous part is \(z_t\).

Debt \(b_t\) has disappeared as a component of the state because it is encoded in \(c_t\).

Consumption is a random walk with innovation \((1-\beta) U (I-\beta A)^{-1} C w_{t+1}\).

This is a more explicit representation of the martingale result in (64.6).

### 64.3.2. Cointegration#

Representation (64.18) reveals that the joint process \(\{c_t, b_t\}\) possesses the property that Engle and Granger [EG87] called cointegration.

Cointegration is a tool that allows us to apply powerful results from the theory of stationary stochastic processes to (certain transformations of) nonstationary models.

To apply cointegration in the present context, suppose that \(z_t\) is asymptotically stationary 3.

Despite this, both \(c_t\) and \(b_t\) will be non-stationary because they have unit roots (see (64.11) for \(b_t\)).

Nevertheless, there is a linear combination of \(c_t, b_t\) that *is* asymptotically stationary.

In particular, from the second equality in (64.18) we have

Hence the linear combination \((1-\beta) b_t + c_t\) is asymptotically stationary.

Accordingly, Granger and Engle would call \(\begin{bmatrix} (1-\beta) & 1 \end{bmatrix}\) a **cointegrating vector** for the state.

When applied to the nonstationary vector process \(\begin{bmatrix} b_t & c_t \end{bmatrix}'\), it yields a process that is asymptotically stationary.

Equation (64.19) can be rearranged to take the form

Equation (64.20) asserts that the *cointegrating residual* on the left side equals the conditional expectation of the geometric sum of future incomes on the right 4.

### 64.3.3. Cross-Sectional Implications#

Consider again (64.18), this time in light of our discussion of distribution dynamics in the lecture on linear systems.

The dynamics of \(c_t\) are given by

or

The unit root affecting \(c_t\) causes the time \(t\) variance of \(c_t\) to grow linearly with \(t\).

In particular, since \(\{ \hat w_t \}\) is IID, we have

where

When \(\hat \sigma > 0\), \(\{c_t\}\) has no asymptotic distribution.

Let’s consider what this means for a cross-section of ex-ante identical consumers born at time \(0\).

Let the distribution of \(c_0\) represent the cross-section of initial consumption values.

Equation (64.22) tells us that the variance of \(c_t\) increases over time at a rate proportional to \(t\).

A number of different studies have investigated this prediction and found some support for it (see, e.g., [DP94], [STY04]).

### 64.3.4. Impulse Response Functions#

Impulse response functions measure responses to various impulses (i.e., temporary shocks).

The impulse response function of \(\{c_t\}\) to the innovation \(\{w_t\}\) is a box.

In particular, the response of \(c_{t+j}\) to a unit increase in the innovation \(w_{t+1}\) is \((1-\beta) U (I -\beta A)^{-1} C\) for all \(j \geq 1\).

### 64.3.5. Moving Average Representation#

It’s useful to express the innovation to the expected present value of the endowment process in terms of a moving average representation for income \(y_t\).

The endowment process defined by (64.3) has the moving average representation

where

\(d(L) = \sum_{j=0}^\infty d_j L^j\) for some sequence \(d_j\), where \(L\) is the lag operator 5

at time \(t\), the consumer has an information set 6 \(w^t = [w_t, w_{t-1}, \ldots ]\)

Notice that

It follows that

Using (64.24) in (64.16) gives

The object \(d(\beta)\) is the **present value of the moving average coefficients** in the representation for the endowment process \(y_t\).

## 64.4. Two Classic Examples#

We illustrate some of the preceding ideas with two examples.

In both examples, the endowment follows the process \(y_t = z_{1t} + z_{2t}\) where

Here

\(w_{t+1}\) is an IID \(2 \times 1\) process distributed as \(N(0,I)\).

\(z_{1t}\) is a permanent component of \(y_t\).

\(z_{2t}\) is a purely transitory component of \(y_t\).

### 64.4.1. Example 1#

Assume as before that the consumer observes the state \(z_t\) at time \(t\).

In view of (64.18) we have

Formula (64.26) shows how an increment \(\sigma_1 w_{1t+1}\) to the permanent component of income \(z_{1t+1}\) leads to

a permanent one-for-one increase in consumption and

no increase in savings \(-b_{t+1}\)

But the purely transitory component of income \(\sigma_2 w_{2t+1}\) leads to a permanent increment in consumption by a fraction \(1-\beta\) of transitory income.

The remaining fraction \(\beta\) is saved, leading to a permanent increment in \(-b_{t+1}\).

Application of the formula for debt in (64.11) to this example shows that

This confirms that none of \(\sigma_1 w_{1t}\) is saved, while all of \(\sigma_2 w_{2t}\) is saved.

The next figure illustrates these very different reactions to transitory and permanent income shocks using impulse-response functions

```
r = 0.05
β = 1 / (1 + r)
S = 5 # Impulse date
σ1 = σ2 = 0.15
@njit
def time_path(T, permanent=False):
"Time path of consumption and debt given shock sequence"
w1 = np.zeros(T+1)
w2 = np.zeros(T+1)
b = np.zeros(T+1)
c = np.zeros(T+1)
if permanent:
w1[S+1] = 1.0
else:
w2[S+1] = 1.0
for t in range(1, T):
b[t+1] = b[t] - σ2 * w2[t]
c[t+1] = c[t] + σ1 * w1[t+1] + (1 - β) * σ2 * w2[t+1]
return b, c
fig, axes = plt.subplots(2, 1, figsize=(10, 8))
titles = ['transitory', 'permanent']
L = 0.175
for ax, truefalse, title in zip(axes, (True, False), titles):
b, c = time_path(T=20, permanent=truefalse)
ax.set_title(f'Impulse reponse: {title} income shock')
ax.plot(c, 'g-', label="consumption")
ax.plot(b, 'b-', label="debt")
ax.plot((S, S), (-L, L), 'k-', lw=0.5)
ax.grid(alpha=0.5)
ax.set(xlabel=r'Time', ylim=(-L, L))
axes[0].legend(loc='lower right')
plt.tight_layout()
plt.show()
```

### 64.4.2. Example 2#

Assume now that at time \(t\) the consumer observes \(y_t\), and its history up to \(t\), but not \(z_t\).

Under this assumption, it is appropriate to use an *innovation representation* to form \(A, C, U\) in (64.18).

The discussion in sections 2.9.1 and 2.11.3 of [LS18] shows that the pertinent state space representation for \(y_t\) is

where

\(K :=\) the stationary Kalman gain

\(a_t := y_t - E [ y_t \,|\, y_{t-1}, \ldots, y_0]\)

In the same discussion in [LS18] it is shown that \(K \in [0,1]\) and that \(K\) increases as \(\sigma_1/\sigma_2\) does.

In other words, \(K\) increases as the ratio of the standard deviation of the permanent shock to that of the transitory shock increases.

Please see first look at the Kalman filter.

Applying formulas (64.18) implies

where the endowment process can now be represented in terms of the univariate innovation to \(y_t\) as

Equation (64.29) indicates that the consumer regards

fraction \(K\) of an innovation \(a_{t+1}\) to \(y_{t+1}\) as

*permanent*fraction \(1-K\) as purely transitory

The consumer permanently increases his consumption by the full amount of his estimate of the permanent part of \(a_{t+1}\), but by only \((1-\beta)\) times his estimate of the purely transitory part of \(a_{t+1}\).

Therefore, in total, he permanently increments his consumption by a fraction \(K + (1-\beta) (1-K) = 1 - \beta (1-K)\) of \(a_{t+1}\).

He saves the remaining fraction \(\beta (1-K)\).

According to equation (64.29), the first difference of income is a first-order moving average.

Equation (64.28) asserts that the first difference of consumption is IID.

Application of formula to this example shows that

This indicates how the fraction \(K\) of the innovation to \(y_t\) that is regarded as permanent influences the fraction of the innovation that is saved.

## 64.5. Further Reading#

The model described above significantly changed how economists think about consumption.

While Hall’s model does a remarkably good job as a first approximation to consumption data, it’s widely believed that it doesn’t capture important aspects of some consumption/savings data.

For example, liquidity constraints and precautionary savings appear to be present sometimes.

Further discussion can be found in, e.g., [HM82], [Par99], [Dea91], [Car01].

## 64.6. Appendix: The Euler Equation#

Where does the first-order condition (64.5) come from?

Here we’ll give a proof for the two-period case, which is representative of the general argument.

The finite horizon equivalent of the no-Ponzi condition is that the agent cannot end her life in debt, so \(b_2 = 0\).

From the budget constraint (64.2) we then have

Here \(b_0\) and \(y_0\) are given constants.

Substituting these constraints into our two-period objective \(u(c_0) + \beta \mathbb{E}_0 [u(c_1)]\) gives

You will be able to verify that the first-order condition is

Using \(\beta R = 1\) gives (64.5) in the two-period case.

The proof for the general case is similar.

- 1
A linear marginal utility is essential for deriving (64.6) from (64.5). Suppose instead that we had imposed the following more standard assumptions on the utility function: \(u'(c) >0, u''(c)<0, u'''(c) > 0\) and required that \(c \geq 0\). The Euler equation remains (64.5). But the fact that \(u''' <0\) implies via Jensen’s inequality that \(\mathbb{E}_t [u'(c_{t+1})] > u'(\mathbb{E}_t [c_{t+1}])\). This inequality together with (64.5) implies that \(\mathbb{E}_t [c_{t+1}] > c_t\) (consumption is said to be a ‘submartingale’), so that consumption stochastically diverges to \(+\infty\). The consumer’s savings also diverge to \(+\infty\).

- 2
An optimal decision rule is a map from the current state into current actions—in this case, consumption.

- 3
This would be the case if, for example, the spectral radius of \(A\) is strictly less than one.

- 4
See [JYC88], [LL01], [LL04] for interesting applications of related ideas.

- 5
Representation (64.3) implies that \(d(L) = U (I - A L)^{-1} C\).

- 6
A moving average representation for a process \(y_t\) is said to be

**fundamental**if the linear space spanned by \(y^t\) is equal to the linear space spanned by \(w^t\). A time-invariant innovations representation, attained via the Kalman filter, is by construction fundamental.