70. 理性预期均衡#

“如果你那么聪明,为什么不富有?”

除了Anaconda中已有的库外,本课程还需要以下库:

!pip install quantecon

Hide code cell output

Requirement already satisfied: quantecon in /home/runner/miniconda3/envs/quantecon/lib/python3.13/site-packages (0.10.1)
Requirement already satisfied: numba>=0.49.0 in /home/runner/miniconda3/envs/quantecon/lib/python3.13/site-packages (from quantecon) (0.61.0)
Requirement already satisfied: numpy>=1.17.0 in /home/runner/miniconda3/envs/quantecon/lib/python3.13/site-packages (from quantecon) (2.1.3)
Requirement already satisfied: requests in /home/runner/miniconda3/envs/quantecon/lib/python3.13/site-packages (from quantecon) (2.32.3)
Requirement already satisfied: scipy>=1.5.0 in /home/runner/miniconda3/envs/quantecon/lib/python3.13/site-packages (from quantecon) (1.15.3)
Requirement already satisfied: sympy in /home/runner/miniconda3/envs/quantecon/lib/python3.13/site-packages (from quantecon) (1.13.3)
Requirement already satisfied: llvmlite<0.45,>=0.44.0dev0 in /home/runner/miniconda3/envs/quantecon/lib/python3.13/site-packages (from numba>=0.49.0->quantecon) (0.44.0)
Requirement already satisfied: charset-normalizer<4,>=2 in /home/runner/miniconda3/envs/quantecon/lib/python3.13/site-packages (from requests->quantecon) (3.3.2)
Requirement already satisfied: idna<4,>=2.5 in /home/runner/miniconda3/envs/quantecon/lib/python3.13/site-packages (from requests->quantecon) (3.7)
Requirement already satisfied: urllib3<3,>=1.21.1 in /home/runner/miniconda3/envs/quantecon/lib/python3.13/site-packages (from requests->quantecon) (2.3.0)
Requirement already satisfied: certifi>=2017.4.17 in /home/runner/miniconda3/envs/quantecon/lib/python3.13/site-packages (from requests->quantecon) (2025.4.26)
Requirement already satisfied: mpmath<1.4,>=1.1.0 in /home/runner/miniconda3/envs/quantecon/lib/python3.13/site-packages (from sympy->quantecon) (1.3.0)

70.1. 概述#

本讲座介绍理性预期均衡的概念。

为了说明这一点,我们描述了一个由Lucas和Prescott提出的线性二次模型的版本[Lucas and Prescott, 1971]

这篇1971年的论文是引发理性预期革命的少数几篇研究文章之一。

我们遵循Lucas和Prescott的做法,采用一个容易”贝尔曼化”的设置(即可以被表述为动态规划问题)。

由于我们对需求和成本使用线性二次设置,我们可以运用这篇讲座中描述的LQ规划技术。

我们将了解代表性个体的问题如何与规划者的问题不同,以及如何使用规划问题来计算理性预期均衡中的数量和价格。

我们还将学习如何将理性预期均衡表示为从感知运动规律实际运动规律的映射的不动点

感知运动规律和实际运动规律在内生市场整体变量上的相等性,简明扼要地体现了理性预期均衡概念的本质。

最后,我们将学习重要的”大\(K\),小\(k\)”技巧,这是宏观经济学中广泛使用的建模方法。

不过对我们来说

  • “大\(K\)”将变成”大\(Y\)

  • “小\(k\)”将变成”小\(y\)

让我们从一些标准导入开始:

import matplotlib.pyplot as plt
import matplotlib as mpl
FONTPATH = "fonts/SourceHanSerifSC-SemiBold.otf"
mpl.font_manager.fontManager.addfont(FONTPATH)
plt.rcParams['font.family'] = ['Source Han Serif SC']

plt.rcParams["figure.figsize"] = (11, 5)  #set default figure size
import numpy as np

我们还将使用QuantEcon.py中的LQ类。

from quantecon import LQ

70.1.1. 大Y,小y技巧#

这种广泛使用的方法适用于代表性企业或经济主体作为”价格接受者”在竞争均衡中运营的情况。

以下设定证明了代表性企业可以代表大量其他企业的概念。

存在一个统一的单位测度的相同企业,记为\(\omega \in \Omega = [0,1]\)

企业\(\omega\)的产出为\(y(\omega)\)

所有企业的总产出为\(Y = \int_{0}^1 y(\omega) d \, \omega \)

