Skip to content

Commit

Permalink
Tom's Aug 17 edits of money_inflation_nonlinear lecture
Browse files Browse the repository at this point in the history
  • Loading branch information
thomassargent30 committed Aug 17, 2024
1 parent 659a09a commit 361f0b9
Show file tree
Hide file tree
Showing 2 changed files with 74 additions and 53 deletions.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
127 changes: 74 additions & 53 deletions lectures/money_inflation_nonlinear.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ That lecture will show that
* it reverses the perverse dynamics by making the *lower* stationary inflation rate the one to which the system typically converges
* a more plausible comparative dynamic outcome emerges in which now inflation can be *reduced* by running *lower* government deficits

## The model
## The Model

Let

Expand All @@ -70,56 +70,9 @@ where $g$ is the part of government expenditures financed by printing money.
**Remark:** Please notice that while equation {eq}`eq:mdemand` is linear in logs of the money supply and price level, equation {eq}`eq:msupply` is linear in levels. This will require adapting the equilibrium computation methods that we deployed in {doc}`money_inflation`.
## Computing an equilibrium sequence
We'll deploy a method similar to *Method 2* used in {doc}`money_inflation`.
We'll take the time $t$ state vector to be $m_t, p_t$.
* we'll treat $m_t$ as a ''natural state variable'' and $p_t$ as a ''jump'' variable.
Let
$$
\lambda \equiv \frac{\alpha}{1+ \alpha}
$$
Let's rewrite equation {eq}`eq:mdemand`, respectively, as
$$
p_t = (1-\lambda) m_{t+1} + \lambda p_{t+1}
$$ (eq:mdemand2)
We'll summarize our algorithm with the following pseudo-code.
**Pseudo-code**
* start for $m_0, p_0$ at time $t =0$
* solve {eq}`eq:msupply` for $m_{t+1}$
* solve {eq}`eq:mdemand2` for $p_{t+1} = \lambda^{-1} p_t + (1 - \lambda^{-1}) m_{t+1}$
* compute the inflation rate $\pi_t = p_{t+1} - p_t$ and growth of money supply $\mu_t = m_{t+1} - m_t $
* iterate on $t$ to convergence of $\pi_t \rightarrow \overline \pi$ and $\mu_t \rightarrow \overline \mu$
It will turn out that
* if they exist, limiting values $\overline \pi$ and $\overline \mu$ will be equal
* if limiting values exist, there are two possible limiting values, one high, one low
* for almost all initial log price levels $p_0$, the limiting $\overline \pi = \overline \mu$ is
the higher value
* for each of the two possible limiting values $\overline \pi$ ,there is a unique initial log price level $p_0$ that implies that $\pi_t = \mu_t = \overline \mu$ for all $t \geq 0$
* this unique initial log price level solves $\log(\exp(m_0) + g \exp(p_0)) - p_0 = - \alpha \overline \pi $
* the preceding equation for $p_0$ comes from $m_1 - p_0 = - \alpha \overline \pi$
## Limiting values of inflation rate
## Limiting Values of Inflation Rate
We can compute the two prospective limiting values for $\overline \pi$ by studying the steady-state Laffer curve.
Expand Down Expand Up @@ -203,7 +156,7 @@ print(f'The two steady state of π are: {π_l, π_u}')
We find two steady state $\overline \pi$ values.
## Steady state Laffer curve
## Steady State Laffer curve
The following figure plots the steady state Laffer curve together with the two stationary inflation rates.
Expand Down Expand Up @@ -247,9 +200,16 @@ def plot_laffer(model, πs):
plot_laffer(model, (π_l, π_u))
```
## Associated initial price levels
## Initial Price Levels
Now that we have our hands on the two possible steady states, we can compute two functions $\underline p(m_0)$ and
$\overline p(m_0)$, which as initial conditions for $p_t$ at time $t$, imply that $\pi_t = \overline \pi $ for all $t \geq 0$.
The function $\underline p(m_0)$ will be associated with $\pi_l$ the lower steady-state inflation rate.
The function $\overline p(m_0)$ will be associated with $\pi_u$ the lower steady-state inflation rate.
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 = \overline \pi $ for all $t \geq 0$.
```{code-cell} ipython3
def solve_p0(p0, m0, α, g, π):
Expand Down Expand Up @@ -312,7 +272,68 @@ eq_g = lambda x: np.exp(-model.α * x) - np.exp(-(1 + model.α) * x)
print('eq_g == g:', np.isclose(eq_g(m_seq[-1] - m_seq[-2]), model.g))
```
## Slippery side of Laffer curve dynamics
## Computing an Equilibrium Sequence
We'll deploy a method similar to *Method 2* used in {doc}`money_inflation`.
We'll take the time $t$ state vector to be the pair $(m_t, p_t)$.
We'll treat $m_t$ as a ``natural state variable`` and $p_t$ as a ``jump`` variable.
Let
$$
\lambda \equiv \frac{\alpha}{1+ \alpha}
$$
Let's rewrite equation {eq}`eq:mdemand` as
$$
p_t = (1-\lambda) m_{t+1} + \lambda p_{t+1}
$$ (eq:mdemand2)
We'll summarize our algorithm with the following pseudo-code.
**Pseudo-code**
The heart of the pseudo-code iterates on the following mapping from state vector $(m_t, p_t)$ at time $t$
to state vector $(m_{t+1}, p_{t+1})$ at time $t+1$.
* starting from a given pair $(m_t, p_t)$ at time $t \geq 0$
* solve {eq}`eq:msupply` for $m_{t+1}$
* solve {eq}`eq:mdemand2` for $p_{t+1} = \lambda^{-1} p_t + (1 - \lambda^{-1}) m_{t+1}$
* compute the inflation rate $\pi_t = p_{t+1} - p_t$ and growth of money supply $\mu_t = m_{t+1} - m_t $
Next, compute the two functions $\underline p(m_0)$ and $\overline p(m_0)$ described above
Now initiate the algorithm as follows.
* set $m_0 >0$
* set a value of $p_0 \in [\underline p(m_0), \overline p(m_0)]$ and form the pair $(m_0, p_0)$ at time $t =0$
Starting from $(m_0, p_0)$ iterate on $t$ to convergence of $\pi_t \rightarrow \overline \pi$ and $\mu_t \rightarrow \overline \mu$
It will turn out that
* if they exist, limiting values $\overline \pi$ and $\overline \mu$ will be equal
* if limiting values exist, there are two possible limiting values, one high, one low
* for almost all initial log price levels $p_0$, the limiting $\overline \pi = \overline \mu$ is
the higher value
* for each of the two possible limiting values $\overline \pi$ ,there is a unique initial log price level $p_0$ that implies that $\pi_t = \mu_t = \overline \mu$ for all $t \geq 0$
* this unique initial log price level solves $\log(\exp(m_0) + g \exp(p_0)) - p_0 = - \alpha \overline \pi $
* the preceding equation for $p_0$ comes from $m_1 - p_0 = - \alpha \overline \pi$
## Slippery Side of Laffer Curve Dynamics
We are now equipped to compute time series starting from different $p_0$ settings, like those in {doc}`money_inflation`.
Expand Down

1 comment on commit 361f0b9

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please sign in to comment.