Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
147 changes: 69 additions & 78 deletions lectures/cagan_adaptive.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,81 +11,81 @@ kernelspec:
name: python3
---

# 具有自适应预期的价格水平货币主义理论
# 自适应预期下的货币主义价格水平理论

## 引言

本讲座是另一讲座 {doc}`价格水平的货币主义理论 <cagan_ree>` 的续集或前传
本讲座可以被看作是 {doc}`货币主义价格水平理论 <cagan_ree>` 的续篇或前传

我们将使用线性代数对另一种"货币主义"或"财政"价格水平理论进行一些实验
我们将运用线性代数来探讨另一种"货币主义"或"财政"价格水平理论

与 {doc}`价格水平的货币主义理论 <cagan_ree>` 讲座中的模型类似,该模型断言,当政府持续支出超过税收并通过印钞来弥补赤字时,会对价格水平产生上行压力并产生持续通货膨胀
与 {doc}`货币主义价格水平理论 <cagan_ree>` 中的模型类似,本模型认为,当政府实施持续性的财政赤字并通过印钞来弥补时,会推高价格水平并导致持续通货膨胀

{doc}`价格水平的货币主义理论 <cagan_ree>` 讲座中的"完全预见"或"理性预期"版本不同,本讲座中的模型是菲利普·凯根 {cite}`Cagan` 用于研究恶性通货膨胀货币动态的"自适应预期"版本。
不同于 {doc}`货币主义价格水平理论 <cagan_ree>` 中的"完全预见"或"理性预期"版本,本讲座介绍的是菲利普·凯根 {cite}`Cagan` 用于研究恶性通货膨胀动态的"自适应预期"版本。

它结合了以下组成部分
该模型包含以下几个要素

* 一个实际货币余额需求函数,断言所需实际余额对数与公众预期通货膨胀率成反比
* 一个实际货币需求函数,表明所需实际货币余额的对数与公众预期通胀率呈负相关

* 一个**自适应预期**模型,描述公众预期通货膨胀率如何对过去实际通货膨胀值做出反应
* 一个**自适应预期**模型,描述公众如何根据过去的实际通胀率调整其通胀预期

* 一个使货币需求等于供给的均衡条件
* 一个货币供需均衡条件

* 货币供应增长率的外生序列
* 一个外生的货币供应增长率序列

我们的模型非常接近凯根的原始规范
我们的模型与凯根的原始模型非常接近

与 {doc}`现值 <pv>` 和 {doc}`消费平滑 <cons_smooth>` 讲座一样,我们将使用的唯一线性代数运算是矩阵乘法和矩阵求逆
与 {doc}`现值 <pv>` 和 {doc}`消费平滑 <cons_smooth>` 讲座一样,我们只需要用到矩阵乘法和矩阵求逆这些基本的线性代数运算

为了便于使用线性矩阵代数作为我们的主要数学工具,我们将使用模型的有限时域版本
为了便于使用线性矩阵代数作为主要分析工具,我们将研究模型的有限视界版本

## 模型结构


* $ m_t $ 为名义货币余额供给的对数;
* $\mu_t = m_{t+1} - m_t $ 为名义余额的净增长率;
* $p_t $ 为价格水平的对数
* $\pi_t = p_{t+1} - p_t $ 为 $t$ $ t+1$ 之间的净通货膨胀率;
* $\pi_t^*$ 为公众预期的 $t$ $t+1$ 之间的通货膨胀率;
* $T$ 为时域 -- 即模型将确定 $p_t$ 的最后一个时期
* $\pi_0^*$ 为公众最初预期的时间 0 和时间 1 之间的通货膨胀率。
* $ m_t $ 为名义货币余额的对数
* $\mu_t = m_{t+1} - m_t $ 为名义货币余额的增长率
* $p_t $ 为价格水平的对数
* $\pi_t = p_{t+1} - p_t $ 为 $t$ $ t+1$ 期间的通胀率
* $\pi_t^*$ 为公众对 $t$ $t+1$ 期间通胀率的预期
* $T$ 为时间跨度 -- 即模型确定 $p_t$ 的最后一期
* $\pi_0^*$ 为公众对第0期到第1期通胀率的初始预期

实际余额 $\exp\left(\frac{m_t^d}{p_t}\right)$ 的需求由以下版本的Cagan需求函数支配
实际货币余额 $\exp\left(\frac{m_t^d}{p_t}\right)$ 的需求由以下凯根需求函数决定:

$$
m_t^d - p_t = -\alpha \pi_t^* \: , \: \alpha > 0 ; \quad t = 0, 1, \ldots, T .
$$ (eq:caganmd_ad)

该方程断言,实际余额需求与公众预期的通货膨胀率成反比
该方程表明,实际货币余额需求与预期通胀率成反比