所有企业最终都选择生产相同的产出,因此最终\( y(\omega) = y \)\(Y =y = \int_{0}^1 y(\omega) d \, \omega \)

这种设定使我们可以讨论选择生产\(y\)的代表性企业。

我们要求:

  • 当代表性企业或个别企业选择个体产出\(y(\omega)\)时,将总量\(Y\)视为给定,但是\(\ldots\)

  • 最终,\(Y = y(\omega) = y\),因此代表性企业确实具有代表性。

大写\(Y\)、小写\(y\)的技巧通过以下两点实现这些目标:

  • 在设定选择\(y\)的决策问题时,将\(Y\)视为不可控变量;但是\(\ldots\)

  • 在解决个体优化问题之后,强制执行\(Y = y\)

请注意这个策略在讲座展开过程中是如何应用的。

我们首先在一个非常简单的静态环境中应用大写\(Y\)、小写\(y\)的技巧。

70.1.1.1. 大写Y、小写y技巧的简单静态示例#

考虑一个静态模型,其中单位数量的企业生产一种在竞争市场中销售的同质商品。

这些企业最终都生产和销售产出\(y(\omega) = y\)

商品价格\(p\)位于反需求曲线上

(70.1)#\[p = a_0 - a_1 Y\]

其中

  • \(a_i > 0\),对于\(i = 0, 1\)

  • \(Y = \int_0^1 y(\omega) d \omega\)是市场总产出水平

为了方便,当我们描述单个企业 \(\omega \in \Omega\) 的选择问题时,我们通常直接写 \(y\) 而不是 \(y(\omega)\)

每个企业都有一个总成本函数

\[ c(y) = c_1 y + 0.5 c_2 y^2, \qquad c_i > 0 \text{ for } i = 1,2 \]

一个代表性企业的利润是 \(p y - c(y)\)

使用(70.1),我们可以将代表性企业的问题表示为

(70.2)#\[\max_{y} \Bigl[ (a_0 - a_1 Y) y - c_1 y - 0.5 c_2 y^2 \Bigr]\]

在提出问题(70.2)时,我们希望企业是一个价格接受者

我们通过将 \(p\) 以及因此的 \(Y\) 视为对企业而言是外生的来实现这一点。

\(Y\),小 \(y\) 技巧的本质是在对问题(70.2)中的 \(y\) 求一阶条件之前设定 \(Y = n y\)

这确保了企业是一个价格接受者。

问题(70.2)的一阶条件是

(70.3)#\[a_0 - a_1 Y - c_1 - c_2 y = 0\]

在这一点上,而不是在此之前,我们将 \(Y = y\) 代入 (70.3) 得到以下线性方程

(70.4)#\[a_0 - c_1 - (a_1 + c_2) Y = 0\]

用于求解竞争均衡市场总产出 \(Y\)

在求解出 \(Y\) 后,我们可以从反需求曲线 (70.1) 计算出竞争均衡价格 \(p\)

70.1.2. 相关规划问题#

定义消费者剩余为反需求曲线下的面积:

\[ S_c (Y)= \int_0^Y (a_0 - a_1 s) ds = a_o Y - \frac{a_1}{2} Y^2 . \]

定义生产的社会成本为

\[ S_p (Y) = c_1 Y + \frac{c_2}{2} Y^2 \]

考虑规划问题

\[ \max_{Y} [ S_c(Y) - S_p(Y) ] \]

规划问题的一阶必要条件是方程 (70.4)

因此,满足 (70.4)\(Y\) 既是竞争均衡产出,也是解决规划问题的产出。

这种结果为偏好竞争均衡提供了理论依据。

70.1.3. 延伸阅读#

本讲的参考文献包括

70.2. 理性预期均衡#

我们对理性预期均衡的第一个说明涉及一个由单位数量的相同企业组成的市场,每个企业都试图在面临调整成本的情况下最大化利润的现值。

调整成本使企业不得不进行渐进式调整,这反过来又需要考虑未来的价格。

各个企业都明白,通过反向需求曲线,价格是由其他企业的供应量决定的。

因此每个企业都需要预测未来的总产业产出。

在我们的语境中,预测是由对总体状态运动规律的信念产生的。

当这种信念与由该信念引导的生产选择所产生的实际运动规律相一致时,就形成了理性预期均衡。

我们将理性预期均衡表述为一个算子的不动点,该算子将信念映射为最优信念。

