40. Consumption and Tax Smoothing with Complete and Incomplete Markets#
Contents
40.1. Overview#
This lecture describes two types of consumption-smoothing and tax-smoothing models
One is in the complete markets tradition of Lucas and Stokey [LS83].
The other is in the incomplete markets tradition of Hall [Hal78] and Barro [Bar79].
Complete markets* allow a consumer or government to buy or sell claims contingent on all possible states of the world.
Incomplete markets* allow a consumer or government to buy or sell only a limited set of securities, often only a single risk-free security.
Hall [Hal78] and Barro [Bar79] both assumed that the only asset that can be traded is a risk-free one period bond.
Hall assumed an exogenous stochastic process of nonfinancial income and
an exogenous gross interest rate on one period risk-free debt that equals
Barro [Bar79] made an analogous assumption about the risk-free interest rate in a tax-smoothing model that we regard as isomorphic to Hall’s consumption-smoothing model.
We maintain Hall and Barro’s assumption about the interest rate when we describe an incomplete markets version of our model.
In addition, we extend their assumption about the interest rate to an appropriate counterpart that we use in a “complete markets” model in the style of Lucas and Stokey [LS83].
While we are equally interested in consumption-smoothing and tax-smoothing models, for the most part we focus explicitly on consumption-smoothing versions of these models.
But for each version of the consumption-smoothing model there is a natural tax-smoothing counterpart obtained simply by
relabeling consumption as tax collections and nonfinancial income as government expenditures
relabeling the consumer’s debt as the government’s assets
For elaborations on this theme, please see Optimal Savings II: LQ Techniques and later parts of this lecture.
We’ll consider two closely related alternative assumptions about the consumer’s exogenous nonfinancial income process (or in the tax-smoothing interpretation, the government’s exogenous expenditure process):
that it obeys a finite
state Markov chain (setting most of the time)that it is described by a linear state space model with a continuous state vector in
driven by a Gaussian vector iid shock process
We’ll spend most of this lecture studying the finite-state Markov specification, but will briefly treat the linear state space specification before concluding.
40.1.1. Relationship to Other Lectures#
This lecture can be viewed as a followup to Optimal Savings II: LQ Techniques and a warm up for a model of tax smoothing described in opt_tax_recur.
Linear-quadratic versions of the Lucas-Stokey tax-smoothing model are described in lqramsey.
The key differences between those lectures and this one are
Here the decision maker takes all prices as exogenous, meaning that his decisions do not affect them.
In lqramsey and opt_tax_recur, the decision maker – the government in the case of these lectures – recognizes that his decisions affect prices.
So these later lectures are partly about how the government should manipulate prices of government debt.
40.2. Background#
Outcomes in consumption-smoothing (or tax-smoothing) models emerge from two sources:
a decision maker – a consumer in the consumption-smoothing model or a government in the tax-smoothing model – who wants to maximize an intertemporal objective function that expresses its preference for paths of consumption (or tax collections) that are smooth in the sense of not varying across time and Markov states
a set of trading opportunities that allow the optimizer to transform a possibly erratic nonfinancial income (or government expenditure) process into a smoother consumption (or tax collections) process by purchasing or selling financial securities
In the complete markets version of the model, each period the consumer can buy or sell one-period ahead state-contingent securities whose payoffs depend on next period’s realization of the Markov state.
In the two-state Markov chain case, there are two such securities each period.
In an
These state-contingent securities are commonly called Arrow securities, after Kenneth Arrow who first theorized about them.
In the incomplete markets version of the model, the consumer can buy and sell only one security each period, a risk-free bond with gross return
40.2.1. Finite State Markov Income Process#
In each version of the consumption-smoothing model, nonfinancial income is governed by a two-state Markov chain (it’s easy to generalize this to an
In particular, the state of the world is given by
Nonfinancial income
A consumer wishes to maximize
40.2.1.1. Remark About Isomorphism#
We can regard these as Barro [Bar79] tax-smoothing models if we set
40.2.2. Market Structure#
The two models differ in how effectively the market structure allows the consumer to transfer resources across time and Markov states, there being more transfer opportunities in the complete markets setting than in the incomplete markets setting.
Watch how these differences in opportunities affect
how smooth consumption is across time and Markov states
how the consumer chooses to make his levels of indebtedness behave over time and across Markov states
40.3. Model 1 (Complete Markets)#
At each date
We assume that prices of these securities are exogenous to the consumer (or in the tax-smoothing version of the model, to the government).
Exogenous means that they are unaffected by the decision maker.
In Markov state
At time
The consumer’s budget constraint at
where
An analogue of Hall’s assumption that the one-period risk-free gross
interest rate is
To understand this, observe that in state
Hence the implied price of a risk-free claim on one unit of consumption next period is
This confirms that (40.2) is a natural analogue of Hall’s assumption about the risk-free one-period interest rate.
First-order necessary conditions for maximizing the consumer’s expected utility are
or, under our assumption (40.2) on Arrow security prices,
Thus, our consumer sets
Guess: We’ll make the plausible guess that
so that the amount borrowed today turns out to depend only on tomorrow’s Markov state. (Why is this is a plausible guess?).
To determine
For
or
These are
To get a third equation, we assume that at time
Then the budget constraint at time
If we substitute (40.6) into the first equation of (40.5) and rearrange, we discover that
We can then use the second equation of (40.5) to deduce the restriction
an equation in the unknown
Knowing
40.3.1. Key outcomes#
The preceding calculations indicate that in the complete markets version of our model, we obtain the following striking results:
The consumer chooses to make consumption perfectly constant across time and Markov states.
We computed the constant level of consumption
The consumer’s debt neither accumulates, nor decumulates, nor drifts. Instead the debt level each period is an exact function of the Markov state, so in the two-state Markov case, it switches between two values.
We have verified guess (40.4).
We computed how one of those debt levels depends entirely on initial debt – it equals it – and how the other value depends on virtually all remaining parameters of the model.
40.3.2. Code#
Here’s some code that, among other things, contains a function called consumption_complete().
This function computes
using LinearAlgebra, Statistics
using Plots, QuantEcon, Random
function ConsumptionProblem(beta = 0.96,
y = [2.0, 1.5],
b0 = 3.0,
P = [0.8 0.2
0.4 0.6])
return (; beta, y, b0, P)
end
function consumption_complete(cp)
(; beta, P, y, b0) = cp
y1, y2 = y # extract income levels
b1 = b0 # b1 is known to be equal to b0
Q = beta * P # assumed price system
# Using equation (7) calculate b2
b2 = (y2 - y1 - (Q[1, 1] - Q[2, 1] - 1) * b1) / (Q[1, 2] + 1 - Q[2, 2])
# Using equation (5) calculate c_bar
c_bar = y1 - b0 + ([b1 b2] * Q[1, :])[1]
return c_bar, b1, b2
end
function consumption_incomplete(cp; N_simul = 150)
(; beta, P, y, b0) = cp
# for the simulation use the MarkovChain type
mc = MarkovChain(P)
# useful variables
y = y
v = inv(I - beta * P) * y
# simulate state path
s_path = simulate(mc, N_simul, init = 1)
# store consumption and debt path
b_path, c_path = ones(N_simul + 1), ones(N_simul)
b_path[1] = b0
# optimal decisions from (12) and (13)
db = ((1 - beta) * v - y) / beta
for (i, s) in enumerate(s_path)
c_path[i] = (1 - beta) * (v[s, 1] - b_path[i])
b_path[i + 1] = b_path[i] + db[s, 1]
end
return c_path, b_path[1:(end - 1)], y[s_path], s_path
end
consumption_incomplete (generic function with 1 method)
Let’s test by checking that
cp = ConsumptionProblem()
c_bar, b1, b2 = consumption_complete(cp)
debt_complete = [b1, b2]
isapprox((c_bar + b2 - cp.y[2] - debt_complete' * (cp.beta * cp.P)[2, :])[1], 0)
true
Below, we’ll take the outcomes produced by this code – in particular the implied consumption and debt paths – and compare them with outcomes from an incomplete markets model in the spirit of Hall [Hal78] and Barro [Bar79] (and also, for those who love history, Gallatin (1807) [Gal37]).
40.4. Model 2 (One-Period Risk Free Debt Only)#
This is a version of the original models of Hall (1978) and Barro (1979)
in which the decision maker’s ability to substitute intertemporally is
constrained by his ability to buy or sell only one security, a risk-free
one-period bond bearing a constant gross interest rate that equals
Given an initial debt
where
First-order conditions for the consumer’s problem are
For our assumed quadratic utility function this implies
which is Hall’s (1978) conclusion that consumption follows a random walk.
As we saw in our first lecture on the permanent income model, this leads to
and
Equation (40.11) expresses
Substituting (40.11) into the one-period budget constraint and rearranging leads to
Now let’s do a useful calculation that will yield a convenient expression for the key term
Define
In our finite Markov chain setting,
Therefore, we can write
or
where
We can also write the last expression as
In our finite Markov chain setting, from expression (40.11), consumption at date
and the increment in debt is
40.4.1. Summary of Outcomes#
In contrast to outcomes in the complete markets model, in the incomplete markets model
consumption drifts over time as a random walk; the level of consumption at time
depends on the level of debt that the consumer brings into the period as well as the expected discounted present value of nonfinancial income atthe consumer’s debt drifts upward over time in response to low realizations of nonfinancial income and drifts downward over time in response to high realizations of nonfinancial income
the drift over time in the consumer’s debt and the dependence of current consumption on today’s debt level account for the drift over time in consumption
40.4.2. The Incomplete Markets Model#
The code above also contains a function called consumption_incomplete() that uses (40.13) and (40.14) to
simulate paths of
plot these against values of of
found in a corresponding complete markets economy
Let’s try this, using the same parameters in both complete and incomplete markets economies
Random.seed!(42)
N_simul = 150
cp = ConsumptionProblem()
c_bar, b1, b2 = consumption_complete(cp)
debt_complete = [b1, b2]
c_path, debt_path, y_path, s_path = consumption_incomplete(cp,
N_simul = N_simul)
plt_cons = plot(title = "Consumption paths", xlabel = "Periods",
ylim = [1.4, 2.1])
plot!(plt_cons, 1:N_simul, c_path, label = "incomplete market", lw = 2)
plot!(plt_cons, 1:N_simul, fill(c_bar, N_simul), label = "complete market",
lw = 2)
plot!(plt_cons, 1:N_simul, y_path, label = "income", lw = 2, alpha = 0.6,
linestyle = :dash)
plot!(plt_cons, legend = :bottom)
plt_debt = plot(title = "Debt paths", xlabel = "Periods")
plot!(plt_debt, 1:N_simul, debt_path, label = "incomplete market")
plot!(plt_debt, 1:N_simul, debt_complete[s_path], label = "complete market",
lw = 2)
plot!(plt_debt, 1:N_simul, y_path, label = "income", lw = 2, alpha = 0.6,
linestyle = :dash)
plot!(plt_debt, legend = :bottomleft)
plot(plt_cons, plt_debt, layout = (1, 2), size = (800, 400))
In the graph on the left, for the same sample path of nonfinancial
income
consumption is constant when there are complete markets, but it takes a random walk in the incomplete markets version of the model
the consumer’s debt oscillates between two values that are functions of the Markov state in the complete markets model, while the consumer’s debt drifts in a “unit root” fashion in the incomplete markets economy
40.4.2.1. Using the Isomorphism#
We can simply relabel variables to acquire tax-smoothing interpretations of our two models
plt_tax = plot(title = "Tax collection paths", x_label = "Periods",
ylim = [1.4, 2.1])
plot!(plt_tax, 1:N_simul, c_path, label = "incomplete market", lw = 2)
plot!(plt_tax, 1:N_simul, fill(c_bar, N_simul), label = "complete market",
lw = 2)
plot!(plt_tax, 1:N_simul, y_path, label = "govt expenditures", alpha = 0.6,
linestyle = :dash,
lw = 2)
plt_gov = plot(title = "Government assets paths", x_label = "Periods")
plot!(plt_gov, 1:N_simul, debt_path, label = "incomplete market", lw = 2)
plot!(plt_gov, 1:N_simul, debt_complete[s_path], label = "complete market",
lw = 2)
plot!(plt_gov, 1:N_simul, y_path, label = "govt expenditures", alpha = 0.6,
linestyle = :dash,
lw = 2)
hline!(plt_gov, [0], linestyle = :dash, color = :black, lw = 2, label = "")
plot(plt_tax, plt_gov, layout = (1, 2), size = (800, 400))
40.5. Example: Tax Smoothing with Complete Markets#
It is useful to focus on a simple tax-smoothing example with complete markets.
This example will illustrate how, in a complete markets model like that of Lucas and Stokey [LS83], the government purchases insurance from the private sector.
Purchasing insurance protects the government against the need to raise taxes too high or issue too much debt in the high government expenditure event.
We assume that government expenditures move between two values
The government budget constraint in Markov state
where
is the price of one unit of output next period in state
That is,
As above, we’ll assume that the initial Markov state is state
In addition, to simplify our example, we’ll set the government’s initial
asset level to
Here’s our code to compute a quantitative example with zero debt in peace time:
# Parameters
beta = 0.96
y = [1.0, 2.0]
b0 = 0.0
P = [0.8 0.2;
0.4 0.6]
cp = ConsumptionProblem(beta, y, b0, P)
Q = beta * P
N_simul = 150
c_bar, b1, b2 = consumption_complete(cp)
debt_complete = [b1, b2]
println("P = $P")
println("Q = $Q")
println("Govt expenditures in peace and war = $y")
println("Constant tax collections = $c_bar")
println("Govt assets in two states = $debt_complete")
msg = """
Now let's check the government's budget constraint in peace and war.
Our assumptions imply that the government always purchases 0 units of the
Arrow peace security.
"""
println(msg)
AS1 = Q[1, 2] * b2
println("Spending on Arrow war security in peace = $AS1")
AS2 = Q[2, 2] * b2
println("Spending on Arrow war security in war = $AS2")
println("\n")
println("Government tax collections plus asset levels in peace and war")
TB1 = c_bar + b1
println("T+b in peace = $TB1")
TB2 = c_bar + b2
println("T+b in war = $TB2")
println("\n")
println("Total government spending in peace and war")
G1 = y[1] + AS1
G2 = y[2] + AS2
println("total govt spending in peace = $G1")
println("total govt spending in war = $G2")
println("\n")
println("Let's see ex post and ex ante returns on Arrow securities")
Pi = 1 ./ Q # reciprocal(Q)
exret = Pi
println("Ex post returns to purchase of Arrow securities = $exret")
exant = Pi .* P
println("Ex ante returns to purchase of Arrow securities = $exant")
P = [0.8 0.2; 0.4 0.6]
Q = [0.768 0.192; 0.384 0.576]
Govt expenditures in peace and war = [1.0, 2.0]
Constant tax collections = 1.3116883116883118
Govt assets in two states = [0.0, 1.6233766233766234]
Now let's check the government's budget constraint in peace and war.
Our assumptions imply that the government always purchases 0 units of the
Arrow peace security.
Spending on Arrow war security in peace = 0.3116883116883117
Spending on Arrow war security in war = 0.9350649350649349
Government tax collections plus asset levels in peace and war
T+b in peace = 1.3116883116883118
T+b in war = 2.9350649350649354
Total government spending in peace and war
total govt spending in peace = 1.3116883116883118
total govt spending in war = 2.935064935064935
Let's see ex post and ex ante returns on Arrow securities
Ex post returns to purchase of Arrow securities = [1.3020833333333333 5.208333333333333; 2.6041666666666665 1.7361111111111112]
Ex ante returns to purchase of Arrow securities = [1.0416666666666667 1.0416666666666667; 1.0416666666666667 1.0416666666666667]
40.5.1. Explanation#
In this example, the government always purchase
But it purchases a positive amount of the security that pays off in war
time (Markov state
We recommend plugging the quantities computed above into the government budget constraints in the two Markov states and staring.
This is an example in which the government purchases insurance against the possibility that war breaks out or continues
the insurance does not pay off so long as peace continues
the insurance pays off when there is war
Exercise: try changing the Markov transition matrix so that
Also, start the system in Markov state
40.6. Linear State Space Version of Complete Markets Model#
Now we’ll use a setting like that in first lecture on the permanent income model.
In that model, there were
incomplete markets: the consumer could trade only a single risk-free one-period bond bearing gross one-period risk-free interest rate equal to
the consumer’s exogenous nonfinancial income was governed by a linear state space model driven by Gaussian shocks, the kind of model studied in an earlier lecture about linear state space models
We’ll write down a complete markets counterpart of that model.
So now we’ll suppose that nonfinancial income is governed by the state space system
where
Again, as a counterpart of the Hall-Barro assumption that the risk-free
gross interest rate is
where
Let
Using the pricing function assumed in (40.15), the value at
In the complete markets setting, the consumer faces a sequence of budget constraints
We can solve the time
We assume as before that the consumer cares about the expected value of
In the incomplete markets version of the model, we assumed that
But in the complete markets version, we can assume a more general form
of utility function that satisfies
The first-order condition for the consumer’s problem with complete markets and our assumption about Arrow securities prices is
which again implies
So it follows that
or
where the value of
where
Thus, in the complete markets version of the consumption-smoothing
model,
Here’s an example that shows how in this setting the availability of insurance against fluctuating nonfinancial income allows the consumer completely to smooth consumption across time and across states of the world.
function complete_ss(beta, b0, x0, A, C, S_y, T = 12)
# Create a linear state space for simulation purposes
# This adds "b" as a state to the linear state space system
# so that setting the seed places shocks in same place for
# both the complete and incomplete markets economy
# Atilde = vcat(hcat(A, zeros(size(A,1), 1)),
# zeros(1, size(A,2) + 1))
# Ctilde = vcat(C, zeros(1, 1))
# S_ytilde = hcat(S_y, zeros(1, 1))
lss = LSS(A, C, S_y, mu_0 = x0)
# Add extra state to initial condition
# x0 = hcat(x0, 0)
# Compute the (I - beta*A)^{-1}
rm = inv(I - beta * A)
# Constant level of consumption
cbar = (1 - beta) * (S_y * rm * x0 .- b0)
c_hist = ones(T) * cbar[1]
# Debt
x_hist, y_hist = simulate(lss, T)
b_hist = (S_y * rm * x_hist .- cbar[1] / (1.0 - beta))
return c_hist, vec(b_hist), vec(y_hist), x_hist
end
N_simul = 150
# Define parameters
alpha, rho1, rho2 = 10.0, 0.9, 0.0
sigma = 1.0
# N_simul = 1
# T = N_simul
A = [1.0 0.0 0.0;
alpha rho1 rho2;
0.0 1.0 0.0]
C = [0.0, sigma, 0.0]
S_y = [1.0 1.0 0.0]
beta, b0 = 0.95, -10.0
x0 = [1.0, alpha / (1 - rho1), alpha / (1 - rho1)]
# Do simulation for complete markets
out = complete_ss(beta, b0, x0, A, C, S_y, 150)
c_hist_com, b_hist_com, y_hist_com, x_hist_com = out
# Consumption plots
plt_cons = plot(title = "Cons and income", xlabel = "Periods",
ylim = [-5.0, 110])
plot!(plt_cons, 1:N_simul, c_hist_com, label = "consumption", lw = 2)
plot!(plt_cons, 1:N_simul, y_hist_com, label = "income",
lw = 2, alpha = 0.6, linestyle = :dash)
# Debt plots
plt_debt = plot(title = "Debt and income", xlabel = "Periods")
plot!(plt_debt, 1:N_simul, b_hist_com, label = "debt", lw = 2)
plot!(plt_debt, 1:N_simul, y_hist_com, label = "Income",
lw = 2, alpha = 0.6, linestyle = :dash)
hline!(plt_debt, [0], color = :black, linestyle = :dash, lw = 2, label = "")
plot(plt_cons, plt_debt, layout = (1, 2), size = (800, 400))
plot!(legend = :bottomleft)
40.6.1. Interpretation of Graph#
In the above graph, please note that:
nonfinancial income fluctuates in a stationary manner
consumption is completely constant
the consumer’s debt fluctuates in a stationary manner; in fact, in this case because nonfinancial income is a first-order autoregressive process, the consumer’s debt is an exact affine function (meaning linear plus a constant) of the consumer’s nonfinancial income
40.6.2. Incomplete Markets Version#
The incomplete markets version of the model with nonfinancial income being governed by a linear state space system is described in the first lecture on the permanent income model and the followup lecture on the permanent income model.
In that version, consumption follows a random walk and the consumer’s debt follows a process with a unit root.
We leave it to the reader to apply the usual isomorphism to deduce the corresponding implications for a tax-smoothing model like Barro’s [Bar79].
40.6.3. Government Manipulation of Arrow Securities Prices#
In optimal taxation in an LQ economy and recursive optimal taxation, we study complete-markets models in which the government recognizes that it can manipulate Arrow securities prices.
In optimal taxation with incomplete markets, we study an incomplete-markets model in which the government manipulates asset prices.