在方程 {eq}`eq:caganmd_ad` 中将货币需求的对数 $m_t^d$ 等同于货币供给的对数 $m_t$,并求解价格水平的对数 $p_t$,得到
将方程 {eq}`eq:caganmd_ad` 中的货币需求对数 $m_t^d$ 设为等于货币供给对数 $m_t$,并求解价格水平对数 $p_t$,得到

$$
p_t = m_t + \alpha \pi_t^*
$$ (eq:eqfiscth1)

取方程 {eq}`eq:eqfiscth1` 在时间 $t+1$ 和时间 $t$ 的差,得到
对方程 {eq}`eq:eqfiscth1` 求时间差分,得到

$$
\pi_t = \mu_t + \alpha \pi_{t+1}^* - \alpha \pi_t^*
$$ (eq:eqpipi)

我们假设预期通货膨胀率 $\pi_t^*$ 由弗里德曼-凯根自适应预期方案支配
我们假设预期通胀率 $\pi_t^*$ 遵循弗里德曼-凯根的自适应预期机制:

$$
\pi_{t+1}^* = \lambda \pi_t^* + (1 -\lambda) \pi_t
$$ (eq:adaptexpn)

作为模型的外生输入,我们采用初始条件 $m_0, \pi_0^*$ 和货币增长序列 $\mu = \{\mu_t\}_{t=0}^T$。
模型的外生输入包括初始条件 $m_0, \pi_0^*$ 和货币增长序列 $\mu = \{\mu_t\}_{t=0}^T$。

作为模型的内生输出,我们希望找到序列 $\pi = \{\pi_t\}_{t=0}^T, p = \{p_t\}_{t=0}^T$ 作为内生输入的函数
模型的内生输出是序列 $\pi = \{\pi_t\}_{t=0}^T$ 和 $p = \{p_t\}_{t=0}^T$,它们是外生输入的函数

我们将通过研究模型输出如何随模型输入的变化而变化来进行一些思想实验
我们将通过研究模型输出如何随输入变化而变化来进行一些思想实验

## 用线性代数表示关键方程
## 关键方程的矩阵表示

我们首先将方程 {eq}`eq:adaptexpn` 自适应预期模型写成 $t=0, \ldots, T$ 的形式
首先,我们将方程 {eq}`eq:adaptexpn` 中的自适应预期模型写成 $t=0, \ldots, T$ 的矩阵形式:

$$
\begin{bmatrix} 1 & 0 & 0 & \cdots & 0 & 0 \cr
Expand All @@ -111,15 +111,15 @@ $$
\begin{bmatrix} \pi_0^* \cr 0 \cr 0 \cr \vdots \cr 0 \end{bmatrix}
$$

将此方程写成
让我们将上述方程简洁地写成矩阵形式:

$$
A \pi^* = (1-\lambda) B \pi + \pi_0^*
$$ (eq:eq1)

其中 $(T+2) \times (T+2)$ 矩阵 $A$、$(T+2)\times (T+1)$ 矩阵 $B$ 以及向量 $\pi^* , \pi_0, \pi_0^*$ 通过对齐这两个方程隐式定义
其中 $A$ 是一个 $(T+2) \times (T+2)$ 矩阵,$B$ 是一个 $(T+2)\times (T+1)$ 矩阵,$\pi^*$、$\pi$ 和 $\pi_0^*$ 是相应的向量。这些矩阵和向量的具体形式可以通过比较上述两个等式得到

接下来,我们将关键方程 {eq}`eq:eqpipi` 写成矩阵形式
现在,让我们将方程 {eq}`eq:eqpipi` 表示为矩阵形式

$$
\begin{bmatrix}
Expand All @@ -140,19 +140,19 @@ $$
\end{bmatrix}
$$

用向量和矩阵表示上述方程系统
让我们用向量和矩阵简洁地表示上述方程系统:

$$
\pi = \mu + C \pi^*
$$ (eq:eq2)

其中 $(T+1) \times (T+2)$ 矩阵 $C$ 隐式定义,以使此方程与前面的方程系统对齐
其中 $C$ 是一个 $(T+1) \times (T+2)$ 矩阵,其形式可以从前面的方程系统中看出

## 从矩阵表述中获得洞见
## 求解模型

我们现在拥有了求解 $\pi$ 作为 $\mu, \pi_0, \pi_0^*$ 函数所需的所有要素。
现在我们有了求解 $\pi$ 作为 $\mu, \pi_0, \pi_0^*$ 函数所需的所有要素。

结合方程 {eq}`eq:eq1` 和 {eq}`eq:eq2`,得到
将方程 {eq}`eq:eq1` 和 {eq}`eq:eq2` 结合:

$$
\begin{aligned}
Expand All @@ -161,38 +161,39 @@ A \pi^* & = (1-\lambda) B \pi + \pi_0^* \cr
\end{aligned}
$$

这意味着
整理得到:

$$
\left[ A - (1-\lambda) B C \right] \pi^* = (1-\lambda) B \mu+ \pi_0^*
$$

将上述方程两边乘以左侧矩阵的逆,得到
求解 $\pi^*$:

$$
\pi^* = \left[ A - (1-\lambda) B C \right]^{-1} \left[ (1-\lambda) B \mu+ \pi_0^* \right]
$$ (eq:eq4)

求解方程 {eq}`eq:eq4` 得到 $\pi^*$ 后,我们可以使用方程 {eq}`eq:eq2` 求解 $\pi$
有了 $\pi^*$,我们就可以从方程 {eq}`eq:eq2` 求出 $\pi$:

$$
\pi = \mu + C \pi^*
$$

我们因此解决了我们模型所决定的两个关键内生时间序列,即预期通货膨胀率序列 $\pi^*$ 和实际通货膨胀率序列 $\pi$。
这样我们就解出了模型的两个关键内生变量序列:预期通货膨胀率 $\pi^*$ 和实际通货膨胀率 $\pi$。

知道了这些,我们就可以从方程 {eq}`eq:eqfiscth1` 快速计算出相关的价格水平对数序列 $p$。
有了这些,我们就可以从方程 {eq}`eq:eqfiscth1` 计算出价格水平对数序列 $p$。

让我们填补这一步骤的细节
让我们来看看具体步骤

既然我们现在知道了 $\mu$,计算 $m$ 就很容易了。
首先,已知 $\mu$,我们可以计算货币供应 $m$。

注意到方程

因此,注意到我们可以将方程
$$
m_{t+1} = m_t + \mu_t , \quad t = 0, 1, \ldots, T
$$

表示为矩阵方程
可以写成矩阵形式:

$$
\begin{bmatrix}
Expand All @@ -214,7 +215,7 @@ m_0 \cr 0 \cr 0 \cr \vdots \cr 0 \cr 0
\end{bmatrix}
$$ (eq:eq101_ad)

将方程 {eq}`eq:eq101_ad` 的两边都乘以左侧矩阵的逆矩阵,将得到
将方程 {eq}`eq:eq101_ad` 的两边都乘以左侧矩阵的逆矩阵,我们得到

$$
m_t = m_0 + \sum_{s=0}^{t-1} \mu_s, \quad t =1, \ldots, T+1
Expand All @@ -240,29 +241,27 @@ $$
\end{bmatrix},
$$

这只是去掉最后一个元素的 $\pi^*$。
这是去掉最后一个元素的 $\pi^*$。

## 预测误差
## 预期与实际通货膨胀的差异

我们的计算将验证
在这个适应性预期模型中,人们的通货膨胀预期通常会与实际通货膨胀率不同。具体来说,我们的计算将显示:

$$
\hat \pi^* \neq \pi,
$$

因此通常
也就是说,对于任意时期 $t$,预期通货膨胀率与实际通货膨胀率不相等:

$$
\pi_t^* \neq \pi_t, \quad t = 0, 1, \ldots , T
$$ (eq:notre)

这种结果在包含像方程 {eq}`eq:adaptexpn` 这样的适应性预期假设作为组成部分的模型中很典型。

在讲座 {doc}`价格水平的货币主义理论 <cagan_ree>` 中,我们研究了用"完全预见"或"理性预期"假设替代假设 {eq}`eq:adaptexpn` 的模型版本。
这种预期误差是适应性预期模型的一个典型特征。在这类模型中,人们根据过去的经验逐步调整他们的预期,如方程 {eq}`eq:adaptexpn` 所示。

但现在,让我们深入并用适应性预期版本的模型进行一些计算
这与我们在 {doc}`价格水平的货币主义理论 <cagan_ree>` 中研究的"完美预见"或"理性预期"版本形成对比。在那个版本中,人们能够完全准确地预测通货膨胀

像往常一样,我们将从导入一些 Python 模块开始。
让我们通过一些数值实验来探索这个适应性预期版本的具体表现。首先,我们需要导入必要的Python模块:


```{code-cell} ipython3
Expand All @@ -287,23 +286,21 @@ def create_cagan_model(α, m0, Eπ0, T, λ):
T = 80
T1 = 60
α = 5
λ = 0.9 # 0.7
λ = 0.9
m0 = 1

μ0 = 0.5
μ_star = 0

md = create_cagan_model(α=α, m0=m0, Eπ0=μ0, T=T, λ=λ)
```
+++ {"user_expressions": []}