70.2.1. 具有调整成本的竞争均衡#

为了说明这一点,考虑n个生产同质产品的企业的集合,这些产品在竞争市场中销售。

每个企业销售产出 \(y_t(\omega) = y_t\)

商品价格 \(p_t\) 位于反需求曲线上

(70.5)#\[p_t = a_0 - a_1 Y_t\]

其中

  • \(a_i > 0\) 对于 \(i = 0, 1\)

  • \(Y_t = \int_0^1 y_t(\omega) d \omega = y_t\) 是市场整体产出水平

70.2.1.1. 企业的问题#

每个企业都是价格接受者。

虽然它不面临不确定性,但确实面临调整成本。

具体来说,它选择一个生产计划来最大化

(70.6)#\[\sum_{t=0}^\infty \beta^t r_t\]

其中

(70.7)#\[r_t := p_t y_t - \frac{ \gamma (y_{t+1} - y_t )^2 }{2}, \qquad y_0 \text{ 给定}\]

关于参数,

  • \(\beta \in (0,1)\) 是折现因子

  • \(\gamma > 0\) 衡量产出率调整的成本

关于时间安排,企业在t时刻选择 \(y_{t+1}\) 时能观察到 \(p_t\)\(y_t\)

要完整地描述企业的优化问题,我们需要明确所有状态变量的动态变化。

这包括企业关心但无法控制的变量,如 \(p_t\)

我们现在来处理这个问题。

70.2.1.2. 价格和总产出#

根据 (70.5),企业预测市场价格的动机转化为预测总产出 \(Y_t\) 的动机。

总产出取决于其他企业的选择。

单个企业 \(\omega\) 的产出 \(y_t(\omega)\) 对总产出 \(\int_0^1 y_t(\omega) d \omega\) 的影响可以忽略不计。

这使得企业有理由认为它们对总产出的预测不会受到自身产出决策的影响。

70.2.1.3. 代表性企业的信念#

我们假设企业认为市场总产出 \(Y_t\) 遵循如下运动规律

(70.8)#\[Y_{t+1} = H(Y_t)\]

其中 \(Y_0\) 是已知的初始条件。

信念函数 \(H\) 是一个均衡对象,因此还有待确定。

70.2.1.4. 给定信念下的最优行为#

现在,让我们先固定(70.8)中的特定信念 \(H\),并研究企业对它的反应。

\(v\) 是给定 \(H\) 时企业问题的最优价值函数。

价值函数满足贝尔曼方程

(70.9)#\[v(y,Y) = \max_{y'} \left\{ a_0 y - a_1 y Y - \frac{ \gamma (y' - y)^2}{2} + \beta v(y', H(Y))\right\}\]

让我们用\(h\)表示企业的最优策略函数,因此

(70.10)#\[y_{t+1} = h(y_t, Y_t)\]

其中

(70.11)#\[h(y, Y) := \textrm{argmax}_{y'} \left\{ a_0 y - a_1 y Y - \frac{ \gamma (y' - y)^2}{2} + \beta v(y', H(Y))\right\}\]

显然\(v\)\(h\)都依赖于\(H\)

70.2.1.5. 使用一阶必要条件的特征化#

在接下来的内容中,基于一阶条件对\(h\)进行第二次特征化将会很有帮助。

