Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit a1ed6bc

Browse files
authoredMar 23, 2024
FIX: aligned and general tidy up for new Monetary Lectures (#409)
* FIX: aligned issues * fix aligned * fixes for spelling, generaly tidy up
1 parent 46e870e commit a1ed6bc

File tree

4 files changed

+143
-255
lines changed

4 files changed

+143
-255
lines changed
 

‎lectures/laffer_adaptive.md

Lines changed: 18 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,6 @@ kernelspec:
1111
name: python3
1212
---
1313

14-
+++ {"user_expressions": []}
15-
1614
# Laffer Curves with Adaptive Expectations
1715

1816
## Overview
@@ -24,8 +22,6 @@ As in the lecture {doc}`money_inflation`, this lecture uses the log-linear versi
2422
But now, instead of assuming ''rational expectations'' in the form of ''perfect foresight'',
2523
we'll adopt the ''adaptive expectations'' assumption used by {cite}`Cagan` and {cite}`Friedman1956`.
2624

27-
28-
2925
This means that instead of assuming that expected inflation $\pi_t^*$ is described by the "perfect foresight" or "rational expectations" hypothesis
3026

3127
$$
@@ -34,20 +30,16 @@ $$
3430

3531
that we adopted in lectures {doc}`money_inflation` and lectures {doc}`money_inflation_nonlinear`, we'll now assume that $\pi_t^*$ is determined by the adaptive expectations hypothesis described in equation {eq}`eq:adaptex` reported below.
3632

37-
38-
3933
We shall discover that changing our hypothesis about expectations formation in this way will change some our findings and leave others intact. In particular, we shall discover that
4034

41-
4235
* replacing rational expectations with adaptive expectations leaves the two stationary inflation rates unchanged, but that $\ldots$
43-
* it reverse the pervese dynamics by making the **lower** stationary inflation rate the one to which the system typically converges
36+
* it reverse the perverse dynamics by making the **lower** stationary inflation rate the one to which the system typically converges
4437
* a more plausible comparative dynamic outcome emerges in which now inflation can be **reduced** by running **lower** government deficits
4538

46-
These more plausible comparative dynamics underly the "old time religion" that states that
47-
"inflation is always and everwhere caused by government deficits".
39+
These more plausible comparative dynamics underlie the "old time religion" that states that
40+
"inflation is always and everywhere caused by government deficits".
4841

49-
50-
These issues were studyied by {cite}`bruno1990seigniorage`.
42+
These issues were studied by {cite}`bruno1990seigniorage`.
5143

5244
Their purpose was to reverse what they thought were counter intuitive
5345
predictions of their model under rational expectations (i.e., perfect foresight in this context)
@@ -58,23 +50,20 @@ by dropping rational expectations and instead assuming that people form expecta
5850
{cite}`marcet2003recurrent` and {cite}`sargent2009conquest` extended that work and applied it to study recurrent high-inflation episodes in Latin America.
5951
```
6052

61-
6253
## The Model
6354

6455
Let
6556

66-
* $m_t$ be the log of the money supply at the beginning of time $t$
67-
* $p_t$ be the log of the price level at time $t$
68-
* $\pi_t^*$ be the public's expectation of the rate of inflation between $t$ and $t+1$
57+
* $m_t$ be the log of the money supply at the beginning of time $t$
58+
* $p_t$ be the log of the price level at time $t$
59+
* $\pi_t^*$ be the public's expectation of the rate of inflation between $t$ and $t+1$
6960

70-
7161
The law of motion of the money supply is
7262

7363
$$
7464
\exp(m_{t+1}) - \exp(m_t) = g \exp(p_t)
7565
$$ (eq:ada_msupply)
7666
77-
7867
where $g$ is the part of government expenditures financed by printing money.
7968
8069
Notice that equation {eq}`eq:ada_msupply` implies that
@@ -91,8 +80,6 @@ $$ (eq:ada_mdemand)
9180
9281
where $\alpha \geq 0$.
9382
94-
95-
9683
Expectations of inflation are governed by
9784
9885
$$
@@ -101,7 +88,6 @@ $$ (eq:adaptex)
10188
10289
where $\delta \in (0,1)$
10390
104-
10591
## Computing An Equilibrium Sequence
10692
10793
Equation the expressions for $m_{t+1}$ promided by {eq}`eq:ada_mdemand` and {eq}`eq:ada_msupply2` and use equation {eq}`eq:adaptex` to eliminate $\pi_t^*$ to obtain
@@ -111,7 +97,6 @@ $$
11197
\log[ \exp(m_t) + g \exp(p_t)] - p_t = -\alpha [(1-\delta) (p_t - p_{t-1}) + \delta \pi_{t-1}^*]
11298
$$ (eq:pequation)
11399
114-
115100
**Pseudo-code**
116101
117102
Here is pseudo code for our algorithm.
@@ -131,19 +116,17 @@ This completes the algorithm.
131116
132117
It will turn out that
133118
134-
* if they exist, limiting values $\overline \pi$ and $\overline \mu$ will be equal
135-
136-
* if limiting values exists, there are two possible limiting values, one high, one low
137-
138-
* unlike the outcome in lecture {doc}`money_inflation_nonlinear`, for almost all initial log price levels and expected inflation rates $p_0, \pi_{t}^*$, the limiting $\overline \pi = \overline \mu$ is the **lower** steady state value
139-
140-
* for each of the two possible limiting values $\bar \pi$ ,there is a unique initial log price level $p_0$ that implies that $\pi_t = \mu_t = \bar \mu$ for all $t \geq 0$
141-
142-
* this unique initial log price level solves $\log(\exp(m_0) + g \exp(p_0)) - p_0 = - \alpha \bar \pi $
143-
144-
* the preceding equation for $p_0$ comes from $m_1 - p_0 = - \alpha \bar \pi$
119+
* if they exist, limiting values $\overline \pi$ and $\overline \mu$ will be equal
145120
146-
+++ {"user_expressions": []}
121+
* if limiting values exists, there are two possible limiting values, one high, one low
122+
123+
* unlike the outcome in lecture {doc}`money_inflation_nonlinear`, for almost all initial log price levels and expected inflation rates $p_0, \pi_{t}^*$, the limiting $\overline \pi = \overline \mu$ is the **lower** steady state value
124+
125+
* for each of the two possible limiting values $\bar \pi$ ,there is a unique initial log price level $p_0$ that implies that $\pi_t = \mu_t = \bar \mu$ for all $t \geq 0$
126+
127+
* this unique initial log price level solves $\log(\exp(m_0) + g \exp(p_0)) - p_0 = - \alpha \bar \pi $
128+
129+
* the preceding equation for $p_0$ comes from $m_1 - p_0 = - \alpha \bar \pi$
147130
148131
## Limiting Values of Inflation Rate
149132
@@ -180,8 +163,6 @@ Soon we'll plot the left and right sides of equation {eq}`eq:ada_steadypi`.
180163
But first we'll write code that computes a steady-state
181164
$\bar \pi$.
182165
183-
184-
185166
Let's start by importing some libraries
186167
187168
```{code-cell} ipython3
@@ -213,8 +194,6 @@ def create_model(α=0.5, m0=np.log(100), g=0.35, δ=0.9):
213194
model = create_model()
214195
```
215196
216-
+++ {"user_expressions": []}
217-
218197
Now we write code that computes steady-state $\bar \pi$s.
219198
220199
```{code-cell} ipython3
@@ -232,12 +211,8 @@ def solve_π_bar(model, x0):
232211
print(f'The two steady state of π are: {π_l, π_u}')
233212
```
234213
235-
+++ {"user_expressions": []}
236-
237214
We find two steady state $\bar \pi$ values
238215
239-
+++ {"user_expressions": []}
240-
241216
## Steady State Laffer Curve
242217
243218
The following figure plots the steady state Laffer curve together with the two stationary inflation rates.
@@ -283,12 +258,9 @@ def plot_laffer(model, πs):
283258
plot_laffer(model, (π_l, π_u))
284259
```
285260
286-
+++ {"user_expressions": []}
287-
288261
## Associated Initial Price Levels
289262
290-
291-
Now that we have our hands on the two possible steady states, we can compute two initial log price levels $p_{-1}$, which as initial conditions, imply that $\pi_t = \bar \pi $ for all $t \geq 0$.
263+
Now that we have our hands on the two possible steady states, we can compute two initial log price levels $p_{-1}$, which as initial conditions, imply that $\pi_t = \bar \pi $ for all $t \geq 0$.
292264
293265
In particular, to initiate a fixed point of the dynamic Laffer curve dynamics we set
294266
@@ -307,16 +279,10 @@ p_l, p_u = map(lambda π: solve_p_init(model, π), (π_l, π_u))
307279
print('Associated initial p_{-1}s', f'are: {p_l, p_u}')
308280
```
309281
310-
+++ {"user_expressions": []}
311-
312282
### Verification
313283
314-
315-
316284
To start, let's write some code to verify that if we initial $\pi_{-1}^*,p_{-1}$ appropriately, the inflation rate $\pi_t$ will be constant for all $t \geq 0$ (at either $\pi_u$ or $\pi_l$ depending on the initial condition)
317285
318-
319-
320286
The following code verifies this.
321287
322288
```{code-cell} ipython3
@@ -352,8 +318,6 @@ def solve_laffer_adapt(p_init, π_init, model, num_steps):
352318
return π_seq, μ_seq, m_seq, p_seq
353319
```
354320
355-
+++ {"user_expressions": []}
356-
357321
Compute limiting values starting from $p_{-1}$ associated with $\pi_l$
358322
359323
```{code-cell} ipython3
@@ -369,8 +333,6 @@ eq_g = lambda x: np.exp(-model.α * x) - np.exp(-(1 + model.α) * x)
369333
print('eq_g == g:', np.isclose(eq_g(m_seq[-1] - m_seq[-2]), model.g))
370334
```
371335
372-
+++ {"user_expressions": []}
373-
374336
Compute limiting values starting from $p_{-1}$ associated with $\pi_u$
375337
376338
```{code-cell} ipython3
@@ -386,24 +348,17 @@ eq_g = lambda x: np.exp(-model.α * x) - np.exp(-(1 + model.α) * x)
386348
print('eq_g == g:', np.isclose(eq_g(m_seq[-1] - m_seq[-2]), model.g))
387349
```
388350
389-
+++ {"user_expressions": []}
390-
391351
## Slippery Side of Laffer Curve Dynamics
392352
393-
394-
395353
We are now equipped to compute time series starting from different $p_{-1}, \pi_{-1}^*$ settings, analogous to those in this lecture {doc}`money_inflation` and this lecture {doc}`money_inflation_nonlinear`.
396354
397-
398355
Now we'll study how outcomes unfold when we start $p_{-1}, \pi_{-1}^*$ away from a stationary point of the dynamic Laffer curve, i.e., away from either $\pi_u$ or $ \pi_l$.
399356
400357
To construct a perturbation pair $\check p_{-1}, \check \pi_{-1}^*$we'll implement the following pseudo code:
401358
402359
* set $\check \pi_{-1}^* $ not equal to one of the stationary points $\pi_u$ or $ \pi_l$.
403360
* set $\check p_{-1} = m_0 + \alpha \check \pi_{-1}^*$
404361
405-
406-
407362
```{code-cell} ipython3
408363
:tags: [hide-cell]
409364
@@ -440,8 +395,6 @@ def draw_iterations(π0s, model, line_params, π_bars, num_steps):
440395
plt.show()
441396
```
442397
443-
+++ {"user_expressions": []}
444-
445398
Let's simulate the result generated by varying the initial $\pi_{-1}$ and corresponding $p_{-1}$
446399
447400
```{code-cell} ipython3

‎lectures/money_inflation.md

Lines changed: 90 additions & 108 deletions
Original file line numberDiff line numberDiff line change
@@ -11,26 +11,22 @@ kernelspec:
1111
name: python3
1212
---
1313

14-
+++ {"user_expressions": []}
15-
1614
# Money Financed Government Deficits and Price Levels
1715

18-
+++ {"user_expressions": []}
19-
2016
## Overview
2117

2218
This lecture extends and modifies the model in this lecture {doc}`cagan_ree` by modifying the
2319
law of motion that governed the supply of money.
2420

2521
The model in this lecture consists of two components
2622

27-
* a demand function for money
28-
* a law of motion for the supply of money
23+
* a demand function for money
24+
* a law of motion for the supply of money
2925

3026
The demand function describes the public's demand for "real balances", defined as the ratio of nominal money balances to the price level
3127

32-
* it assumes that the demand for real balance today varies inversely with the rate of inflation that the public forecasts to prevail between today and tomorrow
33-
* it assumes that the public's forecast of that rate of inflation is perfect
28+
* it assumes that the demand for real balance today varies inversely with the rate of inflation that the public forecasts to prevail between today and tomorrow
29+
* it assumes that the public's forecast of that rate of inflation is perfect
3430

3531
The law of motion for the supply of money assumes that the government prints money to finance government expenditures
3632

@@ -67,32 +63,32 @@ This outcome will be used to justify a selection of a stationary inflation rate
6763

6864
We'll use theses tools from linear algebra:
6965

70-
* matrix multiplication
71-
* matrix inversion
72-
* eigenvalues and eigenvectors of a matrix
66+
* matrix multiplication
67+
* matrix inversion
68+
* eigenvalues and eigenvectors of a matrix
7369

7470

75-
## Demand for and Supply of Money
71+
## Demand for and Supply of Money
7672

77-
We say demand**s** and supp**ies** (plurals) because there is one of each for each $t \geq 0$.
73+
We say demand**s** and suppl**ies** (plurals) because there is one of each for each $t \geq 0$.
7874

7975
Let
8076

81-
* $m_{t+1}$ be the supply of currency at the end of time $t \geq 0$
82-
* $m_{t}$ be the supply of currency brought into time $t$ from time $t-1$
83-
* $g$ be the government deficit that is financed by printing currency at $t \geq 1$
84-
* $m_{t+1}^d$ be the demand at time $t$ for currency to bring into time $t+1$
85-
* $p_t$ be the price level at time $t$
86-
* $b_t = \frac{m_{t+1}}{p_t}$ is real balances at the end of time $t$
87-
* $R_t = \frac{p_t}{p_{t+1}} $ be the gross rate of return on currency held from time $t$ to time $t+1$
77+
* $m_{t+1}$ be the supply of currency at the end of time $t \geq 0$
78+
* $m_{t}$ be the supply of currency brought into time $t$ from time $t-1$
79+
* $g$ be the government deficit that is financed by printing currency at $t \geq 1$
80+
* $m_{t+1}^d$ be the demand at time $t$ for currency to bring into time $t+1$
81+
* $p_t$ be the price level at time $t$
82+
* $b_t = \frac{m_{t+1}}{p_t}$ is real balances at the end of time $t$
83+
* $R_t = \frac{p_t}{p_{t+1}} $ be the gross rate of return on currency held from time $t$ to time $t+1$
8884

8985
It is often helpful to state units in which quantities are measured:
9086

91-
* $m_t$ and $m_t^d$ are measured in dollars
92-
* $g$ is measured in time $t$ goods
93-
* $p_t$ is measured in dollars per time $t$ goods
94-
* $R_t$ is measured in time $t+1$ goods per unit of time $t$ goods
95-
* $b_t$ is measured in time $t$ goods
87+
* $m_t$ and $m_t^d$ are measured in dollars
88+
* $g$ is measured in time $t$ goods
89+
* $p_t$ is measured in dollars per time $t$ goods
90+
* $R_t$ is measured in time $t+1$ goods per unit of time $t$ goods
91+
* $b_t$ is measured in time $t$ goods
9692

9793

9894
Our job now is to specify demand and supply functions for money.
@@ -103,7 +99,6 @@ $$
10399
m_{t+1}^d/p_t =\gamma_1 - \gamma_2 \frac{p_{t+1}}{p_t}, \quad t \geq 0
104100
$$ (eq:demandmoney)
105101
106-
107102
Now we turn to the supply of money.
108103
109104
We assume that $m_0 >0$ is an "initial condition" determined outside the model.
@@ -151,8 +146,8 @@ $$ (eq:bmotion)
151146
152147
where
153148
154-
* $b_t = \frac{m_{t+1}}{p_t}$ is real balances at the end of period $t$
155-
* $R_{t-1} = \frac{p_{t-1}}{p_t}$ is the gross rate of return on real balances held from $t-1$ to $t$
149+
* $b_t = \frac{m_{t+1}}{p_t}$ is real balances at the end of period $t$
150+
* $R_{t-1} = \frac{p_{t-1}}{p_t}$ is the gross rate of return on real balances held from $t-1$ to $t$
156151
157152
The demand for real balances is
158153
@@ -175,8 +170,6 @@ $$ (eq:Requation)
175170
Gross real rate of return $\underline R$ is the smallest rate of return on currency
176171
that is consistent with a nonnegative demand for real balances.
177172
178-
179-
180173
We shall describe two distinct but closely related ways of computing a pair $\{p_t, m_t\}_{t=0}^\infty$ of sequences for the price level and money supply.
181174
182175
But first it is instructive to describe a special type of equilibrium known as a **steady state**.
@@ -193,10 +186,12 @@ This is true in the present model.
193186
194187
In a **steady state** equilibrium of the model we are studying,
195188
189+
$$
196190
\begin{aligned}
197191
R_t & = \bar R \cr
198192
b_t & = \bar b
199193
\end{aligned}
194+
$$
200195
201196
for $t \geq 0$.
202197
@@ -211,7 +206,7 @@ g & = \bar b ( 1 - \bar R) \cr
211206
\end{aligned}
212207
$$
213208
214-
Together these equations imply
209+
Together these equations imply
215210
216211
$$
217212
(\gamma_1 + \gamma_2) - \frac{\gamma_2}{\bar R} - \gamma_1 \bar R = g
@@ -258,14 +253,10 @@ $$ (eq:steadyquadratic)
258253
259254
A steady state gross rate of return $\bar R$ solves quadratic equation {eq}`eq:steadyquadratic`.
260255
261-
262256
So two steady states typically exist.
263257
264-
265-
266258
## Some Code
267259
268-
269260
Let's start with some imports:
270261
271262
```{code-cell} ipython3
@@ -276,11 +267,8 @@ plt.rcParams['figure.dpi'] = 300
276267
from collections import namedtuple
277268
```
278269
279-
280270
Let's set some parameter values and compute possible steady state rates of return on currency $\bar R$, the seigniorage maximizing rate of return on currency, and an object that we'll discuss later, namely, an initial price level $p_0$ associated with the maximum steady state rate of return on currency.
281271
282-
+++
283-
284272
First, we create a `namedtuple` to store parameters so that we can reuse this `namedtuple` in our functions throughout this lecture
285273
286274
```{code-cell} ipython3
@@ -368,80 +356,80 @@ print(f'R_l, g_l = {msm.R_l:.4f}, {g2:.4f}')
368356
369357
Now let's compute the maximum steady state amount of seigniorage that could be gathered by printing money and the state state rate of return on money that attains it.
370358
371-
+++
372-
373359
## Two Computation Strategies
374360
375-
376361
We now proceed to compute equilibria, not necessarily steady states.
377362
378363
We shall deploy two distinct computation strategies.
379364
380365
### Method 1
381366
382-
* set $R_0 \in [\frac{\gamma_2}{\gamma_1}, R_u]$ and compute $b_0 = \gamma_1 - \gamma_2/R_0$.
367+
* set $R_0 \in [\frac{\gamma_2}{\gamma_1}, R_u]$ and compute $b_0 = \gamma_1 - \gamma_2/R_0$.
383368
384-
* compute sequences $\{R_t, b_t\}_{t=1}^\infty$ of rates of return and real balances that are associated with an equilibrium by solving equation {eq}`eq:bmotion` and {eq}`eq:bdemand` sequentially for $t \geq 1$:
385-
\begin{aligned}
369+
* compute sequences $\{R_t, b_t\}_{t=1}^\infty$ of rates of return and real balances that are associated with an equilibrium by solving equation {eq}`eq:bmotion` and {eq}`eq:bdemand` sequentially for $t \geq 1$:
370+
371+
$$
372+
\begin{aligned}
386373
b_t & = b_{t-1} R_{t-1} + g \cr
387374
R_t^{-1} & = \frac{\gamma_1}{\gamma_2} - \gamma_2^{-1} b_t
388375
\end{aligned}
376+
$$
389377
390-
* Construct the associated equilibrium $p_0$ from
391-
392-
$$
393-
p_0 = \frac{m_0}{\gamma_1 - g - \gamma_2/R_0}
394-
$$ (eq:p0fromR0)
395-
396-
* compute $\{p_t, m_t\}_{t=1}^\infty$ by solving the following equations sequentially
397-
398-
$$
399-
\begin{aligned}
400-
p_t & = R_t p_{t-1} \cr
401-
m_t & = b_{t-1} p_t
402-
\end{aligned}
403-
$$ (eq:method1)
378+
* Construct the associated equilibrium $p_0$ from
379+
380+
$$
381+
p_0 = \frac{m_0}{\gamma_1 - g - \gamma_2/R_0}
382+
$$ (eq:p0fromR0)
383+
384+
* compute $\{p_t, m_t\}_{t=1}^\infty$ by solving the following equations sequentially
385+
386+
$$
387+
\begin{aligned}
388+
p_t & = R_t p_{t-1} \cr
389+
m_t & = b_{t-1} p_t
390+
\end{aligned}
391+
$$ (eq:method1)
404392
405393
**Remark 1:** method 1 uses an indirect approach to computing an equilibrium by first computing an equilibrium $\{R_t, b_t\}_{t=0}^\infty$ sequence and then using it to back out an equilibrium $\{p_t, m_t\}_{t=0}^\infty$ sequence.
406394
407395
408-
**Remark 2:** notice that method 1 starts by picking an **initial condition** $R_0$ from a set $[\frac{\gamma_2}{\gamma_1}, R_u]$. An equilibrium $\{p_t, m_t\}_{t=0}^\infty$ sequences are not unique. There is actually a continuum of equilibria indexed by a choice of $R_0$ from the set $[\frac{\gamma_2}{\gamma_1}, R_u]$.
396+
**Remark 2:** notice that method 1 starts by picking an **initial condition** $R_0$ from a set $[\frac{\gamma_2}{\gamma_1}, R_u]$. An equilibrium $\{p_t, m_t\}_{t=0}^\infty$ sequences are not unique. There is actually a continuum of equilibria indexed by a choice of $R_0$ from the set $[\frac{\gamma_2}{\gamma_1}, R_u]$.
409397
410-
**Remark 3:** associated with each selection of $R_0$ there is a unique $p_0$ described by
411-
equation {eq}`eq:p0fromR0`.
398+
**Remark 3:** associated with each selection of $R_0$ there is a unique $p_0$ described by
399+
equation {eq}`eq:p0fromR0`.
412400
413401
### Method 2
414402
415-
This method deploys a direct approach.
416-
It defines a "state vector"
417-
$y_t = \begin{bmatrix} m_t \cr p_t\end{bmatrix} $
418-
and formulates equilibrium conditions {eq}`eq:demandmoney`, {eq}`eq:budgcontraint`, and
419-
{eq}`eq:syeqdemand`
420-
in terms of a first-order vector difference equation
403+
This method deploys a direct approach.
404+
It defines a "state vector"
405+
$y_t = \begin{bmatrix} m_t \cr p_t\end{bmatrix} $
406+
and formulates equilibrium conditions {eq}`eq:demandmoney`, {eq}`eq:budgcontraint`, and
407+
{eq}`eq:syeqdemand`
408+
in terms of a first-order vector difference equation
421409
422-
$$
423-
y_{t+1} = M y_t, \quad t \geq 0 ,
424-
$$
410+
$$
411+
y_{t+1} = M y_t, \quad t \geq 0 ,
412+
$$
425413
426-
where we temporarily take $y_0 = \begin{bmatrix} m_0 \cr p_0 \end{bmatrix}$ as an **initial condition**.
427-
428-
The solution is
429-
430-
$$
431-
y_t = M^t y_0 .
432-
$$
414+
where we temporarily take $y_0 = \begin{bmatrix} m_0 \cr p_0 \end{bmatrix}$ as an **initial condition**.
433415
434-
Now let's think about the initial condition $y_0$.
435-
436-
It is natural to take the initial stock of money $m_0 >0$ as an initial condition.
437-
438-
But what about $p_0$?
439-
440-
Isn't it something that we want to be **determined** by our model?
416+
The solution is
441417
442-
Yes, but sometimes we want too much, because there is actually a continuum of initial $p_0$ levels that are compatible with the existence of an equilibrium.
443-
444-
As we shall see soon, selecting an initial $p_0$ in method 2 is intimately tied to selecting an initial rate of return on currency $R_0$ in method 1.
418+
$$
419+
y_t = M^t y_0 .
420+
$$
421+
422+
Now let's think about the initial condition $y_0$.
423+
424+
It is natural to take the initial stock of money $m_0 >0$ as an initial condition.
425+
426+
But what about $p_0$?
427+
428+
Isn't it something that we want to be **determined** by our model?
429+
430+
Yes, but sometimes we want too much, because there is actually a continuum of initial $p_0$ levels that are compatible with the existence of an equilibrium.
431+
432+
As we shall see soon, selecting an initial $p_0$ in method 2 is intimately tied to selecting an initial rate of return on currency $R_0$ in method 1.
445433
446434
## Computation Method 1
447435
@@ -456,32 +444,33 @@ Remember that there exist two steady state equilibrium values $ R_l < R_u$ o
456444
We proceed as follows.
457445

458446
Start at $t=0$
459-
* select a $R_0 \in [\frac{\gamma_2}{\gamma_1}, R_u]$
460-
* compute $b_0 = \gamma_1 - \gamma_0 R_0^{-1} $
447+
* select a $R_0 \in [\frac{\gamma_2}{\gamma_1}, R_u]$
448+
* compute $b_0 = \gamma_1 - \gamma_0 R_0^{-1} $
461449

462450
Then for $t \geq 1$ construct $(b_t, R_t)$ by
463451
iterating on the system
452+
453+
$$
464454
\begin{aligned}
465455
b_t & = b_{t-1} R_{t-1} + g \cr
466456
R_t^{-1} & = \frac{\gamma_1}{\gamma_2} - \gamma_2^{-1} b_t
467457
\end{aligned}
468-
458+
$$
469459

470460
When we implement this part of method 1, we shall discover the following striking
471461
outcome:
472462

473-
* starting from an $R_0$ in $[\frac{\gamma_2}{\gamma_1}, R_u]$, we shall find that
463+
* starting from an $R_0$ in $[\frac{\gamma_2}{\gamma_1}, R_u]$, we shall find that
474464
$\{R_t\}$ always converges to a limiting "steady state" value $\bar R$ that depends on the initial
475465
condition $R_0$.
476466

477-
* there are only two possible limit points $\{ R_l, R_u\}$.
478-
479-
* for almost every initial condition $R_0$, $\lim_{t \rightarrow +\infty} R_t = R_l$.
480-
481-
* if and only if $R_0 = R_u$, $\lim_{t \rightarrow +\infty} R_t = R_u$.
482-
483-
The quantity $1 - R_t$ can be interpreted as an **inflation tax rate** that the government imposes on holders of its currency.
467+
* there are only two possible limit points $\{ R_l, R_u\}$.
484468

469+
* for almost every initial condition $R_0$, $\lim_{t \rightarrow +\infty} R_t = R_l$.
470+
471+
* if and only if $R_0 = R_u$, $\lim_{t \rightarrow +\infty} R_t = R_u$.
472+
473+
The quantity $1 - R_t$ can be interpreted as an **inflation tax rate** that the government imposes on holders of its currency.
485474

486475
We shall soon see that the existence of two steady state rates of return on currency
487476
that serve to finance the government deficit of $g$ indicates the presence of a **Laffer curve** in the inflation tax rate.
@@ -579,16 +568,14 @@ draw_paths(R0s, msm, line_params, num_steps=20)
579568

580569
Notice how sequences that start from $R_0$ in the half-open interval $[R_l, R_u)$ converge to the steady state associated with to $ R_l$.
581570

582-
+++ {"user_expressions": []}
583-
584571
## Computation method 2
585572

586573
Set $m_t = m_t^d $ for all $t \geq -1$.
587574

588575
Let
589576

590577
$$
591-
y_t = \begin{bmatrix} m_{t} \cr p_{t} \end{bmatrix} .
578+
y_t = \begin{bmatrix} m_{t} \cr p_{t} \end{bmatrix} .
592579
$$
593580

594581
Represent equilibrium conditions {eq}`eq:demandmoney`, {eq}`eq:budgcontraint`, and {eq}`eq:syeqdemand` as
@@ -608,11 +595,13 @@ $$
608595
609596
where
610597
598+
$$
611599
\begin{aligned} H_1 & = \begin{bmatrix} 1 & \gamma_2 \cr
612600
1 & 0 \end{bmatrix} \cr
613601
H_2 & = \begin{bmatrix} 0 & \gamma_1 \cr
614602
1 & g \end{bmatrix}
615603
\end{aligned}
604+
$$
616605
617606
```{code-cell} ipython3
618607
H1 = np.array([[1, msm.γ2],
@@ -669,7 +658,6 @@ where $\Lambda$ is a diagonal matrix of eigenvalues and the columns of $Q$ are e
669658
670659
It turns out that
671660
672-
673661
$$
674662
\begin{bmatrix} {R_l}^{-1} & 0 \cr
675663
0 & {R_u}^{-1} \end{bmatrix}
@@ -1000,9 +988,3 @@ On grounds of plausibility, we recommend following many macroeconomists in selec
1000988
As we shall see, we shall accept this recommendation in lecture {doc}`unpleasant`.
1001989
1002990
In lecture, {doc}`laffer_adaptive`, we shall explore how {cite}`bruno1990seigniorage` and others justified this in other ways.
1003-
1004-
1005-
1006-
1007-
1008-

‎lectures/money_inflation_nonlinear.md

Lines changed: 25 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,6 @@ kernelspec:
1111
name: python3
1212
---
1313

14-
+++ {"user_expressions": []}
15-
1614
# Inflation Rate Laffer Curves
1715

1816
## Overview
@@ -28,8 +26,7 @@ In particular, our dynamic system is no longer linear in state variables.
2826

2927
Nevertheless, the economic logic underlying an analysis based on what we called ''method 2'' remains unchanged.
3028

31-
32-
in this lecture we shall discover qualitatively similar outcomnes to those that we studied in the lecture {doc}`money_inflation`.
29+
in this lecture we shall discover qualitatively similar outcomes to those that we studied in the lecture {doc}`money_inflation`.
3330

3431
That lecture presented a linear version of the model in this lecture.
3532

@@ -40,8 +37,6 @@ As in that lecture, we discussed these topics:
4037
* perverse dynamics under rational expectations in which the system converges to the higher stationary inflation tax rate
4138
* a peculiar comparative stationary-state analysis connected with that stationary inflation rate that assert that inflation can be **reduced** by running **higher** government deficits
4239

43-
44-
4540
These outcomes will set the stage for the analysis of this lecture {doc}`laffer_adaptive` that studies a version of the present model that uses a version of "adaptive expectations" instead of rational expectations.
4641

4742
That lecture will show that
@@ -50,18 +45,12 @@ That lecture will show that
5045
* it reverse the pervese dynamics by making the **lower** stationary inflation rate the one to which the system typically converges
5146
* a more plausible comparative dynamic outcome emerges in which now inflation can be **reduced** by running **lower** government deficits
5247

53-
54-
55-
56-
57-
58-
5948
## The Model
6049

6150
Let
6251

63-
* $m_t$ be the log of the money supply at the beginning of time $t$
64-
* $p_t$ be the log of the price level at time $t$
52+
* $m_t$ be the log of the money supply at the beginning of time $t$
53+
* $p_t$ be the log of the price level at time $t$
6554

6655
The demand function for money is
6756

@@ -87,7 +76,7 @@ We'll deploy a method similar to **Method 2** used in {doc}`money_inflation`.
8776
8877
We'll take the time $t$ state vector to be $m_t, p_t$.
8978
90-
* we'll treat $m_t$ as a ''natural state variable'' and $p_t$ as a ''jump'' variable.
79+
* we'll treat $m_t$ as a ''natural state variable'' and $p_t$ as a ''jump'' variable.
9180
9281
Let
9382
@@ -112,33 +101,30 @@ We'll summarize our algorithm with the following pseudo-code.
112101
113102
**Pseudo-code**
114103
115-
* start for $m_0, p_0$ at time $t =0$
104+
* start for $m_0, p_0$ at time $t =0$
116105
117-
* solve {eq}`eq:msupply2` for $m_{t+1}$
118-
119-
* solve {eq}`eq:mdemand2` for $p_{t+1} = \lambda^{-1} p_t + (1 - \lambda^{-1}) m_{t+1}$
106+
* solve {eq}`eq:msupply2` for $m_{t+1}$
120107
121-
* compute $\pi_t = p_{t+1} - p_t$ and $\mu_t = m_{t+1} - m_t $
122-
123-
* iterate on $t$ to convergence of $\pi_t \rightarrow \overline \pi$ and $\mu_t \rightarrow \overline \mu$
124-
108+
* solve {eq}`eq:mdemand2` for $p_{t+1} = \lambda^{-1} p_t + (1 - \lambda^{-1}) m_{t+1}$
109+
110+
* compute $\pi_t = p_{t+1} - p_t$ and $\mu_t = m_{t+1} - m_t $
111+
112+
* iterate on $t$ to convergence of $\pi_t \rightarrow \overline \pi$ and $\mu_t \rightarrow \overline \mu$
125113
126114
It will turn out that
127115
128-
* if they exist, limiting values $\overline \pi$ and $\overline \mu$ will be equal
129-
130-
* if limiting values exists, there are two possible limiting values, one high, one low
131-
132-
* for almost all initial log price levels $p_0$, the limiting $\overline \pi = \overline \mu$ is
133-
the higher value
134-
135-
* for each of the two possible limiting values $\bar \pi$ ,there is a unique initial log price level $p_0$ that implies that $\pi_t = \mu_t = \bar \mu$ for all $t \geq 0$
136-
137-
* this unique initial log price level solves $\log(\exp(m_0) + g \exp(p_0)) - p_0 = - \alpha \bar \pi $
138-
139-
* the preceding equation for $p_0$ comes from $m_1 - p_0 = - \alpha \bar \pi$
116+
* if they exist, limiting values $\overline \pi$ and $\overline \mu$ will be equal
140117
141-
+++ {"user_expressions": []}
118+
* if limiting values exists, there are two possible limiting values, one high, one low
119+
120+
* for almost all initial log price levels $p_0$, the limiting $\overline \pi = \overline \mu$ is
121+
the higher value
122+
123+
* for each of the two possible limiting values $\bar \pi$ ,there is a unique initial log price level $p_0$ that implies that $\pi_t = \mu_t = \bar \mu$ for all $t \geq 0$
124+
125+
* this unique initial log price level solves $\log(\exp(m_0) + g \exp(p_0)) - p_0 = - \alpha \bar \pi $
126+
127+
* the preceding equation for $p_0$ comes from $m_1 - p_0 = - \alpha \bar \pi$
142128
143129
## Limiting Values of Inflation Rate
144130
@@ -175,8 +161,6 @@ Soon we'll plot the left and right sides of equation {eq}`eq:steadypi`.
175161
But first we'll write code that computes a steady-state
176162
$\bar \pi$.
177163
178-
179-
180164
Let's start by importing some libraries
181165
182166
```{code-cell} ipython3
@@ -224,14 +208,8 @@ def solve_π_bar(model, x0):
224208
print(f'The two steady state of π are: {π_l, π_u}')
225209
```
226210
227-
+++ {"user_expressions": []}
228-
229211
We find two steady state $\bar \pi$ values
230212
231-
+++ {"user_expressions": []}
232-
233-
234-
235213
## Steady State Laffer Curve
236214
237215
The following figure plots the steady state Laffer curve together with the two stationary inflation rates.
@@ -279,7 +257,7 @@ plot_laffer(model, (π_l, π_u))
279257
280258
## Associated Initial Price Levels
281259
282-
Now that we have our hands on the two possible steady states, we can compute two initial log price levels $p_0$, which as initial conditions, imply that $\pi_t = \bar \pi $ for all $t \geq 0$.
260+
Now that we have our hands on the two possible steady states, we can compute two initial log price levels $p_0$, which as initial conditions, imply that $\pi_t = \bar \pi $ for all $t \geq 0$.
283261
284262
```{code-cell} ipython3
285263
def solve_p0(p0, m0, α, g, π):
@@ -302,8 +280,6 @@ p0_u = solve_p0_bar(model,
302280
print(f'Associated initial p_0s are: {p0_l, p0_u}')
303281
```
304282
305-
+++ {"user_expressions": []}
306-
307283
### Verification
308284
309285
To start, let's write some code to verify that if the initial log price level $p_0$ takes one
@@ -344,8 +320,6 @@ eq_g = lambda x: np.exp(-model.α * x) - np.exp(-(1 + model.α) * x)
344320
print('eq_g == g:', np.isclose(eq_g(m_seq[-1] - m_seq[-2]), model.g))
345321
```
346322
347-
+++ {"user_expressions": []}
348-
349323
## Slippery Side of Laffer Curve Dynamics
350324
351325
We are now equipped to compute time series starting from different $p_0$ settings, like those in this lecture {doc}`money_inflation`.
@@ -424,7 +398,6 @@ p0_bars = (p0_l, p0_u)
424398
draw_iterations(p0s, model, line_params, p0_bars, num_steps=20)
425399
```
426400
427-
428401
Staring at the paths of price levels in {numref}`p0_path_nonlin` reveals that almost all paths converge to the **higher** inflation tax rate displayed in the stationary state Laffer curve. displayed in figure {numref}`laffer_curve_nonlinear`.
429402
430403
Thus, we have reconfirmed what we have called the "perverse" dynamics under rational expectations in which the system converges to the higher of two possible stationary inflation tax rates.
@@ -433,20 +406,18 @@ Those dynamics are "perverse" not only in the sense that they imply that the mon
433406
434407
* the figure indicates that inflation can be **reduced** by running **higher** government deficits, i.e., by raising more resources through printing money.
435408
436-
437409
```{note}
438410
The same qualitive outcomes prevail in this lecture {doc}`money_inflation` that studies a linear version of the model in this lecture`.
439411
```
440412
441413
We discovered that
442414
443-
* all but one of the equilibrium paths converge to limits in which the higher of two possible stationary inflation tax prevails
444-
* there is a unique equilibrium path associated with "plausible" statements about how reductions in government deficits affect a stationary inflation rate
415+
* all but one of the equilibrium paths converge to limits in which the higher of two possible stationary inflation tax prevails
416+
* there is a unique equilibrium path associated with "plausible" statements about how reductions in government deficits affect a stationary inflation rate
445417
446418
As in this lecture {doc}`money_inflation`,
447419
on grounds of plausibility, we again recommend selecting the unique equilibrium that converges to the lower stationary inflation tax rate.
448420
449421
As we shall see, we accepting this recommendation is a key ingredient of outcomes of the "unpleasant arithmetic" that we describe in lecture {doc}`unpleasant`.
450422
451423
In lecture, {doc}`laffer_adaptive`, we shall explore how {cite}`bruno1990seigniorage` and others justified our equilibrium selection in other ways.
452-

‎lectures/unpleasant.md

Lines changed: 10 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ kernelspec:
1111
name: python3
1212
---
1313

14-
<!-- #region user_expressions=[] -->
1514
# Unpleasant Monetarist Arithmetic
1615

1716
## Overview
@@ -46,11 +45,6 @@ It also characterized the steady state equilibrium from which we work backward
4645
In addition to learning about ''unpleasant monetarist arithmetic", in this lecture we'll learn how to implement a **fixed point** algorithm for computing an initial price level.
4746

4847

49-
<!-- #endregion -->
50-
51-
<!-- #region user_expressions=[] -->
52-
53-
5448
## Setup
5549

5650
Let's start with quick reminders of the model's components set out in our lecture on **Money Supplies and Price Levels**.
@@ -72,24 +66,21 @@ $$ (eq:up_bmotion)
7266
7367
where
7468
75-
* $b_t = \frac{m_{t+1}}{p_t}$ is real balances at the end of period $t$
76-
* $R_{t-1} = \frac{p_{t-1}}{p_t}$ is the gross rate of return on real balances held from $t-1$ to $t$
69+
* $b_t = \frac{m_{t+1}}{p_t}$ is real balances at the end of period $t$
70+
* $R_{t-1} = \frac{p_{t-1}}{p_t}$ is the gross rate of return on real balances held from $t-1$ to $t$
7771
7872
The demand for real balances is
7973
8074
$$
8175
b_t = \gamma_1 - \gamma_2 R_t^{-1} .
8276
$$ (eq:up_bdemand)
8377
84-
85-
8678
## Monetary-Fiscal Policy
8779
8880
To the basic model of our lecture on **Money Supplies and Price Levels**, we add inflation-indexed one-period government bonds as an additional way for the government to finance government expenditures.
8981
9082
Let $\widetilde R > 1$ be a time-invariant gross real rate of return on government one-period inflation-indexed bonds.
9183
92-
9384
With this additional source of funds, the government's budget constraint at time $t \geq 0$ is now
9485
9586
$$
@@ -126,7 +117,7 @@ This is a version of a standard constraint on a central bank's **open market ope
126117
## An open market operation at $t=0$
127118
128119
Following Sargent and Wallace (1981), we analyze consequences of a central bank policy that
129-
uses an open market operation to lower the price level in the face of a peristent fiscal
120+
uses an open market operation to lower the price level in the face of a persistent fiscal
130121
deficit that takes the form of a positive $g$.
131122
132123
Just before time $0$, the government chooses $(m_0, B_{-1})$ subject to constraint
@@ -189,14 +180,16 @@ p_T & = \frac{m_0}{\gamma_1 - \overline g - \gamma_2 R_u^{-1}}
189180
$$ (eq:LafferTstationary)
190181
191182
192-
We can compute continuation sequences $\{R_t, b_t\}_{t=T+1}^\infty$ of rates of return and real balances that are associated with an equilibrium by solving equation {eq}`eq:up_bmotion` and {eq}`eq:up_bdemand` sequentially for $t \geq 1$:
193-
\begin{aligned}
183+
We can compute continuation sequences $\{R_t, b_t\}_{t=T+1}^\infty$ of rates of return and real balances that are associated with an equilibrium by solving equation {eq}`eq:up_bmotion` and {eq}`eq:up_bdemand` sequentially for $t \geq 1$:
184+
185+
$$
186+
\begin{aligned}
194187
b_t & = b_{t-1} R_{t-1} + \overline g \cr
195188
R_t^{-1} & = \frac{\gamma_1}{\gamma_2} - \gamma_2^{-1} b_t \cr
196189
p_t & = R_t p_{t-1} \cr
197190
m_t & = b_{t-1} p_t
198191
\end{aligned}
199-
192+
$$
200193
201194
202195
## Before time $T$
@@ -256,7 +249,7 @@ To compute an equilibrium, we deploy the following algorithm.
256249
257250
Given **parameters** include $g, \check m_0, \check B_{-1}, \widetilde R >1, T $
258251
259-
We define a mappying from $p_0$ to $p_0$ as follows.
252+
We define a mapping from $p_0$ to $p_0$ as follows.
260253
261254
* Set $m_0$ and then compute $B_{-1}$ to satisfy the constraint on time $0$ **open market operations**
262255
@@ -506,19 +499,8 @@ plot_path([80, 100], msm)
506499
Figure {numref}`fig:unpl1` summarizes outcomes of two experiments that convey messages of
507500
Sargent and Wallace's **unpleasant monetarist arithmetic** {cite}`sargent1981`.
508501
509-
* An open market operation that reduces the supply of money at time $t=0$ reduces the price level at time $t=0$
502+
* An open market operation that reduces the supply of money at time $t=0$ reduces the price level at time $t=0$
510503
511504
* The lower is the post-open-market-operation money supply at time $0$, lower is the price level at time $0$.
512505
513506
* An open market operation that reduces the post-open-market-operation money supply at time $0$ also **lowers** the rate of return on money $R_u$ at times $t \geq T$ because it brings a higher gross-of-interest government deficit that must be financed by printing money (i.e., levying an inflation tax) at time $t \geq T$.
514-
515-
516-
517-
518-
519-
520-
521-
522-
<!-- #endregion -->
523-
524-

1 commit comments

Comments
 (1)
Please sign in to comment.