我们用以下的函数来求解模型并且绘制这些变量。


```{code-cell} ipython3
def solve(model, μ_seq):
" 在求解有限时间的凯根模型"
"在求解有限视界的凯根模型"

model_params = model.α, model.m0, model.Eπ0, model.T, model.λ
α, m0, Eπ0, T, λ = model_params
Expand Down Expand Up @@ -364,7 +361,7 @@ def solve_and_plot(model, μ_seq):

+++ {"user_expressions": []}

## 稳定性的技术条件
## 稳定性的条件

在构建我们的示例时,我们假设 $(\lambda, \alpha)$ 满足

Expand All @@ -382,7 +379,7 @@ $$

通过确保 $\pi_t$ 的系数绝对值小于1,条件{eq}`eq:suffcond`保证了由我们推导过程最后一行描述的 $\{\pi_t\}$ 动态的稳定性。

读者可以自由研究违反条件{eq}`eq:suffcond`的示例结果
读者可以尝试探索当条件{eq}`eq:suffcond`不满足时会发生什么情况

```{code-cell} ipython3
print(np.abs((λ - α*(1-λ))/(1 - α*(1-λ))))
Expand All @@ -396,11 +393,9 @@ print(λ - α*(1-λ))

### 实验1

我们将研究一种情况,其中货币供应量的增长率从t=0到t=T_1时为$\mu_0$,然后在t=T_1时永久下降到$\mu^*$。
让我们研究一个简单的货币政策变化场景:货币供应增长率最初维持在较高水平$\mu_0$,直到时间$T_1$时突然降至较低水平$\mu^*$并保持不变

因此,设$T_1 \in (0, T)$。

所以当$\mu_0 > \mu^*$时,我们假设
具体来说,假设$T_1$是介于0和$T$之间的某个时点,且$\mu_0 > \mu^*$。货币供应增长率的路径可以写为:

$$
\mu_{t+1} = \begin{cases}
Expand All @@ -409,9 +404,7 @@ $$
\end{cases}
$$

注意,我们在这个讲座{doc}`货币主义价格水平理论<cagan_ree>`中的理性预期版本模型中研究了完全相同的实验。

因此,通过比较这两个讲座的结果,我们可以了解假设适应性预期(如我们在这里所做的)而不是理性预期(如我们在另一个讲座中所假设的)的后果。
这个实验与我们在{doc}`货币主义价格水平理论<cagan_ree>`讲座中分析的情形完全相同。通过对比两个讲座的结果,我们可以清楚地看到采用适应性预期(本讲座)和理性预期(前一讲座)这两种不同预期机制的影响。

```{code-cell} ipython3
μ_seq_1 = np.append(μ0*np.ones(T1), μ_star*np.ones(T+1-T1))
Expand All @@ -420,19 +413,17 @@ $$
π_seq_1, Eπ_seq_1, m_seq_1, p_seq_1 = solve_and_plot(md, μ_seq_1)
```

我们邀请读者将结果与在另一讲座 {doc}`货币主义价格水平理论 <cagan_ree>` 中研究的理性预期下的结果进行比较。

请注意实际通货膨胀率 $\pi_t$ 在时间 $T_1$ 货币供应增长率突然减少时如何"超调"其最终稳态值。
让我们将这些结果与{doc}`货币主义价格水平理论 <cagan_ree>`讲座中的理性预期情形进行对比。

我们邀请您向自己解释这种超调的来源,以及为什么在模型的理性预期版本中不会出现这种情况
值得注意的是,当货币供应增长率在时间$T_1$突然下降时,实际通货膨胀率$\pi_t$会"超调"其最终稳态值。这种超调现象在理性预期版本中并不存在,读者可以思考其背后的原因

### 实验2

现在我们将进行一个不同的实验,即渐进式稳定化,其中货币供应增长率从高值平稳下降到持续的低值
接下来我们考虑一个渐进式稳定化的情形,即货币供应增长率从高水平逐步平稳下降到一个较低的水平

虽然价格水平通货膨胀最终会下降,但它下降的速度比最终导致它下降的驱动力(即货币供应增长率的下降)要慢
在这种情况下,我们观察到价格水平的通货膨胀率虽然最终会下降,但其下降速度要慢于货币供应增长率的下降速度

通货膨胀缓慢下降的原因可以解释为在从高通胀向低通胀过渡期间,预期通货膨胀率 $\pi_t^*$ 持续高于实际通货膨胀率 $\pi_t$。
这种通货膨胀率下降缓慢的现象可以归因于从高通胀向低通胀过渡期间,公众的预期通货膨胀率$\pi_t^*$始终高于实际通货膨胀率$\pi_t$。

```{code-cell} ipython3
# 参数
Expand Down
Loading