选择\(y'\)的一阶必要条件是

(70.12)#\[-\gamma (y' - y) + \beta v_y(y', H(Y) ) = 0\]

Benveniste-Scheinkman [Benveniste and Scheinkman, 1979]的一个重要且有用的包络定理表明,要对\(v\)关于\(y\)求导,我们可以直接对(70.9)右侧进行求导,得到

\[ v_y(y,Y) = a_0 - a_1 Y + \gamma (y' - y) \]

将此方程代入 (70.12) 得到欧拉方程

(70.13)#\[-\gamma (y_{t+1} - y_t) + \beta [a_0 - a_1 Y_{t+1} + \gamma (y_{t+2} - y_{t+1} )] =0\]

企业在以下条件下最优地设定满足 (70.13) 的产出路径,同时将 (70.8) 视为给定:

  • \((y_0, Y_0)\) 的初始条件。

  • 终端条件 \(\lim_{t \rightarrow \infty } \beta^t y_t v_y(y_{t}, Y_t) = 0\)

最后这个条件被称为横截条件,它作为”无穷远处”的一阶必要条件。

代表性企业的决策规则求解差分方程 (70.13),需满足给定的初始条件 \(y_0\) 和横截条件。

注意,求解贝尔曼方程 (70.9) 得到 \(v\),然后在 (70.11) 中求解 \(h\),可以得到一个自动满足欧拉方程 (70.13) 和横截条件的决策规则。

70.2.1.6. 产出的实际运动规律#

正如我们所见,一个特定的信念会转化为一个特定的决策规则 \(h\)

回想一下,在均衡状态下 \(Y_t = y_t\),市场整体产出的实际运动规律

(70.14)#\[Y_{t+1} = h(Y_t, Y_t)\]

因此,当企业相信市场整体产出的运动规律是(70.8)时,它们的优化行为使得实际运动规律变为(70.14)

70.2.2. 理性预期均衡的定义#

具有调整成本模型的理性预期均衡递归竞争均衡是一个决策规则 \(h\) 和一个总体运动规律 \(H\),使得:

  1. 在给定信念 \(H\) 的情况下,映射 \(h\) 是企业的最优政策函数。

  2. 运动规律 \(H\) 满足对所有 \(Y\) 都有 \(H(Y)= h(Y,Y)\)

因此,理性预期均衡使感知的运动规律(70.8)和实际的运动规律(70.14)相等。

70.2.2.1. 不动点表征#

正如我们所见,企业的最优化问题产生了一个映射\(\Phi\),它将市场总产出的感知运动规律\(H\)映射到实际运动规律\(\Phi(H)\)

映射\(\Phi\)是两个映射的组合,第一个映射通过(70.9)(70.11)将感知运动规律映射到决策规则,第二个映射通过(70.14)将决策规则映射到实际运动规律。

理性预期均衡的\(H\)分量是\(\Phi\)的一个不动点。

70.3. 计算均衡#

现在让我们来计算一个理性预期均衡。

70.3.1. 收缩性的失效#

熟悉动态规划论证的读者可能会尝试通过选择某个总体运动规律的初始猜测值\(H_0\),然后对\(\Phi\)进行迭代来解决这个问题。

不幸的是,映射\(\Phi\)并不是一个压缩映射。

事实上,对\(\Phi\)的直接迭代并不能保证收敛[1]

有些情况下这些迭代会发散。

幸运的是,这里还有另一种可行的方法。

该方法利用了福利经济学基本定理中所表达的均衡与帕累托最优之间的联系(参见[Mas-Colell et al., 1995])。

Lucas和Prescott [Lucas and Prescott, 1971] 使用这种方法构建了理性预期均衡。

以下是一些细节。

70.3.2. 规划问题方法#

我们的解决思路是将市场问题的欧拉方程与单个个体选择问题的欧拉方程相匹配。

正如我们将看到的,这个规划问题可以通过LQ控制(linear regulator)来解决。

规划问题的最优数量就是理性预期均衡的数量。

理性预期均衡价格可以作为规划问题中的影子价格获得。

我们首先计算时间\(t\)时消费者和生产者剩余的总和

(70.15)#\[s(Y_t, Y_{t+1}) := \int_0^{Y_t} (a_0 - a_1 x) \, dx - \frac{ \gamma (Y_{t+1} - Y_t)^2}{2}\]

第一项是需求曲线下的面积,而第二项衡量的是产出变化的社会成本。

规划问题是选择一个生产计划\(\{Y_t\}\)来最大化

\[ \sum_{t=0}^\infty \beta^t s(Y_t, Y_{t+1}) \]

同时满足\(Y_0\)的初始条件。

70.3.3. 规划问题的解决方案#

计算(70.15)中的积分得到二次形式\(a_0 Y_t - a_1 Y_t^2 / 2\)

因此,规划问题的贝尔曼方程为

(70.16)#\[V(Y) = \max_{Y'} \left\{a_0 Y - {a_1 \over 2} Y^2 - \frac{ \gamma (Y' - Y)^2}{2} + \beta V(Y') \right\}\]

相关的一阶条件是

(70.17)#\[-\gamma (Y' - Y) + \beta V'(Y') = 0\]

应用相同的Benveniste-Scheinkman公式得到

\[V'(Y) = a_0 - a_1 Y + \gamma (Y' - Y) \]

将其代入方程 (70.17) 并重新整理,得到欧拉方程

(70.18)#\[\beta a_0 + \gamma Y_t - [\beta a_1 + \gamma (1+ \beta)]Y_{t+1} + \gamma \beta Y_{t+2} =0\]

70.3.4. 关键洞察#

回到方程 (70.13) 并对所有 t 设定 \(y_t = Y_t\)

通过一些简单的代数运算,你会发现当 \(y_t=Y_t\) 时,方程 (70.18)(70.13) 是完全相同的。

因此,规划问题的欧拉方程与我们通过以下方式得到的二阶差分方程相匹配:

  1. 找到代表性企业的欧拉方程,并且

  2. 将使”代表性企业具有代表性”的表达式 \(Y_t = y_t\) 代入其中。

如果对这两个差分方程应用相同的终端条件是合适的(确实如此),那么我们就验证了规划问题的解也是理性预期均衡的数量序列。

因此,对于这个例子,我们可以通过构建对应于贝尔曼方程(70.16)的最优线性调节器问题来计算均衡量。

规划问题的最优策略函数就是代表性企业在理性预期均衡中面临的总体运动规律\(H\)

70.3.4.1. 运动规律的结构#

正如练习中要求你证明的那样,规划者问题是LQ控制问题这一事实意味着最优策略——因此也是总体运动规律——具有以下形式

(70.19)#\[Y_{t+1} = \kappa_0 + \kappa_1 Y_t\]

其中\(\kappa_0, \kappa_1\)为某个参数对。

现在我们知道总体运动规律是线性的,从企业的贝尔曼方程(70.9)可以看出,企业的问题也可以被构建为一个LQ问题。

正如练习中要求你证明的那样,企业问题的LQ表述意味着一个如下形式的运动规律

(70.20)#\[y_{t+1} = h_0 + h_1 y_t + h_2 Y_t\]

因此,理性预期均衡将由(70.19)(70.20)中的参数\((\kappa_0, \kappa_1, h_0, h_1, h_2)\)来定义。

70.4. 练习#

练习 70.1

考虑上述描述的企业问题。

假设企业的信念函数\(H\)(70.19)所示。

将企业的问题表述为一个贴现最优线性调节器问题,注意要详细描述所需的所有对象。

使用QuantEcon.py包中的LQ类来解决以下参数值的企业问题:

\[ a_0= 100, a_1= 0.05, \beta = 0.95, \gamma=10, \kappa_0 = 95.5, \kappa_1 = 0.95 \]

将企业问题的解以(70.20)的形式表示,并给出每个\(h_j\)的值。

如果有一个单位数量的完全相同的竞争性企业都按照(70.20)行事,那么对于市场供给的实际运动规律(70.8)意味着什么。

练习 70.2

考虑以下 \(\kappa_0, \kappa_1\) 对作为理性预期均衡中总体运动定律组成部分的候选(参见(70.19))。

扩展你为 练习 70.1 编写的程序,确定哪些(如果有的话)满足理性预期均衡的定义

  • (94.0886298678, 0.923409232937)

  • (93.2119845412, 0.984323478873)

  • (95.0818452486, 0.952459076301)

描述一个迭代算法,该算法使用你为 练习 70.1 编写的程序来计算理性预期均衡。

(你不需要实际使用你所建议的算法)

练习 70.3

回顾上述规划者问题

  1. 将规划者问题表述为LQ问题。

  2. 使用练习1中相同的参数值求解

    • \(a_0= 100, a_1= 0.05, \beta = 0.95, \gamma=10\)

  3. 将解表示为\(Y_{t+1} = \kappa_0 + \kappa_1 Y_t\)的形式。

  4. 将你的答案与练习2的结果进行比较。

练习 70.4

一个垄断者面对产业需求曲线(70.5),并选择\(\{Y_t\}\)来最大化\(\sum_{t=0}^{\infty} \beta^t r_t\),其中

\[ r_t = p_t Y_t - \frac{\gamma (Y_{t+1} - Y_t)^2 }{2} \]

将此问题表述为LQ问题。

使用与练习 70.2相同的参数计算最优策略。

特别地,求解以下方程中的参数:

\[ Y_{t+1} = m_0 + m_1 Y_t \]

将你的结果与练习 70.2进行比较并评论。

恒等算子和 \(\gamma \in (0,1)\) 是一个松弛参数。 参见 [Marcet and Sargent, 1989][Evans and Honkapohja, 2001] 中关于这种方法的阐述和应用,该方法用于确定在什么条件下使用最小二乘学习的自适应代理群体会收敛到理性预期均衡。