Skip to content

Commit fc4c40d

Browse files
mmckyclaude
andauthored
[action-translation] resync: os.md (#167)
* 🔄 resync os.md * Restore trailing newline (engine issue tracked in QuantEcon/action-translation#116) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> --------- Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
1 parent 2affade commit fc4c40d

2 files changed

Lines changed: 145 additions & 40 deletions

File tree

.translate/state/os.md.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
source-sha: b27f1eb0ae52b5e20807d516a3d2f54a586e75fa
2+
synced-at: "2026-07-18"
3+
model: claude-sonnet-5
4+
mode: RESYNC
5+
section-count: 6
6+
tool-version: 0.17.0

lectures/os.md

Lines changed: 139 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -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
7793
def 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
208236
def 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
217245
x_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
264293
def c_star(x, β, γ):
265294
266295
return (1 - β ** (1/γ)) * x
267296
```
297+
268298
继续使用前面给定的参数 $\beta$ 和 $\gamma$,绘制出的图形如下:
269299

270-
```{code-cell} ipython3
300+
```{code-cell} python3
271301
fig, ax = plt.subplots()
272302
ax.plot(x_grid, c_star(x_grid, β, γ), label='默认参数')
273303
ax.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()
299329
u^{\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$ 是所有可行消费路径的集合。
@@ -352,7 +383,7 @@ $$
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$ 的变化率必须为零。
@@ -398,6 +429,11 @@ $$
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
@@ -553,3 +589,66 @@ $$
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

Comments
 (0)