@@ -7,6 +7,22 @@ kernelspec:
77 display_name : Python 3
88 language : python
99 name : python3
10+ translation :
11+ title : 吃蛋糕问题 I:最优储蓄导论
12+ headings :
13+ Overview : 概述
14+ The model : 模型
15+ The model::Trade-off : 权衡
16+ The model::Intuition : 直观理解
17+ The value function : 价值函数
18+ The value function::The Bellman equation : 贝尔曼方程
19+ The value function::An analytical solution : 一个解析解
20+ The optimal policy : 最优策略
21+ The Euler equation : 欧拉方程
22+ The Euler equation::Statement and implications : 陈述和含义
23+ ' The Euler equation::Derivation I: a perturbation approach ' : 推导 I:扰动法
24+ ' The Euler equation::Derivation II: using the Bellman equation ' : 推导 II:使用贝尔曼方程
25+ Exercises : 练习
1026---
1127
1228# 吃蛋糕问题 I:最优储蓄导论
@@ -17,17 +33,17 @@ kernelspec:
1733
1834## 概述
1935
20- 在本讲中,我们介绍一个简单的“ 吃蛋糕” 问题。
36+ 在本讲中,我们介绍一个简单的" 吃蛋糕" 问题。
2137
2238这里的跨期问题是:今天要享受多少,为未来留下多少?
2339
24- 尽管这个主题听起来很平凡,但这种“ 当前效用与未来效用的权衡” 正是许多储蓄与消费问题的核心。
40+ 这种" 当前效用与未来效用的权衡" 正是许多储蓄与消费问题的核心。
2541
26- 一旦我们在这个简单环境中掌握了相关思想,我们就会逐步把它们应用到更具挑战性——也更有用——的问题中 。
42+ 一旦我们在这个简单环境中掌握了相关思想,我们就会逐步把它们应用到更具挑战性的问题中 。
2743
2844我们用来解决吃蛋糕问题的主要工具是动态规划。
2945
30- 在阅读本讲之前,读者可能会发现复习以下讲座会有帮助 :
46+ 以下讲座包含动态规划的背景知识,值得回顾 :
3147
3248* {doc}` 最短路径讲座 <intro:short_path> `
3349* {doc}` 基础McCall模型 <mccall_model> `
@@ -47,7 +63,7 @@ import numpy as np
4763```
4864## 模型
4965
50- 我们考虑一个无限期的时间区间 $t=0, 1, 2, 3...$
66+ 我们考虑一个具有无限时间区间的离散时间模型。
5167
5268在 $t=0$ 时,决策者获得一个大小为 $\bar x$ 的完整蛋糕。
5369
@@ -58,7 +74,7 @@ import numpy as np
5874如果在第 $t$ 期选择消费 $c_t$ 单位的蛋糕,那么在第 $t+1$ 期剩余的蛋糕量为
5975
6076$$
61- x_{t+1} = x_t - c_t
77+ x_{t+1} = x_t - c_t
6278$$
6379
6480消费数量为 $c$ 的蛋糕会带来当期效用 $u(c)$。
@@ -73,11 +89,12 @@ u(c) = \frac{c^{1-\gamma}}{1-\gamma} \qquad (\gamma \gt 0, \, \gamma \neq 1)
7389
7490在 Python 中表示为:
7591
76- ``` {code-cell} ipython3
92+ ``` {code-cell} python3
7793def u(c, γ):
7894
7995 return c**(1 - γ) / (1 - γ)
8096```
97+
8198未来的蛋糕消费效用按照折现因子 $\beta \in (0,1)$ 进行折现。
8299
83100具体来说,$t$ 期后的 $c$ 单位消费的现值是 $\beta^t u(c)$。
@@ -90,17 +107,19 @@ def u(c, γ):
90107\max_{\{c_t\}} \sum_{t=0}^\infty \beta^t u(c_t)
91108```
92109
93- 约束条件为,对所有 $t$,
110+ 约束条件为
94111
95112``` {math}
96113:label: cake_feasible
97114
98- x_{t+1} = x_t - c_t
99- \quad \text{和 } \quad
100- 0\leq c_t\leq x_t
115+ x_{t+1} = x_t - c_t
116+ \quad \text{and } \quad
117+ 0\leq c_t\leq x_t
101118```
102119
103- 一个满足{eq}` cake_feasible ` 的消费路径 ${c_t}$(其中 $x_0 = \bar{x}$)被称为** 可行的** 。
120+ 对所有 $t$ 成立。
121+
122+ 一个满足 {eq}` cake_feasible ` 且 $x_0 = \bar x$ 的消费路径 $\{ c_t\} $ 被称为** 可行的** 。
104123
105124在这个问题中,以下术语是标准的:
106125
@@ -115,21 +134,28 @@ x_{t+1} = x_t - c_t
115134* 推迟消费是有代价的,因为存在折现因子。
116135* 但推迟部分消费也具有吸引力,因为效用函数 $u$ 是凹的。
117136
118- $u$ 的凹性意味着 * 消费平滑* ,即将消费分散在不同时期,给消费者带来价值 。
137+ $u$ 的凹性意味着消费者能够从 ** 消费平滑** 中获得价值 ,即将消费分散在不同时期。
119138
120139这是因为凹性意味着边际效用递减——在同一时期内,每多消费一勺蛋糕所带来的效用增加会逐渐减少。
121140
122141### 直观理解
123142
124143上述推理表明,贴现因子 $\beta$ 和曲率参数 $\gamma$ 在决定消费率时将起到关键作用。
125144
126- 我们可以合理猜测这些参数的影响:
145+ 下面是关于这些参数将产生何种影响的一个合理猜测。
127146
128- 首先,较高的 $\beta$ 意味着较少的折现,因此个体更有耐心,这应该会降低消费率。
147+ 1 . 较高的 $\beta$ 意味着较少的折现,因此个体更有耐心,这应该会降低消费率。
148+ 2 . 较高的 $\gamma$ 意味着 $u$ 的曲率更大,意味着对消费平滑有更强的偏好,因此消费率会更低。
129149
130- 其次,较高的 $\gamma$ 意味着边际效用 $u'(c) = c^{-\gamma}$ 随着 $c$ 的增加下降得更快。这意味着会有更多的消费平滑,因此消费率会更低。
150+ ``` {note}
151+ 更正式地说,较高的 $\gamma$ 意味着更低的跨期替代弹性,因为 IES = $1/\gamma$。
131152
132- 总之,我们预期消费率会* 随着这两个参数的增加而减少* 。
153+ 这意味着消费者更不愿意在不同时期之间替代消费。
154+
155+ 这种对消费平滑更强的偏好会导致更低的消费率。
156+ ```
157+
158+ 总之,我们预期消费率会随着这两个参数的增加而减少。
133159
134160让我们看看这是否正确。
135161
@@ -187,32 +213,34 @@ v(x) = \max_{0\leq c \leq x} \{u(c) + \beta v(x-c)\}
187213``` {math}
188214:label: crra_vstar
189215
190- v^*(x_t ) = \left( 1-\beta^{1/\gamma} \right)^{-\gamma}u(x_t )
216+ v^*(x ) = \left( 1-\beta^{1/\gamma} \right)^{-\gamma}u(x )
191217```
192218
193219是贝尔曼方程的解,因此等于价值函数。
194220
195221在下面的练习中,你需要验证这一点。
196222
223+ ``` {note}
197224解 {eq}`crra_vstar` 严重依赖于 CRRA 效用函数。
198225
199226事实上,如果我们不使用CRRA效用函数,通常就完全没有解析解。
200227
201228换句话说,在CRRA效用函数之外,我们知道价值函数仍然满足贝尔曼方程,但我们无法显式地写出它,作为状态变量和参数的函数。
202229
203- 在那种情况下,我们会在需要时通过数值方法来处理。
230+ 在后续讲座中,我们会用数值方法来处理这种情况。
231+ ```
204232
205233下面是价值函数的一个 Python 表示:
206234
207- ``` {code-cell} ipython3
235+ ``` {code-cell} python3
208236def v_star(x, β, γ):
209237
210238 return (1 - β**(1 / γ))**(-γ) * u(x, γ)
211239```
212240
213241下面的图,展示了在固定参数下该函数的形状:
214242
215- ``` {code-cell} ipython3
243+ ``` {code-cell} python3
216244β, γ = 0.95, 1.2
217245x_grid = np.linspace(0.1, 5, 100)
218246
@@ -228,46 +256,48 @@ plt.show()
228256
229257## 最优策略
230258
231- 既然我们已经得到了价值函数,那么在每个状态下计算最优行动就很直接了。
259+ 既然我们已经得到了价值函数 $v^ * $ ,那么在每个状态下计算最优行动就很直接了。
232260
233- 我们应该选择一个消费水平,使得贝尔曼方程 {eq}` bellman-cep ` 的右侧最大化 :
261+ 我们应该选择消费以最大化贝尔曼方程 {eq}` bellman-cep ` 的右侧 :
234262
235263$$
236- c^* = \arg \max_{c } \{u(c) + \beta v(x - c)\}
264+ c^* = \arg \max_{0 \leq c \leq x } \{u(c) + \beta v^* (x - c)\}
237265$$
238266
239- 我们可以将这个最优选择视为状态 $x$ 的函数 ,此时称之为** 最优策略** (optimal policy) 。
267+ 我们可以将这个最优选择视为状态 $x$ 的 ** 函数 ** ,此时称之为** 最优策略** 。
240268
241269我们用 $\sigma^* $ 表示最优策略,因此
242270
243271$$
244- \sigma^*(x) := \arg \max_{c} \{u(c) + \beta v(x - c)\}
245- \quad \text{对所有 } x
272+ \sigma^*(x) := \arg \max_{c} \{u(c) + \beta v^* (x - c)\}
273+ \quad \text{对所有 } \; x \geq 0
246274$$
247275
248276如果我们将价值函数的解析表达式{eq}` crra_vstar ` 代入右侧并计算最优值,可以得到
249277
250278``` {math}
251279:label: crra_opt_pol
252280
253- \sigma^*(x) = \left( 1-\beta^{1/\gamma} \right) x
281+ \sigma^*(x) = \left( 1-\beta^{1/\gamma} \right) x
254282```
255283
256284现在让我们回顾一下关于参数影响的直觉。
257285
258286我们之前猜测,消费率会随着这两个参数的增加而减少。
259287
260288从{eq}` crra_opt_pol ` 可以看出,事实确实如此。
289+
261290这里有一些图表来说明。
262291
263- ``` {code-cell} ipython3
292+ ``` {code-cell} python3
264293def c_star(x, β, γ):
265294
266295 return (1 - β ** (1/γ)) * x
267296```
297+
268298继续使用前面给定的参数 $\beta$ 和 $\gamma$,绘制出的图形如下:
269299
270- ``` {code-cell} ipython3
300+ ``` {code-cell} python3
271301fig, ax = plt.subplots()
272302ax.plot(x_grid, c_star(x_grid, β, γ), label='默认参数')
273303ax.plot(x_grid, c_star(x_grid, β + 0.02, γ), label=r'更高的$\beta$')
@@ -283,7 +313,7 @@ plt.show()
283313
284314在上面的讨论中,我们已经在 CRRA 效用的情形下给出了吃蛋糕问题的完整解。
285315
286- 事实上,还有另一种方法可以求解最优策略,即基于所谓的** 欧拉方程** (Euler equation) 。
316+ 事实上,还有另一种方法可以求解最优策略,即基于所谓的** 欧拉方程** 。
287317
288318尽管我们已经得到了完整解,但现在正是研究欧拉方程的好时机。
289319
@@ -299,16 +329,17 @@ plt.show()
299329u^{\prime} (c^*_{t})=\beta u^{\prime}(c^*_{t+1})
300330```
301331
302- 这是最优路径的必要条件 。
332+ 这是最优消费路径 $ \{ c^ * _ t \} _ {t \geq 0}$ 的必要条件 。
303333
304334它表明,在最优路径上,经过适当折现之后,跨期边际收益是相等的。
305335
306336这很合理:最优性是通过平滑消费直到没有额外的边际收益为止得到的。
307337
308338我们也可以用策略函数来表述欧拉方程。
339+
309340** 可行消费策略** 是一个满足 $0 \leq \sigma(x) \leq x$ 的映射 $x \mapsto \sigma(x)$。
310341
311- 这里的约束条件表明 ,我们不能消费超过剩余蛋糕的数量。
342+ (这个约束条件表明 ,我们不能消费超过剩余蛋糕的数量。)
312343
313344如果一个可行消费策略 $\sigma$ 对于所有 $x > 0$ 满足以下条件,则称其** 满足欧拉方程** :
314345
@@ -329,19 +360,19 @@ u^{\prime}( \sigma(x) )
329360**泛函方程**是一个未知对象为函数的方程。
330361```
331362
332- 关于欧拉方程在更一般情况下充分性的证明 ,请参见{cite}` ma2020income ` 中的命题2.2。
363+ 关于欧拉方程在非常一般情况下充分性的证明 ,请参见{cite}` ma2020income ` 中的命题2.2。
333364
334- 下面的论证将聚焦于必要性,解释为什么任何最优路径或最优策略都必须满足欧拉方程。S
365+ 下面的论证将聚焦于必要性,解释为什么最优路径或最优策略应当满足欧拉方程。
335366
336367### 推导 I:扰动法
337368
338- 我们把 $c$ 作为消费路径 $\left \{ { c_t}\right \} _ {t=0}^\infty$ 的简写。
369+ 我们把 $c$ 作为消费路径 $\{ c_t\} _ {t=0}^\infty$ 的简写。
339370
340371整个吃蛋糕的最大化问题可以写作
341372
342373$$
343374\max_{c \in F} U(c)
344- \quad \text{ 其中 } U(c) := \sum_{t=0}^\infty \beta^t u(c_t)
375+ \quad \text{其中 } U(c) := \sum_{t=0}^\infty \beta^t u(c_t)
345376$$
346377
347378其中 $F$ 是所有可行消费路径的集合。
352383$U'(c^* ) = 0$。
353384
354385``` {note}
355- 如果你想确切了解导数 $U'(c^*)$ 是如何定义的,考虑到参自变量 $c^*$ 是一个无限长的向量,你可以从学习[加托导数](https://baike.baidu.com/item/%E5%8A%A0%E6%89%98%E5%AF%BC%E6%95%B0)开始。不过,下文并不假定需要这些知识。
386+ 如果你想确切了解导数 $U'(c^*)$ 是如何定义的,考虑到自变量 $c^*$ 是一个无限长的向量,你可以从学习[加托导数](https://baike.baidu.com/item/%E5%8A%A0%E6%89%98%E5%AF%BC%E6%95%B0)开始。不过,下文并不假定需要这些知识。
356387```
357388
358389换句话说,对于任何无穷小的(且可行的)偏离最优路径的扰动,$U$ 的变化率必须为零。
398429
399430另一种推导欧拉方程的方法是使用贝尔曼方程{eq}` bellman-cep ` 。
400431
432+ ``` {note}
433+ 以下论证假定价值函数是可微的。
434+ 关于价值函数可微性的证明,可参见[EDTC](https://johnstachurski.net/edtc.html)的定理10.1.13。
435+ ```
436+
401437对贝尔曼方程右侧关于 $c$ 求导并令其等于零,我们得到
402438
403439``` {math}
@@ -437,7 +473,7 @@ v' (x) =
437473```
438474(这个推导是[ 包络定理] ( https://blog.csdn.net/qq_25018077/article/details/123295394 ) 的一个例子。)
439475
440- 结合 {eq}` bellman_FOC ` 得到
476+ 但现在应用 {eq}` bellman_FOC ` 得到
441477
442478``` {math}
443479:label: bellman_v_prime
@@ -460,7 +496,7 @@ u^{\prime}(c) = v^{\prime}(x)
460496
461497假设我们不知道解,并从一个假设出发:最优策略是线性的。
462498
463- 换句话说,我们猜测存在一个正的 $\theta$,使得令使得对所有 $t$,设定$c_t^*=\theta x_t$会产生一个最优路径。
499+ 换句话说,我们猜测存在一个正的 $\theta$,使得对所有 $t$,设定 $c_t^*=\theta x_t$ 会产生一个最优路径。
464500
465501从这个猜想出发,尝试获得解 {eq}`crra_vstar` 和 {eq}`crra_opt_pol`。
466502
553589
554590我们的论述现已得到验证。
555591```
592+
593+ ``` {exercise}
594+ :label: cep_ex2
595+
596+ 验证最优策略{eq}`crra_opt_pol`满足欧拉方程{eq}`euler_pol`。
597+ ```
598+
599+ ``` {solution} cep_ex2
600+ :class: dropdown
601+
602+ 回顾一下,最优策略为
603+
604+ $$
605+ \sigma^*(x) = (1 - \beta^{1/\gamma})x
606+ $$
607+
608+ 而策略形式下的欧拉方程为
609+
610+ $$
611+ u'(\sigma(x)) = \beta u'(\sigma(x - \sigma(x)))
612+ $$
613+
614+ 对于CRRA效用函数 $u(c) = \frac{c^{1-\gamma}}{1-\gamma}$,边际效用为
615+
616+ $$
617+ u'(c) = c^{-\gamma}
618+ $$
619+
620+ 现在让我们来验证欧拉方程。左边为
621+
622+ $$
623+ u'(\sigma^*(x))
624+ = [\sigma^*(x)]^{-\gamma}
625+ = [(1 - \beta^{1/\gamma})x]^{-\gamma}
626+ = (1 - \beta^{1/\gamma})^{-\gamma} x^{-\gamma}
627+ $$
628+
629+ 对于右边,我们首先计算下一期的状态:
630+
631+ $$
632+ x - \sigma^*(x) = x - (1 - \beta^{1/\gamma})x = x\beta^{1/\gamma}
633+ $$
634+
635+ 在最优策略下,下一期的消费为
636+
637+ $$
638+ \sigma^*(x - \sigma^*(x)) = \sigma^*(x\beta^{1/\gamma}) = (1 - \beta^{1/\gamma}) \cdot x\beta^{1/\gamma}
639+ $$
640+
641+ 因此,欧拉方程的右边为
642+
643+ $$
644+ \begin{aligned}
645+ \beta u'(\sigma^*(x - \sigma^*(x)))
646+ &= \beta [(1 - \beta^{1/\gamma}) \cdot x\beta^{1/\gamma}]^{-\gamma} \\
647+ &= \beta (1 - \beta^{1/\gamma})^{-\gamma} x^{-\gamma} (\beta^{1/\gamma})^{-\gamma} \\
648+ &= \beta (1 - \beta^{1/\gamma})^{-\gamma} x^{-\gamma} \beta^{-1} \\
649+ &= (1 - \beta^{1/\gamma})^{-\gamma} x^{-\gamma}
650+ \end{aligned}
651+ $$
652+
653+ 由于左边等于右边,最优策略 $\sigma^*$ 满足欧拉方程。
654+ ```
0 commit comments