From 954dd23603b0c370aa78ee0a2e8b803d27ad506e Mon Sep 17 00:00:00 2001 From: thomassargent30 Date: Tue, 8 Oct 2024 16:00:44 -0400 Subject: [PATCH 1/4] Tom's edits of two calvo lectures in a branch --- lectures/_toc.yml | 1 + lectures/calvo.md | 482 ++++------------------------ lectures/calvo_abreu.md | 689 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 745 insertions(+), 427 deletions(-) create mode 100644 lectures/calvo_abreu.md diff --git a/lectures/_toc.yml b/lectures/_toc.yml index 8ea2a81e..37ddefa9 100644 --- a/lectures/_toc.yml +++ b/lectures/_toc.yml @@ -67,6 +67,7 @@ parts: - file: dyn_stack - file: calvo_machine_learn - file: calvo + - file: calvo_abreu - file: opt_tax_recur - file: amss - file: amss2 diff --git a/lectures/calvo.md b/lectures/calvo.md index d391cda8..bdb6ff73 100644 --- a/lectures/calvo.md +++ b/lectures/calvo.md @@ -20,7 +20,7 @@ kernelspec: ``` -# Ramsey Plans, Time Inconsistency, Sustainable Plans +# Time Inconsistency of Ramsey Plans ```{index} single: Models; Additive functionals ``` @@ -60,8 +60,7 @@ The models feature A theme of this lecture is that timing protocols affect outcomes. -We'll use ideas from papers by Cagan {cite}`Cagan`, Calvo {cite}`Calvo1978`, Stokey {cite}`stokey1989reputation`, {cite}`Stokey1991`, -Chari and Kehoe {cite}`chari1990sustainable`, Chang {cite}`chang1998credible`, and Abreu {cite}`Abreu` as +We'll use ideas from papers by Cagan {cite}`Cagan`, Calvo {cite}`Calvo1978`, and Chang {cite}`chang1998credible` as well as from chapter 19 of {cite}`Ljungqvist2012`. In addition, we'll use ideas from linear-quadratic dynamic programming @@ -225,7 +224,7 @@ $$ U(-\alpha \theta_t) = u_1 + u_2 (-\alpha \theta_t) -\frac{u_2}{2}(-\alpha \theta_t)^2 . $$ (eq_old5a) -The "bliss level" of real balances is $\frac{u_1}{u_2}$ and the inflation rate that attains +The``bliss level`` of real balances is $\frac{u_1}{u_2}$ and the inflation rate that attains it is $-\frac{u_1}{u_2 \alpha}$. ## Friedman's Optimal Rate of Deflation @@ -253,7 +252,7 @@ To deduce this recommendation, Milton Friedman assumed that the taxes that gover - for example, perhaps the government can impose lump sum taxes that distort no decisions by private agents -## Calvo's Distortion of Friedman's optimal Deflation Rate +## Calvo's Distortion The starting point of Calvo {cite}`Calvo1978` and Chang {cite}`chang1998credible` is that such lump sum taxes are not available. @@ -301,7 +300,7 @@ $$ v_t = - \sum_{j=0}^\infty \beta^j s(\theta_{t+j}, \mu_{t+j}) . $$ -We can represent the dependence of $v_0$ on $(\vec \theta, \vec \mu)$ recursively via the difference equation +We can represent dependence of $v_0$ on $(\vec \theta, \vec \mu)$ recursively via the difference equation ```{math} :label: eq_old8 @@ -357,7 +356,7 @@ A theory of government decisions will make $\vec \mu$ endogenous, i.e., a theoretical *output* instead of an *input*. -## Intertemporal Structure +### Intertemporal Aspects Criterion function {eq}`eq_old7` and the constraint system {eq}`eq_old4` exhibit the following structure: @@ -378,9 +377,9 @@ We'll study outcomes under a Ramsey timing protocol. We'll also study outcomes under other timing protocols. -## Four Timing Protocols +## Three Timing Protocols -We consider four models of government policy making that differ in +We consider three models of government policy making that differ in - *what* a policymaker chooses, either a sequence $\vec \mu$ or just $\mu_t$ in a single period $t$. @@ -395,12 +394,12 @@ $\mu_t$ affects household one-period utilities at dates $s = 0, 1, \ldots, t-1$ - these two models thus employ a **Ramsey** or **Stackelberg** timing protocol. -In two other models, there is a sequence of policymakers, each of whom +In a third model, there is a sequence of policymakers, each of whom sets $\mu_t$ at one $t$ only. - a time $t$ policymaker cares only about $v_t$ and ignores effects that its choice of $\mu_t$ has on $v_s$ at dates $s = 0, 1, \ldots, t-1$. -The four models differ with respect to timing protocols, constraints on +The three models differ with respect to timing protocols, constraints on government choices, and government policymakers' beliefs about how their decisions affect the representative agent's beliefs about future government decisions. @@ -414,9 +413,8 @@ The models are distinguished by their having either subject to the constraint that $\mu_t = \mu$ for all $t \geq 0$; or - A sequence indexed by $t =0, 1, 2, \ldots$ of separate policymakers - - a time $t$ policymaker chooses $\mu_t$ only and forecasts that future government decisions are unaffected by its choice; or -- A sequence of separate policymakers in which - - a time $t$ policymaker chooses only $\mu_t$ but believes that its choice of $\mu_t$ shapes the representative agent's beliefs about future rates of money creation and inflation, and through them, future government actions. + - a time $t$ policymaker chooses $\mu_t$ only and forecasts that future government decisions are unaffected by its choice. + The first model describes a **Ramsey plan** chosen by a **Ramsey planner** @@ -424,14 +422,32 @@ The second model describes a **Ramsey plan** chosen by a *Ramsey planner constra The third model describes a **Markov perfect equilibrium** -The fourth model describes a **credible government policy** also known as a **sustainable plan** -The relationship between outcomes in the first (Ramsey) timing protocol and the fourth timing protocol and belief structure is the subject of a literature on **sustainable** or **credible** public policies (Chari and Kehoe {cite}`chari1990sustainable` +```{note} + In the quantecon lecture {doc}`calvo_abreu`, we'll study outcomes under another timing protocol in where there is a sequence of separate policymakers and a time $t$ policymaker chooses only $\mu_t$ but believes that its choice of $\mu_t$ shapes the representative agent's beliefs about future rates of money creation and inflation, and through them, future government actions. + This is a model of a **credible government policy** also known as a **sustainable plan**. +The relationship between outcomes in the first (Ramsey) timing protocol and the {doc}`calvo_abreu` timing protocol and belief structure is the subject of a literature on **sustainable** or **credible** public policies (Chari and Kehoe {cite}`chari1990sustainable` {cite}`stokey1989reputation`, and Stokey {cite}`Stokey1991`). +``` -We'll discuss that topic later in this lecture. -We'll begin with the timing protocol associated with a Ramsey plan. +## Note on Dynamic Programming Squared + +We'll begin with the timing protocol associated with a Ramsey plan and deploy +an application of what we nickname **dynamic programming squared**. + +The nickname refers to the feature that a value satisfying one Bellman equation appears as an argument in a second Bellman equation. + +Thus, our models have involved two Bellman equations: + +- equation {eq}`eq_old1` expresses how $\theta_t$ depends on $\mu_t$ + and $\theta_{t+1}$ +- equation {eq}`eq_old4` expresses how value $v_t$ depends on + $(\mu_t, \theta_t)$ and $v_{t+1}$ + +A value $\theta$ from one Bellman equation appears as an argument of a second Bellman equation for another value $v$. + +. ## A Ramsey Planner @@ -664,18 +680,8 @@ Variation of $ \vec \mu^R, \vec \theta^R, \vec v^R $ over time are symptoms o equation {eq}`eq_old3`. -## Digression on Timeless Perspective - -As our subsequent calculations will verify, $ \vec \mu^R, \vec \theta^R, \vec v^R $ are each monotone sequences that are bounded below and converge from above to limiting values. - -Some authors are fond of focusing only on these limiting values. - -They justify that by saying that they are taking a **timeless perspective** that ignores the transient movements in $ \vec \mu^R, \vec \theta^R, \vec v^R $ that are destined eventually to fade away as $\theta_t$ described by Ramsey plan system {eq}`eq_old9` converges from above. - - * the timeless perspective pretends that Ramsey plan was actually solved long ago, and that we are stuck with it. - -### Multiple roles of $\theta_t$ +## Multiple roles of $\theta_t$ The inflation rate $\theta_t$ plays three roles simultaneously: @@ -690,7 +696,7 @@ That the same variable $\theta_t$ takes on these multiple roles brings insights commitment and forward guidance, about whether the government follows or leads the market, and about dynamic or time inconsistency. -### Time inconsistency +## Time inconsistency As discussed in {doc}`Stackelberg problems ` and {doc}`Optimal taxation with state-contingent debt `, a continuation Ramsey plan is not a Ramsey plan. @@ -702,6 +708,10 @@ that, relative to a Ramsey plan, alter either - the timing protocol and/or - assumptions about how government decision makers think their decisions affect the representative agent's beliefs about future government decisions + + + + ## Constrained-to-Constant-Growth-Rate Ramsey Plan We now describe a model in which we restrict the Ramsey planner's choice set. @@ -1152,7 +1162,7 @@ In the above graph, notice that $\theta^* < \theta_\infty^R < \theta^{CR} < \the In some subsequent calculations, we'll use our Python code to study how gaps between these outcome vary depending on parameters such as the cost parameter $c$ and the discount factor $\beta$. -### Ramsey Planner's Value Function +## Ramsey Planner's Value Function The next code plots the Ramsey Planner's value function $J(\theta)$ as well as the value function of a constrained Ramsey planner who must choose a constant @@ -1530,387 +1540,6 @@ economists. The *no incentive to deviate from the plan* property is what makes the Markov perfect equilibrium concept attractive. -### Ramsey Plan Strikes Back - -Research by Abreu {cite}`Abreu`, Chari and Kehoe {cite}`chari1990sustainable` -{cite}`stokey1989reputation`, and Stokey {cite}`Stokey1991` discovered conditions under which a Ramsey plan can be rescued from the complaint that it is not credible. - -They accomplished this by expanding the -description of a plan to include expectations about *adverse consequences* of deviating from -it that can serve to deter deviations. - -We turn to such theories of *sustainable plans* next. - -## A Fourth Model of Government Decision Making - -In this model - -- the government does not set $\{\mu_t\}_{t=0}^\infty$ once and - for all at $t=0$ -- instead it sets $\mu_t$ at time $t$ -- the representative agent's forecasts of - $\{\mu_{t+j+1}, \theta_{t+j+1}\}_{j=0}^\infty$ respond to - whether the government at $t$ *confirms* or *disappoints* - its forecasts of $\mu_t$ brought into period $t$ from - period $t-1$. -- the government at each time $t$ understands how the representative agent's - forecasts will respond to its choice of $\mu_t$. -- at each $t$, the government chooses $\mu_t$ to maximize - a continuation discounted utility. - -### Government Decisions - -$\vec \mu$ is chosen by a sequence of government -decision makers, one for each $t \geq 0$. - -We assume the following within-period and between-period timing protocol -for each $t \geq 0$: - -- at time $t-1$, private agents expect that the government will set - $\mu_t = \tilde \mu_t$, and more generally that it will set - $\mu_{t+j} = \tilde \mu_{t+j}$ for all $j \geq 0$. -- The forecasts $\{\tilde \mu_{t+j}\}_{j \geq 0}$ determine a - $\theta_t = \tilde \theta_t$ and an associated log - of real balances $m_t - p_t = -\alpha\tilde \theta_t$ at - $t$. -- Given those expectations and an associated $\theta_t = \tilde \theta_t$, at - $t$ a government is free to set $\mu_t \in {\bf R}$. -- If the government at $t$ *confirms* the representative agent's - expectations by setting $\mu_t = \tilde \mu_t$ at time - $t$, private agents expect the continuation government policy - $\{\tilde \mu_{t+j+1}\}_{j=0}^\infty$ and therefore bring - expectation $\tilde \theta_{t+1}$ into period $t+1$. -- If the government at $t$ *disappoints* private agents by setting - $\mu_t \neq \tilde \mu_t$, private agents expect - $\{\mu^A_j\}_{j=0}^\infty$ as the - continuation policy for $t+1$, i.e., - $\{\mu_{t+j+1}\} = \{\mu_j^A \}_{j=0}^\infty$ and therefore - expect an associated $\theta_0^A$ for $t+1$. Here $\vec \mu^A = \{\mu_j^A \}_{j=0}^\infty$ is - an alternative government plan to be described below. - -### Temptation to Deviate from Plan - -The government's one-period return function $s(\theta,\mu)$ -described in equation {eq}`eq_old6` above has the property that for all -$\theta$ - -$$ -- s(\theta, 0 ) \geq - s(\theta, \mu) \quad -$$ - -This inequality implies that whenever the policy calls for the -government to set $\mu \neq 0$, the government could raise its -one-period payoff by setting $\mu =0$. - -Disappointing private sector expectations in that way would increase the -government's *current* payoff but would have adverse consequences for -*subsequent* government payoffs because the private sector would alter -its expectations about future settings of $\mu$. - -The *temporary* gain constitutes the government's temptation to -deviate from a plan. - -If the government at $t$ is to resist the temptation to raise its -current payoff, it is only because it forecasts adverse consequences that -its setting of $\mu_t$ would bring for continuation government payoffs via alterations in the private sector's expectations. - -## Sustainable or Credible Plan - -We call a plan $\vec \mu$ **sustainable** or **credible** if at -each $t \geq 0$ the government chooses to confirm private -agents' prior expectation of its setting for $\mu_t$. - -The government will choose to confirm prior expectations only if the -long-term *loss* from disappointing private sector expectations -- -coming from the government's understanding of the way the private sector -adjusts its expectations in response to having its prior -expectations at $t$ disappointed -- outweigh the short-term -*gain* from disappointing those expectations. - -The theory of sustainable or credible plans assumes throughout that private sector -expectations about what future governments will do are based on the -assumption that governments at times $t \geq 0$ always act to -maximize the continuation discounted utilities that describe those -governments' purposes. - -This aspect of the theory means that credible plans always come in *pairs*: - -- a credible (continuation) plan to be followed if the government at - $t$ *confirms* private sector expectations -- a credible plan to be followed if the government at $t$ - *disappoints* private sector expectations - -That credible plans come in pairs threaten to bring an explosion of plans to keep track of - -* each credible plan itself consists of two credible plans -* therefore, the number of plans underlying one plan is unbounded - -But Dilip Abreu showed how to render manageable the number of plans that must be kept track of. - -The key is an object called a **self-enforcing** plan. - -### Abreu's Self-Enforcing Plan - -A plan $\vec \mu^A$ (here the superscipt $A$ is for Abreu) is said to be **self-enforcing** if - -- the consequence of disappointing the representative agent's expectations at time - $j$ is to *restart* plan $\vec \mu^A$ at time $j+1$ -- the consequence of restarting the plan is sufficiently adverse that it forever deters all - deviations from the plan - -More precisely, a government plan $\vec \mu^A$ with equilibrium inflation sequence $\vec \theta^A$ is -**self-enforcing** if - -```{math} -:label: eq_old10 - -\begin{aligned} -v_j^A & = - s(\theta^A_j, \mu^A_j) + \beta v_{j+1}^A \\ -& \geq - s(\theta^A_j, 0 ) + \beta v_0^A \equiv v_j^{A,D}, \quad j \geq 0 -\end{aligned} -``` - -(Here it is useful to recall that setting $\mu=0$ is the maximizing choice for the government's one-period return function) - -The first line tells the consequences of confirming the representative agent's -expectations by following the plan, while the second line tells the consequences of -disappointing the representative agent's expectations by deviating from the plan. - -A consequence of the inequality stated in the definition is that a self-enforcing plan is -credible. - -Self-enforcing plans can be used to construct other credible plans, including ones with better values. - -Thus, where $\vec v^A$ is the value associated with a self-enforcing plan $\vec \mu^A$, -a sufficient condition for another plan $\vec \mu$ associated with inflation $\vec \theta$ and value $\vec v$ to be **credible** is that - -```{math} -:label: eq_old100a - -\begin{aligned} -v_j & = - s( \theta_j, \mu_j) + \beta v_{j+1} \\ -& \geq -s( \theta_j, 0) + \beta v_0^A \quad \forall j \geq 0 -\end{aligned} -``` - -For this condition to be satisfied it is necessary and sufficient that - -$$ --s( \theta_j, 0) - ( - s( \theta_j, \mu_j) ) < \beta ( v_{j+1} - v_0^A ) -$$ - -The left side of the above inequality is the government's *gain* from deviating from the plan, while the right side is the government's *loss* from deviating -from the plan. - -A government never wants to deviate from a credible plan. - -Abreu taught us that key step in constructing a credible plan is first constructing a -self-enforcing plan that has a low time $0$ value. - -The idea is to use the self-enforcing plan as a continuation plan whenever -the government's choice at time $t$ fails to confirm private -agents' expectation. - -We shall use a construction featured in Abreu ({cite}`Abreu`) to construct a -self-enforcing plan with low time $0$ value. - -### Abreu's Carrot-Stick Plan - -Abreu ({cite}`Abreu`) invented a way to create a self-enforcing plan with a low -initial value. - -Imitating his idea, we can construct a self-enforcing plan -$\vec \mu$ with a low time $0$ value to the government by -insisting that future government decision makers set $\mu_t$ to a value yielding low -one-period utilities to the household for a long time, after which -government decisions thereafter yield high one-period utilities. - -- Low one-period utilities early are a *stick* -- High one-period utilities later are a *carrot* - -Consider a candidate plan $\vec \mu^A$ that sets -$\mu_t^A = \bar \mu$ (a high positive -number) for $T_A$ periods, and then reverts to the Ramsey plan. - -Denote this sequence by $\{\mu_t^A\}_{t=0}^\infty$. - -The sequence of inflation rates implied by this plan, -$\{\theta_t^A\}_{t=0}^\infty$, can be calculated using: - -$$ -\theta_t^A = \frac{1}{1+\alpha} \sum_{j=0}^{\infty} \left(\frac{\alpha}{1+\alpha}\right)^j \mu^A_{t+j} -$$ - -The value of $\{\theta_t^A,\mu_t^A \}_{t=0}^\infty$ at time $0$ is - -$$ -v^A_0 = - \sum_{t=0}^{T_A-1} \beta^t s(\theta_t^A,\mu_t^A) +\beta^{T_A} J(\theta^R_0) -$$ - -For an appropriate $T_A$, this plan can be verified to be self-enforcing and therefore credible. - -### Example of Self-Enforcing Plan - -The following example implements an Abreu stick-and-carrot plan. - -The government sets $\mu_t^A = 0.1$ for $t=0, 1, \ldots, 9$ -and then starts the **Ramsey plan**. - -We have computed outcomes for this plan. - -For this plan, we plot the $\theta^A$, $\mu^A$ sequences as -well as the implied $v^A$ sequence. - -Notice that because the government sets money supply growth high for 10 -periods, inflation starts high. - -Inflation gradually slowly declines because people expect the government to lower the money growth rate after period -$10$. - -From the 10th period onwards, the inflation rate $\theta^A_t$ -associated with this **Abreu plan** starts the Ramsey plan from its -beginning, i.e., $\theta^A_{t+10} =\theta^R_t \ \ \forall t \geq 0$. - -```{code-cell} ipython3 -:tags: [hide-input] - -def abreu_plan(clq, T=1000, T_A=10, μ_bar=0.1, T_Plot=20): - """ - Compute and plot the Abreu plan for the given ChangLQ instance. - - Here clq is an instance of ChangLQ. - """ - # Append Ramsey μ series to stick μ series - clq.μ_A = np.append(np.full(T_A, μ_bar), clq.μ_series[:-T_A]) - - # Calculate implied stick θ series - discount = (clq.α / (1 + clq.α)) ** np.arange(T) - clq.θ_A = np.array([ - 1 / (clq.α + 1) * np.sum(clq.μ_A[t:] * discount[:T - t]) - for t in range(T) - ]) - - # Calculate utility of stick plan - U_A = clq.β ** np.arange(T) * ( - clq.u0 + clq.u1 * (-clq.θ_A) - clq.u2 / 2 - * (-clq.θ_A) ** 2 - clq.c * clq.μ_A ** 2 - ) - - clq.V_A = np.array([np.sum(U_A[t:] / clq.β ** t) for t in range(T)]) - - # Make sure Abreu plan is self-enforcing - clq.V_dev = np.array([ - (clq.u0 + clq.u1 * (-clq.θ_A[t]) - clq.u2 / 2 - * (-clq.θ_A[t]) ** 2) + clq.β * clq.V_A[0] - for t in range(T_Plot) - ]) - - # Plot the results - fig, axes = plt.subplots(3, 1, figsize=(8, 12)) - - axes[2].plot(clq.V_dev[:T_Plot], label="$V^{A, D}_t$", c="orange") - - plots = [clq.θ_A, clq.μ_A, clq.V_A] - labels = [r"$\theta_t^A$", r"$\mu_t^A$", r"$V^A_t$"] - - for plot, ax, label in zip(plots, axes, labels): - ax.plot(plot[:T_Plot], label=label) - ax.set(xlabel="$t$", ylabel=label) - ax.legend() - - plt.tight_layout() - plt.show() - -abreu_plan(clq) -``` - -To confirm that the plan $\vec \mu^A$ is **self-enforcing**, we -plot an object that we call $V_t^{A,D}$, defined in the key inequality in the second line of equation {eq}`eq_old10` above. - -$V_t^{A,D}$ is the value at $t$ of deviating from the -self-enforcing plan $\vec \mu^A$ by setting $\mu_t = 0$ and -then restarting the plan at $v^A_0$ at $t+1$: - -$$ -v_t^{A,D} = -s( \theta_j, 0) + \beta v_0^A -$$ - -In the above graph $v_t^A > v_t^{A,D}$, which confirms that $\vec \mu^A$ is a self-enforcing plan. - -We can also verify the inequalities required for $\vec \mu^A$ to -be self-confirming numerically as follows - -```{code-cell} ipython3 -np.all(clq.V_A[0:20] > clq.V_dev[0:20]) -``` - -Given that plan $\vec \mu^A$ is self-enforcing, we can check that -the Ramsey plan $\vec \mu^R$ is credible by verifying that: - -$$ -v^R_t \geq - s(\theta^R_t,0) + \beta v^A_0 , \quad \forall t \geq 0 -$$ - -```{code-cell} ipython3 -def check_ramsey(clq, T=1000): - # Make sure Ramsey plan is sustainable - R_dev = np.zeros(T) - for t in range(T): - R_dev[t] = (clq.u0 + clq.u1 * (-clq.θ_series[1, t]) - - clq.u2 / 2 * (-clq.θ_series[1, t])**2) \ - + clq.β * clq.V_A[0] - - return np.all(clq.J_series > R_dev) - -check_ramsey(clq) -``` - -### Recursive Representation of a Sustainable Plan - -We can represent a sustainable plan recursively by taking the -continuation value $v_t$ as a state variable. - -We form the following 3-tuple of functions: - -```{math} -:label: eq_old11 - -\begin{aligned} -\hat \mu_t & = \nu_\mu(v_t) \\ -\theta_t & = \nu_\theta(v_t) \\ -v_{t+1} & = \nu_v(v_t, \mu_t ) -\end{aligned} -``` - -In addition to these equations, we need an initial value $v_0$ to -characterize a sustainable plan. - -The first equation of {eq}`eq_old11` tells the recommended value of -$\hat \mu_t$ as a function of the promised value $v_t$. - -The second equation of {eq}`eq_old11` tells the inflation rate as a function of -$v_t$. - -The third equation of {eq}`eq_old11` updates the continuation value in a way that -depends on whether the government at $t$ confirms the representative agent's -expectations by setting $\mu_t$ equal to the recommended value -$\hat \mu_t$, or whether it disappoints those expectations. - -## Whose Plan is It? - -A credible government plan $\vec \mu$ plays multiple roles. - -* It is a sequence of actions chosen by the government. -* It is a sequence of the representative agent's forecasts of government actions. - -Thus, $\vec \mu$ is both a government policy and a collection of the representative agent's forecasts of government policy. - -Does the government *choose* policy actions or does it simply *confirm* prior private sector forecasts of those actions? - -An argument in favor of the *government chooses* interpretation comes from noting that the theory of credible plans builds in a theory that the government each period chooses -the action that it wants. - -An argument in favor of the *simply confirm* interpretation is gathered from staring at the key inequality {eq}`eq_old100a` that defines a credible policy. ## Comparison of Equilibrium Values @@ -1941,26 +1570,25 @@ clq.J_CR clq.J_MPE ``` -We have also computed **credible plans** for a government or sequence -of governments that choose sequentially. +## Digression on Timeless Perspective -These include +Our calculations have confirmed that $ \vec \mu^R, \vec \theta^R, \vec v^R $ are each monotone sequences that are bounded below and converge from above to limiting values. -- a **self-enforcing** plan that gives a low initial value $v_0$. -- a better plan -- possibly one that attains values associated with - Ramsey plan -- that is not self-enforcing. +Some authors are fond of focusing only on these limiting values. -## Note on Dynamic Programming Squared +They justify that by saying that they are taking a **timeless perspective** that ignores the transient movements in $ \vec \mu^R, \vec \theta^R, \vec v^R $ that are destined eventually to fade away as $\theta_t$ described by Ramsey plan system {eq}`eq_old9` converges from above. -The theory deployed in this lecture is an application of what we nickname **dynamic programming squared**. + * the timeless perspective pretends that Ramsey plan was actually solved long ago, and that we are stuck with it. -The nickname refers to the feature that a value satisfying one Bellman equation appears as an argument in a second Bellman equation. -Thus, our models have involved two Bellman equations: -- equation {eq}`eq_old1` expresses how $\theta_t$ depends on $\mu_t$ - and $\theta_{t+1}$ -- equation {eq}`eq_old4` expresses how value $v_t$ depends on - $(\mu_t, \theta_t)$ and $v_{t+1}$ +### Ramsey Plan Strikes Back -A value $\theta$ from one Bellman equation appears as an argument of a second Bellman equation for another value $v$. +Research by Abreu {cite}`Abreu`, Chari and Kehoe {cite}`chari1990sustainable` +{cite}`stokey1989reputation`, and Stokey {cite}`Stokey1991` discovered conditions under which a Ramsey plan can be rescued from the complaint that it is not credible. + +They accomplished this by expanding the +description of a plan to include expectations about *adverse consequences* of deviating from +it that can serve to deter deviations. + +We turn to such theories in this quantecon lecture {doc}`calvo_abreu`. diff --git a/lectures/calvo_abreu.md b/lectures/calvo_abreu.md new file mode 100644 index 00000000..fcc173dd --- /dev/null +++ b/lectures/calvo_abreu.md @@ -0,0 +1,689 @@ +--- +jupytext: + text_representation: + extension: .md + format_name: myst + format_version: 0.13 + jupytext_version: 1.16.2 +kernelspec: + display_name: Python 3 (ipykernel) + language: python + name: python3 +--- + +(calvo_abreu)= +```{raw} html + +``` + +# Sustainable Plans for a Calvo Model + +```{index} single: Models; Additive functionals +``` + +In addition to what's in Anaconda, this lecture will need the following libraries: + +```{code-cell} ipython3 +:tags: [hide-output] + +!pip install --upgrade quantecon +``` + +## Overview + + +This lecture is a sequel to this quantecon lecture {doc}`calvo`. + +It describes outcomes under yet another timing protocol for a linear-quadratic version of a model that Guillermo Calvo {cite}`Calvo1978` used to illustrate the **time inconsistency** of optimal government +plans. + + +A theme of that lecture was that timing protocols affect outcomes. + +In additional to the the ideas from papers by Cagan {cite}`Cagan`, Calvo {cite}`Calvo1978`, and Chang {cite}`chang1998credible`that we used in that lecture, in this lecture we'll use ideas from Stokey {cite}`stokey1989reputation`, {cite}`Stokey1991`, +Chari and Kehoe {cite}`chari1990sustainable`, and Abreu {cite}`Abreu` to study outcomes under +another timing protocol. + + +In addition to what's in Anaconda, this lecture will use the following libraries: + +```{code-cell} ipython3 +:tags: [hide-output] + +!pip install --upgrade quantecon +``` + +We'll start with some imports: + +```{code-cell} ipython3 +import numpy as np +from quantecon import LQ +import matplotlib.pyplot as plt +from matplotlib.ticker import FormatStrFormatter +import pandas as pd +from IPython.display import display, Math +``` + +## Model Components + +We'll start with a brief review of the setup. + +There is no uncertainty. + +Let + +- $p_t$ be the log of the price level +- $m_t$ be the log of nominal money balances +- $\theta_t = p_{t+1} - p_t$ be the net rate of inflation between $t$ and $t+1$ +- $\mu_t = m_{t+1} - m_t$ be the net rate of growth of nominal balances + +The demand for real balances is governed by a perfect foresight +version of a Cagan {cite}`Cagan` demand function for real balances: + +```{math} +:label: eq_old1 + +m_t - p_t = -\alpha(p_{t+1} - p_t) \: , \: \alpha > 0 +``` + +for $t \geq 0$. + +Equation {eq}`eq_old1` asserts that the demand for real balances is inversely +related to the public's expected rate of inflation, which equals +the actual rate of inflation because there is no uncertainty here. + +(When there is no uncertainty, an assumption of **rational expectations** that becomes equivalent to **perfect foresight**). + + +Subtracting the demand function {eq}`eq_old1` at time $t$ from the demand +function at $t+1$ gives: + +$$ +\mu_t - \theta_t = -\alpha \theta_{t+1} + \alpha \theta_t +$$ + +or + +```{math} +:label: eq_old2 + +\theta_t = \frac{\alpha}{1+\alpha} \theta_{t+1} + \frac{1}{1+\alpha} \mu_t +``` + +Because $\alpha > 0$, $0 < \frac{\alpha}{1+\alpha} < 1$. + +**Definition:** For scalar $b_t$, let $L^2$ be the space of sequences +$\{b_t\}_{t=0}^\infty$ satisfying + +$$ +\sum_{t=0}^\infty b_t^2 < +\infty +$$ + +We say that a sequence that belongs to $L^2$ is **square summable**. + +When we assume that the sequence $\vec \mu = \{\mu_t\}_{t=0}^\infty$ is square summable and we require that the sequence $\vec \theta = \{\theta_t\}_{t=0}^\infty$ is square summable, +the linear difference equation {eq}`eq_old2` can be solved forward to get: + +```{math} +:label: eq_old3 + +\theta_t = \frac{1}{1+\alpha} \sum_{j=0}^\infty \left(\frac{\alpha}{1+\alpha}\right)^j \mu_{t+j} +``` + +**Insight:** In the spirit of Chang {cite}`chang1998credible`, equations {eq}`eq_old1` and {eq}`eq_old3` show that $\theta_t$ intermediates +how choices of $\mu_{t+j}, \ j=0, 1, \ldots$ impinge on time $t$ +real balances $m_t - p_t = -\alpha \theta_t$. + +An equivalence class of continuation money growth sequences $\{\mu_{t+j}\}_{j=0}^\infty$ deliver the same $\theta_t$. + +That future rates of money creation influence earlier rates of inflation +makes timing protocols matter for modeling optimal government policies. + +Quantecon lecture {doc}`calvo` used this insight to help us simplify our analysis of alternative government policy problems. + + +## Another Timing Protocol + +The Quantecon lecture {doc}`calvo` considered three models of government policy making that differ in + +- *what* a policymaker chooses, either a sequence + $\vec \mu$ or just $\mu_t$ in a single period $t$. +- *when* a policymaker chooses, either once and for all at time $0$, or at some time or times $t \geq 0$. +- what a policymaker *assumes* about how its choice of $\mu_t$ + affects the representative agent's expectations about earlier and later + inflation rates. + +In this lecture, there is a sequence of policymakers, each of whom +sets $\mu_t$ at one $t$ only. + +To set the stage, recall that in a **Markov perfect equilibrium** + +- a time $t$ policymaker cares only about $v_t$ and ignores effects that its choice of $\mu_t$ has on $v_s$ at dates $s = 0, 1, \ldots, t-1$. + +In particular, in a Markov perfect equilibrium, there is a sequence indexed by $t =0, 1, 2, \ldots$ of separate policymakers; a time $t$ policymaker chooses $\mu_t$ only and forecasts that future government decisions are unaffected by its choice. + +By way of contrast, in this lecture there is sequence of separate policymakers; a time $t$ policymaker chooses only $\mu_t$, but now believes that its choice of $\mu_t$ shapes the representative agent's beliefs about future rates of money creation and inflation, and through them, future government actions. + +This timing protocol and belief structure leads to a model of a **credible government policy** also known as a **sustainable plan** + +The relationship between outcomes under a (Ramsey) timing protocol and the timing protocol and belief structure in this lecture is the subject of a literature on **sustainable** or **credible** public policies created by Abreu {cite}`Abreu`, {cite}`chari1990sustainable` +{cite}`stokey1989reputation`, and Stokey {cite}`Stokey1991`. + + +They discovered conditions under which a Ramsey plan can be rescued from the complaint that it is not credible. + +They accomplished this by expanding the +description of a plan to include expectations about *adverse consequences* of deviating from +it that can serve to deter deviations. + +In this version of our model + +- the government does not set $\{\mu_t\}_{t=0}^\infty$ once and + for all at $t=0$ +- instead it sets $\mu_t$ at time $t$ +- the representative agent's forecasts of + $\{\mu_{t+j+1}, \theta_{t+j+1}\}_{j=0}^\infty$ respond to + whether the government at $t$ *confirms* or *disappoints* + its forecasts of $\mu_t$ brought into period $t$ from + period $t-1$. +- the government at each time $t$ understands how the representative agent's + forecasts will respond to its choice of $\mu_t$. +- at each $t$, the government chooses $\mu_t$ to maximize + a continuation discounted utility. + +### Government Decisions + +$\vec \mu$ is chosen by a sequence of government +decision makers, one for each $t \geq 0$. + +The time $t$ decision maker chooses $\mu_t$. + +We assume the following within-period and between-period timing protocol +for each $t \geq 0$: + +- at time $t-1$, private agents expect that the government will set + $\mu_t = \tilde \mu_t$, and more generally that it will set + $\mu_{t+j} = \tilde \mu_{t+j}$ for all $j \geq 0$. +- The forecasts $\{\tilde \mu_{t+j}\}_{j \geq 0}$ determine a + $\theta_t = \tilde \theta_t$ and an associated log + of real balances $m_t - p_t = -\alpha\tilde \theta_t$ at + $t$. +- Given those expectations and an associated $\theta_t = \tilde \theta_t$, at + $t$ a government is free to set $\mu_t \in {\bf R}$. +- If the government at $t$ *confirms* the representative agent's + expectations by setting $\mu_t = \tilde \mu_t$ at time + $t$, private agents expect the continuation government policy + $\{\tilde \mu_{t+j+1}\}_{j=0}^\infty$ and therefore bring + expectation $\tilde \theta_{t+1}$ into period $t+1$. +- If the government at $t$ *disappoints* private agents by setting + $\mu_t \neq \tilde \mu_t$, private agents expect + $\{\mu^A_j\}_{j=0}^\infty$ as the + continuation policy for $t+1$, i.e., + $\{\mu_{t+j+1}\} = \{\mu_j^A \}_{j=0}^\infty$ and therefore + expect an associated $\theta_0^A$ for $t+1$. Here $\vec \mu^A = \{\mu_j^A \}_{j=0}^\infty$ is + an alternative government plan to be described below. + +### Temptation to Deviate from Plan + +The government's one-period return function $s(\theta,\mu)$ +described in equation {eq}`eq_old6` in quantecon lecture {cite}`Calvo1978` has the property that for all +$\theta$ + +$$ +- s(\theta, 0 ) \geq - s(\theta, \mu) \quad +$$ + +This inequality implies that whenever the policy calls for the +government to set $\mu \neq 0$, the government could raise its +one-period payoff by setting $\mu =0$. + +Disappointing private sector expectations in that way would increase the +government's *current* payoff but would have adverse consequences for +*subsequent* government payoffs because the private sector would alter +its expectations about future settings of $\mu$. + +The *temporary* gain constitutes the government's temptation to +deviate from a plan. + +If the government at $t$ is to resist the temptation to raise its +current payoff, it is only because it forecasts adverse consequences that +its setting of $\mu_t$ would bring for continuation government payoffs via alterations in the private sector's expectations. + +## Sustainable or Credible Plan + +We call a plan $\vec \mu$ **sustainable** or **credible** if at +each $t \geq 0$ the government chooses to confirm private +agents' prior expectation of its setting for $\mu_t$. + +The government will choose to confirm prior expectations only if the +long-term *loss* from disappointing private sector expectations -- +coming from the government's understanding of the way the private sector +adjusts its expectations in response to having its prior +expectations at $t$ disappointed -- outweigh the short-term +*gain* from disappointing those expectations. + +The theory of sustainable or credible plans assumes throughout that private sector +expectations about what future governments will do are based on the +assumption that governments at times $t \geq 0$ always act to +maximize the continuation discounted utilities that describe those +governments' purposes. + +This aspect of the theory means that credible plans always come in *pairs*: + +- a credible (continuation) plan to be followed if the government at + $t$ *confirms* private sector expectations +- a credible plan to be followed if the government at $t$ + *disappoints* private sector expectations + +That credible plans come in pairs threaten to bring an explosion of plans to keep track of + +* each credible plan itself consists of two credible plans +* therefore, the number of plans underlying one plan is unbounded + +But Dilip Abreu showed how to render manageable the number of plans that must be kept track of. + +The key is an object called a **self-enforcing** plan. + +### Abreu's Self-Enforcing Plan + +A plan $\vec \mu^A$ (here the superscipt $A$ is for Abreu) is said to be **self-enforcing** if + +- the consequence of disappointing the representative agent's expectations at time + $j$ is to *restart* plan $\vec \mu^A$ at time $j+1$ +- the consequence of restarting the plan is sufficiently adverse that it forever deters all + deviations from the plan + +More precisely, a government plan $\vec \mu^A$ with equilibrium inflation sequence $\vec \theta^A$ is +**self-enforcing** if + +```{math} +:label: eq_old10 + +\begin{aligned} +v_j^A & = - s(\theta^A_j, \mu^A_j) + \beta v_{j+1}^A \\ +& \geq - s(\theta^A_j, 0 ) + \beta v_0^A \equiv v_j^{A,D}, \quad j \geq 0 +\end{aligned} +``` + +(Here it is useful to recall that setting $\mu=0$ is the maximizing choice for the government's one-period return function) + +The first line tells the consequences of confirming the representative agent's +expectations by following the plan, while the second line tells the consequences of +disappointing the representative agent's expectations by deviating from the plan. + +A consequence of the inequality stated in the definition is that a self-enforcing plan is +credible. + +Self-enforcing plans can be used to construct other credible plans, including ones with better values. + +Thus, where $\vec v^A$ is the value associated with a self-enforcing plan $\vec \mu^A$, +a sufficient condition for another plan $\vec \mu$ associated with inflation $\vec \theta$ and value $\vec v$ to be **credible** is that + +```{math} +:label: eq_old100a + +\begin{aligned} +v_j & = - s( \theta_j, \mu_j) + \beta v_{j+1} \\ +& \geq -s( \theta_j, 0) + \beta v_0^A \quad \forall j \geq 0 +\end{aligned} +``` + +For this condition to be satisfied it is necessary and sufficient that + +$$ +-s( \theta_j, 0) - ( - s( \theta_j, \mu_j) ) < \beta ( v_{j+1} - v_0^A ) +$$ + +The left side of the above inequality is the government's *gain* from deviating from the plan, while the right side is the government's *loss* from deviating +from the plan. + +A government never wants to deviate from a credible plan. + +Abreu taught us that key step in constructing a credible plan is first constructing a +self-enforcing plan that has a low time $0$ value. + +The idea is to use the self-enforcing plan as a continuation plan whenever +the government's choice at time $t$ fails to confirm private +agents' expectation. + +We shall use a construction featured in Abreu ({cite}`Abreu`) to construct a +self-enforcing plan with low time $0$ value. + +### Abreu's Carrot-Stick Plan + +{cite}`Abreu` invented a way to create a self-enforcing plan with a low +initial value. + +Imitating his idea, we can construct a self-enforcing plan +$\vec \mu$ with a low time $0$ value to the government by +insisting that future government decision makers set $\mu_t$ to a value yielding low +one-period utilities to the household for a long time, after which +government decisions thereafter yield high one-period utilities. + +- Low one-period utilities early are a *stick* +- High one-period utilities later are a *carrot* + +Consider a candidate plan $\vec \mu^A$ that sets +$\mu_t^A = \bar \mu$ (a high positive +number) for $T_A$ periods, and then reverts to the Ramsey plan. + +Denote this sequence by $\{\mu_t^A\}_{t=0}^\infty$. + +The sequence of inflation rates implied by this plan, +$\{\theta_t^A\}_{t=0}^\infty$, can be calculated using: + +$$ +\theta_t^A = \frac{1}{1+\alpha} \sum_{j=0}^{\infty} \left(\frac{\alpha}{1+\alpha}\right)^j \mu^A_{t+j} +$$ + +The value of $\{\theta_t^A,\mu_t^A \}_{t=0}^\infty$ at time $0$ is + +$$ +v^A_0 = - \sum_{t=0}^{T_A-1} \beta^t s(\theta_t^A,\mu_t^A) +\beta^{T_A} J(\theta^R_0) +$$ + +For an appropriate $T_A$, this plan can be verified to be self-enforcing and therefore credible. + + + +From quantecon lecture {doc}`calvo`, we'll again bring in the Python class ChangLQ that constructs equilibria under timing protocols studied in that lecture. + +```{code-cell} ipython3 +class ChangLQ: + """ + Class to solve LQ Chang model + """ + def __init__(self, β, c, α=1, u0=1, u1=0.5, u2=3, T=1000, θ_n=200): + # Record parameters + self.α, self.u0, self.u1, self.u2 = α, u0, u1, u2 + self.β, self.c, self.T, self.θ_n = β, c, T, θ_n + + self.setup_LQ_matrices() + self.solve_LQ_problem() + self.compute_policy_functions() + self.simulate_ramsey_plan() + self.compute_θ_range() + self.compute_value_and_policy() + + def setup_LQ_matrices(self): + # LQ Matrices + self.R = -np.array([[self.u0, -self.u1 * self.α / 2], + [-self.u1 * self.α / 2, + -self.u2 * self.α**2 / 2]]) + self.Q = -np.array([[-self.c / 2]]) + self.A = np.array([[1, 0], [0, (1 + self.α) / self.α]]) + self.B = np.array([[0], [-1 / self.α]]) + + def solve_LQ_problem(self): + # Solve LQ Problem (Subproblem 1) + lq = LQ(self.Q, self.R, self.A, self.B, beta=self.β) + self.P, self.F, self.d = lq.stationary_values() + + # Compute g0, g1, and g2 (41.16) + self.g0, self.g1, self.g2 = [-self.P[0, 0], + -2 * self.P[1, 0], -self.P[1, 1]] + + # Compute b0 and b1 (41.17) + [[self.b0, self.b1]] = self.F + + # Compute d0 and d1 (41.18) + self.cl_mat = (self.A - self.B @ self.F) # Closed loop matrix + [[self.d0, self.d1]] = self.cl_mat[1:] + + # Solve Subproblem 2 + self.θ_R = -self.P[0, 1] / self.P[1, 1] + + # Find the bliss level of θ + self.θ_B = -self.u1 / (self.u2 * self.α) + + def compute_policy_functions(self): + # Solve the Markov Perfect Equilibrium + self.μ_MPE = -self.u1 / ((1 + self.α) / self.α * self.c + + self.α / (1 + self.α) + * self.u2 + self.α**2 + / (1 + self.α) * self.u2) + self.θ_MPE = self.μ_MPE + self.μ_CR = -self.α * self.u1 / (self.u2 * self.α**2 + self.c) + self.θ_CR = self.μ_CR + + # Calculate value under MPE and CR economy + self.J_θ = lambda θ_array: - np.array([1, θ_array]) \ + @ self.P @ np.array([1, θ_array]).T + self.V_θ = lambda θ: (self.u0 + self.u1 * (-self.α * θ) + - self.u2 / 2 * (-self.α * θ)**2 + - self.c / 2 * θ**2) / (1 - self.β) + + self.J_MPE = self.V_θ(self.μ_MPE) + self.J_CR = self.V_θ(self.μ_CR) + + def simulate_ramsey_plan(self): + # Simulate Ramsey plan for large number of periods + θ_series = np.vstack((np.ones((1, self.T)), np.zeros((1, self.T)))) + μ_series = np.zeros(self.T) + J_series = np.zeros(self.T) + θ_series[1, 0] = self.θ_R + [μ_series[0]] = -self.F.dot(θ_series[:, 0]) + J_series[0] = self.J_θ(θ_series[1, 0]) + + for i in range(1, self.T): + θ_series[:, i] = self.cl_mat @ θ_series[:, i-1] + [μ_series[i]] = -self.F @ θ_series[:, i] + J_series[i] = self.J_θ(θ_series[1, i]) + + self.J_series = J_series + self.μ_series = μ_series + self.θ_series = θ_series + + def compute_θ_range(self): + # Find the range of θ in Ramsey plan + θ_LB = min(min(self.θ_series[1, :]), self.θ_B) + θ_UB = max(max(self.θ_series[1, :]), self.θ_MPE) + θ_range = θ_UB - θ_LB + self.θ_LB = θ_LB - 0.05 * θ_range + self.θ_UB = θ_UB + 0.05 * θ_range + self.θ_range = θ_range + + def compute_value_and_policy(self): + # Create the θ_space + self.θ_space = np.linspace(self.θ_LB, self.θ_UB, 200) + + # Find value function and policy functions over range of θ + self.J_space = np.array([self.J_θ(θ) for θ in self.θ_space]) + self.μ_space = -self.F @ np.vstack((np.ones(200), self.θ_space)) + x_prime = self.cl_mat @ np.vstack((np.ones(200), self.θ_space)) + self.θ_prime = x_prime[1, :] + self.CR_space = np.array([self.V_θ(θ) for θ in self.θ_space]) + + self.μ_space = self.μ_space[0, :] + + # Calculate J_range, J_LB, and J_UB + self.J_range = np.ptp(self.J_space) + self.J_LB = np.min(self.J_space) - 0.05 * self.J_range + self.J_UB = np.max(self.J_space) + 0.05 * self.J_range +``` + +Let's create an instance of ChangLQ with the following parameters: + +```{code-cell} ipython3 +clq = ChangLQ(β=0.85, c=2) +``` + +### Example of Self-Enforcing Plan + +The following example implements an Abreu stick-and-carrot plan. + +The government sets $\mu_t^A = 0.1$ for $t=0, 1, \ldots, 9$ +and then starts the **Ramsey plan**. + +We have computed outcomes for this plan. + +For this plan, we plot the $\theta^A$, $\mu^A$ sequences as +well as the implied $v^A$ sequence. + +Notice that because the government sets money supply growth high for 10 +periods, inflation starts high. + +Inflation gradually slowly declines because people expect the government to lower the money growth rate after period +$10$. + +From the 10th period onwards, the inflation rate $\theta^A_t$ +associated with this **Abreu plan** starts the Ramsey plan from its +beginning, i.e., $\theta^A_{t+10} =\theta^R_t \ \ \forall t \geq 0$. + +```{code-cell} ipython3 +:tags: [hide-input] + +def abreu_plan(clq, T=1000, T_A=10, μ_bar=0.1, T_Plot=20): + """ + Compute and plot the Abreu plan for the given ChangLQ instance. + + Here clq is an instance of ChangLQ. + """ + # Append Ramsey μ series to stick μ series + clq.μ_A = np.append(np.full(T_A, μ_bar), clq.μ_series[:-T_A]) + + # Calculate implied stick θ series + discount = (clq.α / (1 + clq.α)) ** np.arange(T) + clq.θ_A = np.array([ + 1 / (clq.α + 1) * np.sum(clq.μ_A[t:] * discount[:T - t]) + for t in range(T) + ]) + + # Calculate utility of stick plan + U_A = clq.β ** np.arange(T) * ( + clq.u0 + clq.u1 * (-clq.θ_A) - clq.u2 / 2 + * (-clq.θ_A) ** 2 - clq.c * clq.μ_A ** 2 + ) + + clq.V_A = np.array([np.sum(U_A[t:] / clq.β ** t) for t in range(T)]) + + # Make sure Abreu plan is self-enforcing + clq.V_dev = np.array([ + (clq.u0 + clq.u1 * (-clq.θ_A[t]) - clq.u2 / 2 + * (-clq.θ_A[t]) ** 2) + clq.β * clq.V_A[0] + for t in range(T_Plot) + ]) + + # Plot the results + fig, axes = plt.subplots(3, 1, figsize=(8, 12)) + + axes[2].plot(clq.V_dev[:T_Plot], label="$V^{A, D}_t$", c="orange") + + plots = [clq.θ_A, clq.μ_A, clq.V_A] + labels = [r"$\theta_t^A$", r"$\mu_t^A$", r"$V^A_t$"] + + for plot, ax, label in zip(plots, axes, labels): + ax.plot(plot[:T_Plot], label=label) + ax.set(xlabel="$t$", ylabel=label) + ax.legend() + + plt.tight_layout() + plt.show() + +abreu_plan(clq) +``` + +To confirm that the plan $\vec \mu^A$ is **self-enforcing**, we +plot an object that we call $V_t^{A,D}$, defined in the key inequality in the second line of equation {eq}`eq_old10` above. + +$V_t^{A,D}$ is the value at $t$ of deviating from the +self-enforcing plan $\vec \mu^A$ by setting $\mu_t = 0$ and +then restarting the plan at $v^A_0$ at $t+1$: + +$$ +v_t^{A,D} = -s( \theta_j, 0) + \beta v_0^A +$$ + +In the above graph $v_t^A > v_t^{A,D}$, which confirms that $\vec \mu^A$ is a self-enforcing plan. + +We can also verify the inequalities required for $\vec \mu^A$ to +be self-confirming numerically as follows + +```{code-cell} ipython3 +np.all(clq.V_A[0:20] > clq.V_dev[0:20]) +``` + +Given that plan $\vec \mu^A$ is self-enforcing, we can check that +the Ramsey plan $\vec \mu^R$ is credible by verifying that: + +$$ +v^R_t \geq - s(\theta^R_t,0) + \beta v^A_0 , \quad \forall t \geq 0 +$$ + +```{code-cell} ipython3 +def check_ramsey(clq, T=1000): + # Make sure Ramsey plan is sustainable + R_dev = np.zeros(T) + for t in range(T): + R_dev[t] = (clq.u0 + clq.u1 * (-clq.θ_series[1, t]) + - clq.u2 / 2 * (-clq.θ_series[1, t])**2) \ + + clq.β * clq.V_A[0] + + return np.all(clq.J_series > R_dev) + +check_ramsey(clq) +``` + +### Recursive Representation of a Sustainable Plan + +We can represent a sustainable plan recursively by taking the +continuation value $v_t$ as a state variable. + +We form the following 3-tuple of functions: + +```{math} +:label: eq_old11 + +\begin{aligned} +\hat \mu_t & = \nu_\mu(v_t) \\ +\theta_t & = \nu_\theta(v_t) \\ +v_{t+1} & = \nu_v(v_t, \mu_t ) +\end{aligned} +``` + +In addition to these equations, we need an initial value $v_0$ to +characterize a sustainable plan. + +The first equation of {eq}`eq_old11` tells the recommended value of +$\hat \mu_t$ as a function of the promised value $v_t$. + +The second equation of {eq}`eq_old11` tells the inflation rate as a function of +$v_t$. + +The third equation of {eq}`eq_old11` updates the continuation value in a way that +depends on whether the government at $t$ confirms the representative agent's +expectations by setting $\mu_t$ equal to the recommended value +$\hat \mu_t$, or whether it disappoints those expectations. + +## Whose Plan is It? + +A credible government plan $\vec \mu$ plays multiple roles. + +* It is a sequence of actions chosen by the government. +* It is a sequence of the representative agent's forecasts of government actions. + +Thus, $\vec \mu$ is both a government policy and a collection of the representative agent's forecasts of government policy. + +Does the government *choose* policy actions or does it simply *confirm* prior private sector forecasts of those actions? + +An argument in favor of the *government chooses* interpretation comes from noting that the theory of credible plans builds in a theory that the government each period chooses +the action that it wants. + +An argument in favor of the *simply confirm* interpretation is gathered from staring at the key inequality {eq}`eq_old100a` that defines a credible policy. + + + +We have also computed **credible plans** for a government or sequence +of governments that choose sequentially. + +These include + +- a **self-enforcing** plan that gives a low initial value $v_0$. +- a better plan -- possibly one that attains values associated with + Ramsey plan -- that is not self-enforcing. + + From 6224b8d5a4b4a62bee9b0b217e6f98f9c0f5d6a3 Mon Sep 17 00:00:00 2001 From: thomassargent30 Date: Wed, 9 Oct 2024 10:29:31 -0400 Subject: [PATCH 2/4] Tom's Oct 9 edits of calvo_abreu lecture --- lectures/calvo_abreu.md | 55 ++++++++++++++++++++++++++++++++--------- 1 file changed, 44 insertions(+), 11 deletions(-) diff --git a/lectures/calvo_abreu.md b/lectures/calvo_abreu.md index fcc173dd..e9fdbbe9 100644 --- a/lectures/calvo_abreu.md +++ b/lectures/calvo_abreu.md @@ -38,15 +38,48 @@ In addition to what's in Anaconda, this lecture will need the following librarie This lecture is a sequel to this quantecon lecture {doc}`calvo`. -It describes outcomes under yet another timing protocol for a linear-quadratic version of a model that Guillermo Calvo {cite}`Calvo1978` used to illustrate the **time inconsistency** of optimal government -plans. +It describes outcomes under yet another timing protocol for a linear-quadratic version of a model that Guillermo Calvo {cite}`Calvo1978` used to illustrate the **time inconsistency** of optimal government plans. + +In that lecture, a government chooses a sequence +$\vec \mu = \{\mu_t\}_{t=0}^\infty$ of gross rates of growth in the supply of money. + +An outcome is the sequence $\vec \theta = \{\theta_t\}_{t=0}^\infty$ of gross rates of increase in the price level, which we call inflation rates. A theme of that lecture was that timing protocols affect outcomes. -In additional to the the ideas from papers by Cagan {cite}`Cagan`, Calvo {cite}`Calvo1978`, and Chang {cite}`chang1998credible`that we used in that lecture, in this lecture we'll use ideas from Stokey {cite}`stokey1989reputation`, {cite}`Stokey1991`, +Thus, we studied three models of government policy making that differ in + +- *what* a policymaker chooses, either a sequence + $\vec \mu$ or just $\mu_t$ in a single period $t$. +- *when* a policymaker chooses, either once and for all at time $0$, or at some time or times $t \geq 0$. +- what a policymaker *assumes* about how its choice of $\mu_t$ + affects the representative agent's expectations about earlier and later + inflation rates. + +In two of our models, a single policymaker chooses a sequence +$\{\mu_t\}_{t=0}^\infty$ once and for all, knowing how +$\mu_t$ affects inflation rates at dates $s = 0, 1, \ldots, t-1$ + +- these two models thus employ a **Ramsey** or **Stackelberg** timing protocol. + +In a third model, there is a sequence of policymakers, each of whom +sets $\mu_t$ at one $t$ only. + +- a time $t$ policymaker cares only about $v_t$ and ignores effects that its choice of $\mu_t$ has on $v_s$ at dates $s = 0, 1, \ldots, t-1$. + + +By way of contrast, in this lecture there is sequence of separate policymakers; a time $t$ policymaker chooses only $\mu_t$, but now believes that its choice of $\mu_t$ shapes the representative agent's beliefs about future rates of money creation and inflation, and through them, future government actions. + +This timing protocol and belief structure leads to a model of a **credible government policy** also known as a **sustainable plan** + +In quantecon lecture {doc}`calvo` we used ideas from papers by Cagan {cite}`Cagan`, Calvo {cite}`Calvo1978`, and Chang {cite}`chang1998credible`. + +In addition to those ideas, in this lecture we'll also use ideas from Stokey {cite}`stokey1989reputation`, {cite}`Stokey1991`, Chari and Kehoe {cite}`chari1990sustainable`, and Abreu {cite}`Abreu` to study outcomes under -another timing protocol. +the new timing protocol. + + In addition to what's in Anaconda, this lecture will use the following libraries: @@ -85,21 +118,21 @@ The demand for real balances is governed by a perfect foresight version of a Cagan {cite}`Cagan` demand function for real balances: ```{math} -:label: eq_old1 +:label: eq_old1_new m_t - p_t = -\alpha(p_{t+1} - p_t) \: , \: \alpha > 0 ``` for $t \geq 0$. -Equation {eq}`eq_old1` asserts that the demand for real balances is inversely +Equation {eq}`eq_old1_new` asserts that the demand for real balances is inversely related to the public's expected rate of inflation, which equals the actual rate of inflation because there is no uncertainty here. (When there is no uncertainty, an assumption of **rational expectations** that becomes equivalent to **perfect foresight**). -Subtracting the demand function {eq}`eq_old1` at time $t$ from the demand +Subtracting the demand function {eq}`eq_old1_new` at time $t$ from the demand function at $t+1$ gives: $$ @@ -109,7 +142,7 @@ $$ or ```{math} -:label: eq_old2 +:label: eq_old2_new \theta_t = \frac{\alpha}{1+\alpha} \theta_{t+1} + \frac{1}{1+\alpha} \mu_t ``` @@ -126,15 +159,15 @@ $$ We say that a sequence that belongs to $L^2$ is **square summable**. When we assume that the sequence $\vec \mu = \{\mu_t\}_{t=0}^\infty$ is square summable and we require that the sequence $\vec \theta = \{\theta_t\}_{t=0}^\infty$ is square summable, -the linear difference equation {eq}`eq_old2` can be solved forward to get: +the linear difference equation {eq}`eq_old2_new` can be solved forward to get: ```{math} -:label: eq_old3 +:label: eq_old3_new \theta_t = \frac{1}{1+\alpha} \sum_{j=0}^\infty \left(\frac{\alpha}{1+\alpha}\right)^j \mu_{t+j} ``` -**Insight:** In the spirit of Chang {cite}`chang1998credible`, equations {eq}`eq_old1` and {eq}`eq_old3` show that $\theta_t$ intermediates +**Insight:** In the spirit of Chang {cite}`chang1998credible`, equations {eq}`eq_old1_new` and {eq}`eq_old3_new` show that $\theta_t$ intermediates how choices of $\mu_{t+j}, \ j=0, 1, \ldots$ impinge on time $t$ real balances $m_t - p_t = -\alpha \theta_t$. From c7d65e26b92548241fb90a548b0e25712c0d547b Mon Sep 17 00:00:00 2001 From: thomassargent30 Date: Wed, 9 Oct 2024 13:31:01 -0400 Subject: [PATCH 3/4] Tom's second Oct 9 edits of calvo_abreu lecture --- lectures/calvo_abreu.md | 85 ++++++++++++++++------------------------- 1 file changed, 32 insertions(+), 53 deletions(-) diff --git a/lectures/calvo_abreu.md b/lectures/calvo_abreu.md index e9fdbbe9..afe5d336 100644 --- a/lectures/calvo_abreu.md +++ b/lectures/calvo_abreu.md @@ -25,51 +25,26 @@ kernelspec: ```{index} single: Models; Additive functionals ``` -In addition to what's in Anaconda, this lecture will need the following libraries: -```{code-cell} ipython3 -:tags: [hide-output] - -!pip install --upgrade quantecon -``` ## Overview This lecture is a sequel to this quantecon lecture {doc}`calvo`. -It describes outcomes under yet another timing protocol for a linear-quadratic version of a model that Guillermo Calvo {cite}`Calvo1978` used to illustrate the **time inconsistency** of optimal government plans. - -In that lecture, a government chooses a sequence -$\vec \mu = \{\mu_t\}_{t=0}^\infty$ of gross rates of growth in the supply of money. - -An outcome is the sequence $\vec \theta = \{\theta_t\}_{t=0}^\infty$ of gross rates of increase in the price level, which we call inflation rates. - - -A theme of that lecture was that timing protocols affect outcomes. - -Thus, we studied three models of government policy making that differ in - -- *what* a policymaker chooses, either a sequence - $\vec \mu$ or just $\mu_t$ in a single period $t$. -- *when* a policymaker chooses, either once and for all at time $0$, or at some time or times $t \geq 0$. -- what a policymaker *assumes* about how its choice of $\mu_t$ - affects the representative agent's expectations about earlier and later - inflation rates. +That lecture studied a linear-quadratic version of a model that Guillermo Calvo {cite}`Calvo1978` used to illustrate the **time inconsistency** of an optimal government plan under a particular timing protocol. -In two of our models, a single policymaker chooses a sequence -$\{\mu_t\}_{t=0}^\infty$ once and for all, knowing how -$\mu_t$ affects inflation rates at dates $s = 0, 1, \ldots, t-1$ +In particular, at time $0$ a ``Stackelberg`` government (a.k.a~ ``Ramsey planner``) at time $0$ once and for all chooses a sequence $\vec \mu = \{\mu_t\}_{t=0}^\infty$ of gross rates of growth in the supply of money. -- these two models thus employ a **Ramsey** or **Stackelberg** timing protocol. +A consequence of that choice is a (rational expectations equilibrium) sequence $\vec \theta = \{\theta_t\}_{t=0}^\infty$ of gross rates of increase in the price level that we call inflation rates. -In a third model, there is a sequence of policymakers, each of whom -sets $\mu_t$ at one $t$ only. +{cite}`Calvo1978` showed that the Ramsey plan for his model is fragile in the sense that it would +not prevail under alternative timing protocols and particular supplementary assumptions about what government authorities who set $\mu_t$ at time $t$ believe how future government authorities who set $\mu_{t+j}$ for $j >0$ will respond to their decisions. -- a time $t$ policymaker cares only about $v_t$ and ignores effects that its choice of $\mu_t$ has on $v_s$ at dates $s = 0, 1, \ldots, t-1$. +In this lecture, we explore another set of assumptions about what government authorities who set $\mu_t$ at time $t$ believe how future government authorities who set $\mu_{t+j}$ for $j >0$ will respond to their decisions. -By way of contrast, in this lecture there is sequence of separate policymakers; a time $t$ policymaker chooses only $\mu_t$, but now believes that its choice of $\mu_t$ shapes the representative agent's beliefs about future rates of money creation and inflation, and through them, future government actions. +We shall assume that there is sequence of separate policymakers; a time $t$ policymaker chooses only $\mu_t$, but now believes that its choice of $\mu_t$ shapes the representative agent's beliefs about future rates of money creation and inflation, and through them, future government actions. This timing protocol and belief structure leads to a model of a **credible government policy** also known as a **sustainable plan** @@ -82,25 +57,6 @@ the new timing protocol. -In addition to what's in Anaconda, this lecture will use the following libraries: - -```{code-cell} ipython3 -:tags: [hide-output] - -!pip install --upgrade quantecon -``` - -We'll start with some imports: - -```{code-cell} ipython3 -import numpy as np -from quantecon import LQ -import matplotlib.pyplot as plt -from matplotlib.ticker import FormatStrFormatter -import pandas as pd -from IPython.display import display, Math -``` - ## Model Components We'll start with a brief review of the setup. @@ -187,11 +143,11 @@ The Quantecon lecture {doc}`calvo` considered three models of government polic $\vec \mu$ or just $\mu_t$ in a single period $t$. - *when* a policymaker chooses, either once and for all at time $0$, or at some time or times $t \geq 0$. - what a policymaker *assumes* about how its choice of $\mu_t$ - affects the representative agent's expectations about earlier and later + affects the representative agent's expectations about inflation rates. In this lecture, there is a sequence of policymakers, each of whom -sets $\mu_t$ at one $t$ only. +sets $\mu_t$ at $t$ only. To set the stage, recall that in a **Markov perfect equilibrium** @@ -321,6 +277,29 @@ But Dilip Abreu showed how to render manageable the number of plans that must be The key is an object called a **self-enforcing** plan. +We'll proceed to compute one. + + + +In addition to what's in Anaconda, this lecture will use the following libraries: + +```{code-cell} ipython3 +:tags: [hide-output] + +!pip install --upgrade quantecon +``` + +We'll start with some imports: + +```{code-cell} ipython3 +import numpy as np +from quantecon import LQ +import matplotlib.pyplot as plt +from matplotlib.ticker import FormatStrFormatter +import pandas as pd +from IPython.display import display, Math +``` + ### Abreu's Self-Enforcing Plan A plan $\vec \mu^A$ (here the superscipt $A$ is for Abreu) is said to be **self-enforcing** if From c0bf498f3ee0735ccdec9e8e8a277b5b2dc54a6e Mon Sep 17 00:00:00 2001 From: thomassargent30 Date: Sat, 12 Oct 2024 16:53:28 -0400 Subject: [PATCH 4/4] Tom's Oct 12 edits of calvo_abreu lecture --- lectures/calvo_abreu.md | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/lectures/calvo_abreu.md b/lectures/calvo_abreu.md index afe5d336..4f0fc277 100644 --- a/lectures/calvo_abreu.md +++ b/lectures/calvo_abreu.md @@ -30,29 +30,27 @@ kernelspec: ## Overview -This lecture is a sequel to this quantecon lecture {doc}`calvo`. +This is a sequel to this quantecon lecture {doc}`calvo`. -That lecture studied a linear-quadratic version of a model that Guillermo Calvo {cite}`Calvo1978` used to illustrate the **time inconsistency** of an optimal government plan under a particular timing protocol. - -In particular, at time $0$ a ``Stackelberg`` government (a.k.a~ ``Ramsey planner``) at time $0$ once and for all chooses a sequence $\vec \mu = \{\mu_t\}_{t=0}^\infty$ of gross rates of growth in the supply of money. +That lecture studied a linear-quadratic version of a model that Guillermo Calvo {cite}`Calvo1978` used to study the **time inconsistency** of the optimal government plan that emerges when a ``Stackelberg`` government (a.k.a.~ a ``Ramsey planner``) at time $0$ once and for all chooses a sequence $\vec \mu = \{\mu_t\}_{t=0}^\infty$ of gross rates of growth in the supply of money. A consequence of that choice is a (rational expectations equilibrium) sequence $\vec \theta = \{\theta_t\}_{t=0}^\infty$ of gross rates of increase in the price level that we call inflation rates. -{cite}`Calvo1978` showed that the Ramsey plan for his model is fragile in the sense that it would -not prevail under alternative timing protocols and particular supplementary assumptions about what government authorities who set $\mu_t$ at time $t$ believe how future government authorities who set $\mu_{t+j}$ for $j >0$ will respond to their decisions. +{cite}`Calvo1978` showed that a Ramsey plan would +not emerge from alternative timing protocols and associated supplementary assumptions about what government authorities who set $\mu_t$ at time $t$ believe how future government authorities who set $\mu_{t+j}$ for $j >0$ will respond to their decisions. In this lecture, we explore another set of assumptions about what government authorities who set $\mu_t$ at time $t$ believe how future government authorities who set $\mu_{t+j}$ for $j >0$ will respond to their decisions. We shall assume that there is sequence of separate policymakers; a time $t$ policymaker chooses only $\mu_t$, but now believes that its choice of $\mu_t$ shapes the representative agent's beliefs about future rates of money creation and inflation, and through them, future government actions. -This timing protocol and belief structure leads to a model of a **credible government policy** also known as a **sustainable plan** +This timing protocol and belief structure leads to a model of a **credible government policy**, also known as a **sustainable plan**. In quantecon lecture {doc}`calvo` we used ideas from papers by Cagan {cite}`Cagan`, Calvo {cite}`Calvo1978`, and Chang {cite}`chang1998credible`. -In addition to those ideas, in this lecture we'll also use ideas from Stokey {cite}`stokey1989reputation`, {cite}`Stokey1991`, -Chari and Kehoe {cite}`chari1990sustainable`, and Abreu {cite}`Abreu` to study outcomes under -the new timing protocol. +In addition to those ideas, we'll also use ideas from Abreu {cite}`Abreu`, Stokey {cite}`stokey1989reputation`, {cite}`Stokey1991`, and +Chari and Kehoe {cite}`chari1990sustainable` to study outcomes under +our timing protocol. @@ -132,7 +130,7 @@ An equivalence class of continuation money growth sequences $\{\mu_{t+j}\}_{j=0} That future rates of money creation influence earlier rates of inflation makes timing protocols matter for modeling optimal government policies. -Quantecon lecture {doc}`calvo` used this insight to help us simplify our analysis of alternative government policy problems. +Quantecon lecture {doc}`calvo` used this insight to simplify analysis of alternative government policy problems. ## Another Timing Protocol @@ -155,7 +153,7 @@ To set the stage, recall that in a **Markov perfect equilibrium** In particular, in a Markov perfect equilibrium, there is a sequence indexed by $t =0, 1, 2, \ldots$ of separate policymakers; a time $t$ policymaker chooses $\mu_t$ only and forecasts that future government decisions are unaffected by its choice. -By way of contrast, in this lecture there is sequence of separate policymakers; a time $t$ policymaker chooses only $\mu_t$, but now believes that its choice of $\mu_t$ shapes the representative agent's beliefs about future rates of money creation and inflation, and through them, future government actions. +By way of contrast, in this lecture there is sequence of distinct policymakers; a time $t$ policymaker chooses only $\mu_t$, but now believes that its choice of $\mu_t$ shapes the representative agent's beliefs about future rates of money creation and inflation, and through them, future government actions. This timing protocol and belief structure leads to a model of a **credible government policy** also known as a **sustainable plan**