5. Information and Consumption Smoothing#
In addition to what’s in Anaconda, this lecture employs the following libraries:
!pip install --upgrade quantecon
5.1. Overview#
In the linear-quadratic
permanent income of consumption smoothing model described in this
quantecon lecture,
a scalar parameter
it is a discount factor that the consumer applies to future utilities from consumption
it is the reciprocal of the gross interest rate on risk-free one-period loans
That
In this lecture, we assign a third role to
it describes a first-order moving average process for the growth in non-financial income
5.1.1. Same non-financial incomes, different information#
We study two consumers who have exactly the same nonfinancial income process and who both conform to the linear-quadratic permanent income of consumption smoothing model described here.
The two consumers have different information about their future nonfinancial incomes.
A better informed consumer each period receives news in the form of a shock that simultaneously affects both today’s nonfinancial income and the present value of future nonfinancial incomes in a particular way.
A less informed consumer each period receives a shock that equals the part of today’s nonfinancial income that could not be forecast from past values of nonfinancial income.
Even though they receive exactly the same nonfinancial incomes each period, our two consumers behave differently because they have different information about their future nonfinancial incomes.
The second consumer receives less information about future nonfinancial incomes in a sense that we shall make precise.
This difference in their information sets manifests itself in their responding differently to what they regard as time
Thus, although at each date they receive exactly the same histories of nonfinancial income, our two consumers receive different shocks or news about their future nonfinancial incomes.
We use the different behaviors of our consumers as a way to learn about
operating characteristics of a linear-quadratic permanent income model
how the Kalman filter introduced in this lecture and/or another representation of the theory of optimal forecasting introduced in this lecture embody lessons that can be applied to the news and noise literature
ways of representing and computing optimal decision rules in the linear-quadratic permanent income model
a Ricardian equivalence outcome that describes effects on optimal consumption of a tax cut at time
accompanied by a foreseen permanent increases in taxes that is just sufficient to cover the interest payments used to service the risk-free government bonds that are issued to finance the tax cuta simple application of alternative ways to factor a covariance generating function along lines described in this lecture
This lecture can be regarded as an introduction to invertibility issues that take center stage in the analysis of fiscal foresight by Eric Leeper, Todd Walker, and Susan Yang [Leeper et al., 2013], as well as in chapter 4 of [Sargent et al., 1991].
5.2. Two Representations of One Nonfinancial Income Process#
We study consequences of endowing a
consumer with one of two alternative representations for the change
in the consumer’s nonfinancial income
For both types of consumer, a parameter
It appears
as a discount factor applied to future expected one-period utilities,
as the reciprocal of a gross interest rate on one-period loans, and
as a parameter in a first-order moving average that equals the increment in a consumer’s non-financial income
The first representation, which we shall sometimes refer to as the more informative representation, is
where
This representation of the process is used by a consumer who at time
As we’ll see below, representation (5.1) has the peculiar property that a positive shock
The second representation of the same
where
The i.i.d. shock variances are related by
so that the variance of the innovation exceeds the variance of the
original shock by a multiplicative factor
Representation (5.2) is the innovations representation of equation (5.1) associated with Kalman filtering theory.
To see how this works, note that equating representations (5.1)
and (5.2) for
Solving this difference equation backwards for
which we can also write as
where
Let
Using calculations in the quantecon lecture, where
which confirms that
To verify these claims, just notice that
, and for .
Alternatively, if you are uncomfortable with covariance generating
functions, note that we can directly calculate
5.3. Application of Kalman filter#
We can also use the the Kalman filter to obtain representation (5.2) from representation (5.1).
Thus, from equations associated with the Kalman filter, it can be
verified that the steady-state Kalman gain
In a little more detail, let
and assume that
Let’s compute the steady-state Kalman filter for this system.
Let
The steady-state innovations representation is
By applying formulas for the steady-state Kalman filter, by hand it is possible to verify that
Alternatively, we can obtain these formulas via the classical filtering theory described in this lecture.
5.4. News Shocks and Less Informative Shocks#
Representation (5.1) is cast in terms of a news shock
Representation (5.2) for the same income process is driven by shocks
Representation (5.2) is called the innovations representation for the
It is cast in terms of what time series statisticians call the innovation or fundamental shock that emerges from applying the theory of optimally predicting nonfinancial income based solely on the information in past levels of growth in nonfinancial income.
Fundamental for the
The shock
Representation (5.3) reveals the important fact that the original
shock
Staring at representation (5.3) for
The more information representation (5.1) asserts that a shock
so that a shock that increases nonfinancial income
Because
This pattern precisely describes the following mental experiment:
The consumer receives a government transfer of
at time .The government finances the transfer by issuing a one-period bond on which it pays a gross one-period risk-free interest rate equal to
.In each future period, the government rolls over the one-period bond and so continues to borrow
forever.The government imposes a lump-sum tax on the consumer in order to pay just the current interest on the original bond and its rolled over successors.
Thus, in periods
, the government levies a lump-sum tax on the consumer of that is just enough to pay the interest on the bond.
The present value of the impulse response or moving average
coefficients equals
Representation (5.2), i.e., the innovations representation, asserts that a
shock
so that a shock that increases income
The present value of the impulse response or moving average coefficients
for representation (5.2) is
5.5. Representation of Shock in Terms of Future #
Notice that reprentation (5.1), namely,
Solving forward we obtain
This equation shows that
Thus,
5.6. Representation in Terms of Shocks#
Next notice that representation (5.2), namely,
Solving this equation backward establishes that the one-step-prediction
error
Here the information set is
5.7. Permanent Income Consumption-Smoothing Model#
When we computed optimal consumption-saving policies for our two representations (5.1) and (5.2) by using formulas obtained with the difference equation approach described in quantecon lecture, we obtained:
for a consumer having the information assumed in the news representation (5.1):
for a consumer having the more limited information associated with the innovations representation (5.2):
These formulas agree with outcomes from Python programs below that deploy state-space representations and dynamic programming.
Evidently, although they receive exactly the same histories of nonfinancial incomethe two consumers behave differently.
The better informed consumer who has the information sets associated with representation (5.1)
responds to each shock
The less well informed consumer who has information sets associated with representation (5.2)
responds to a shock
The behavior of the better informed consumer sharply illustrates the behavior predicted in a classic Ricardian equivalence experiment.
5.8. State Space Representations#
We now cast our representations (5.1) and (5.2), respectively, in terms of the following two state space systems:
and
where
These two alternative income processes are ready to be used in the framework presented in the section “Comparison with the Difference Equation Approach” in thid quantecon lecture.
All the code that we shall use below is presented in that lecture.
5.9. Computations#
We shall use Python to form two state-space representations (5.4) and (5.5).
We set the following parameter values
For these two representations, we use the code in this lecture to
compute optimal decision rules for
for the two types of consumers associated with our two representations of nonfinancial incomeuse the value function objects
returned by the code to compute optimal values for the two representations when evaluated at the initial condition
for each representation.
create instances of the LinearStateSpace class for the two representations of the
process and use them to obtain impulse response functions of and to the respective shocks and for the two representations.run simulations of
of length under both of the representations
We formulae the problem:
subject to a sequence of constraints
where
Define the control as
(For simplicity we can assume
The state transition equations under our two representations for the
nonfinancial income process
and
As usual, we start by importing packages.
import numpy as np
import quantecon as qe
import matplotlib.pyplot as plt
# Set parameters
β, σϵ = 0.95, 1
σa = σϵ / β
R = 1 / β
# Payoff matrices are the same for two representations
RLQ = np.array([[0, 0, 0],
[0, 0, 0],
[0, 0, 1e-12]]) # put penalty on debt
QLQ = np.array([1.])
# More informative representation state transition matrices
ALQ1 = np.array([[1, -R, 0],
[0, 0, 0],
[-R, 0, R]])
BLQ1 = np.array([[0, 0, R]]).T
CLQ1 = np.array([[σϵ, σϵ, 0]]).T
# Construct and solve the LQ problem
LQ1 = qe.LQ(QLQ, RLQ, ALQ1, BLQ1, C=CLQ1, beta=β)
P1, F1, d1 = LQ1.stationary_values()
# The optimal decision rule for c
-F1
array([[ 1. , -1. , -0.05]])
Evidently, optimal consumption and debt decision rules for the consumer having news representation (5.1) are
# Innovations representation
ALQ2 = np.array([[1, -β, 0],
[0, 0, 0],
[-R, 0, R]])
BLQ2 = np.array([[0, 0, R]]).T
CLQ2 = np.array([[σa, σa, 0]]).T
LQ2 = qe.LQ(QLQ, RLQ, ALQ2, BLQ2, C=CLQ2, beta=β)
P2, F2, d2 = LQ2.stationary_values()
-F2
array([[ 1. , -0.9025, -0.05 ]])
For a consumer having access only to the information associated with the innovations representation (5.2), the optimal decision rules are
Now we construct two Linear State Space models that emerge from using
optimal policies of the form
Take the more informative original representation (5.1) as an example:
To have the Linear State Space model be of an innovations representation form (5.2), we can simply replace the corresponding matrices.
# Construct two Linear State Space models
Sb = np.array([0, 0, 1])
ABF1 = ALQ1 - BLQ1 @ F1
G1 = np.vstack([-F1, Sb])
LSS1 = qe.LinearStateSpace(ABF1, CLQ1, G1)
ABF2 = ALQ2 - BLQ2 @ F2
G2 = np.vstack([-F2, Sb])
LSS2 = qe.LinearStateSpace(ABF2, CLQ2, G2)
The following code computes impulse response functions of
J = 5 # Number of coefficients that we want
x_res1, y_res1 = LSS1.impulse_response(j=J)
b_res1 = np.array([x_res1[i][2, 0] for i in range(J)])
c_res1 = np.array([y_res1[i][0, 0] for i in range(J)])
x_res2, y_res2 = LSS2.impulse_response(j=J)
b_res2 = np.array([x_res2[i][2, 0] for i in range(J)])
c_res2 = np.array([y_res2[i][0, 0] for i in range(J)])
c_res1 / σϵ, b_res1 / σϵ
(array([1.99998906e-11, 1.89473923e-11, 1.78947621e-11, 1.68421319e-11,
1.57895017e-11]),
array([ 0. , -1.05263158, -1.05263158, -1.05263158, -1.05263158]))
plt.title("more informative representation")
plt.plot(range(J), c_res1 / σϵ, label="c impulse response function")
plt.plot(range(J), b_res1 / σϵ, label="b impulse response function")
plt.legend()
<matplotlib.legend.Legend at 0x7fcb4e6d7d40>

The above two impulse response functions show that when the consumer has
the information assumed in the more informative representation (5.1), his response to
receiving a positive shock of
To see this notice, that starting from next period on, his debt
permanently decreases by
c_res2 / σa, b_res2 / σa
(array([0.0975, 0.0975, 0.0975, 0.0975, 0.0975]),
array([ 0. , -0.95, -0.95, -0.95, -0.95]))
plt.title("innovations representation")
plt.plot(range(J), c_res2 / σa, label="c impulse response function")
plt.plot(range(J), b_res2 / σa, label="b impulse response function")
plt.plot([0, J-1], [0, 0], '--', color='k')
plt.legend()
<matplotlib.legend.Legend at 0x7fcb973d8560>

The above impulse responses show that when the consumer has only the
information that is assumed to be available under the innovations
representation (5.2) for
He accomplishes this by consuming a fraction
The preceding computations confirm what we had derived earlier using paper and pencil.
Now let’s simulate some paths of consumption and debt for our two types
of consumers while always presenting both types with the same
# Set time length for simulation
T = 100
x1, y1 = LSS1.simulate(ts_length=T)
plt.plot(range(T), y1[0, :], label="c")
plt.plot(range(T), x1[2, :], label="b")
plt.plot(range(T), x1[0, :], label="y")
plt.title("more informative representation")
plt.legend()
<matplotlib.legend.Legend at 0x7fcb4e6d6e40>

x2, y2 = LSS2.simulate(ts_length=T)
plt.plot(range(T), y2[0, :], label="c")
plt.plot(range(T), x2[2, :], label="b")
plt.plot(range(T), x2[0, :], label="y")
plt.title("innovations representation")
plt.legend()
<matplotlib.legend.Legend at 0x7fcb4dfd96a0>

5.10. Simulating Income Process and Two Associated Shock Processes#
We now form a single
We accomplish this in the following steps.
We form a
realization by drawing a long simulation of , where is a big integer, , is a standard normal scalar, , andWe take the
realization generated in step 1 and form an innovation process from the formulasWe throw away the first
observations and form a sample as the realization that we’ll use in the following steps.We use the step 3 realization to evaluate and simulate the decision rules for
that Python has computed for us above.
The above steps implement the experiment of comparing decisions made by two consumers having identical incomes at each date but at each date having different information about their future incomes.
5.11. Calculating Innovations in Another Way#
Here we use formula (5.3) above to compute
Thus, we compute
We can verify that we recover the same
5.12. Another Invertibility Issue#
This quantecon lecture contains another example of a shock-invertibility issue that is endemic to the LQ permanent income or consumption smoothing model.
The technical issue discussed there is ultimately the source of the shock-invertibility issues discussed by Eric Leeper, Todd Walker, and Susan Yang [Leeper et al., 2013] in their analysis of fiscal foresight.