@@ -12,13 +12,13 @@ kernelspec:
12
12
(solow)=
13
13
# 索洛-斯旺增长模型
14
14
15
- 在本讲座中 ,我们将回顾一个由[ 罗伯特·索洛(1925--2023)] ( https://en.wikipedia.org/wiki/Robert_Solow ) 和[ 特雷弗·斯旺(1918--1989)] ( https://en.wikipedia.org/wiki/Trevor_Swan ) 提出的著名模型。
15
+ 在本讲中 ,我们将回顾一个由[ 罗伯特·索洛(1925--2023)] ( https://baike.baidu.com/item/%E7%BD%97%E4%BC%AF%E7%89%B9%C2%B7%E9%BB%98%E9%A1%BF%C2%B7%E7%B4%A2%E6%B4%9B/4822664 ) 和[ 特雷弗·斯旺(1918--1989)] ( https://baike.baidu.com/item/%E6%96%AF%E6%97%BA%E5%9B%BE/646055 ) 提出的著名模型。
16
16
17
- 这个模型用于研究长期经济增长 。
17
+ 这个模型被用于研究长期的经济增长 。
18
18
19
- 尽管模型简单,但它包含一些有趣的教训 。
19
+ 尽管这是一个相对简单的模型,但它提供了许多关于经济增长的深刻见解 。
20
20
21
- 我们将使用以下导入 。
21
+ 我们将使用以下导入语句 。
22
22
23
23
``` {code-cell} ipython3
24
24
import matplotlib.pyplot as plt
@@ -27,15 +27,17 @@ import numpy as np
27
27
28
28
## 模型
29
29
30
- 在索洛-斯旺经济中,经济主体将其当前收入的固定比例用于储蓄维持或增加资本存量。
30
+ 在索洛-斯旺经济模型中,经济主体将其当前收入的固定比例用于储蓄。
31
+
32
+ 这些储蓄维持或增加了资本存量。
31
33
32
34
资本与劳动力相结合生产产出,产出又支付给工人和资本所有者。
33
35
34
36
为了简化问题,我们忽略人口和生产力增长。
35
37
36
38
对于每个整数 $t \geq 0$,第 $t$ 期的产出 $Y_t$ 由 $Y_t = F(K_t, L_t)$ 给出,其中 $K_t$ 是资本,$L_t$ 是劳动力,$F$ 是总生产函数。
37
39
38
- 假设函数 $F$ 是非负的,且是** 一阶齐次的** ,意味着
40
+ 假设函数 $F$ 是非负的,且是** 一阶齐次的** ,这意味着
39
41
40
42
$$
41
43
F(\lambda K, \lambda L) = \lambda F(K, L)
44
46
45
47
具有这种特性的生产函数包括:
46
48
47
- * ** 科布-道格拉斯 ** 函数 $F(K, L) = A K^{\alpha} L^{1-\alpha}$,其中 $0 \leq \alpha \leq 1$。
49
+ * ** Cobb-Douglas ** 函数 $F(K, L) = A K^{\alpha} L^{1-\alpha}$,其中 $0 \leq \alpha \leq 1$。
48
50
49
51
* ** CES** 函数 $F(K, L) = \left\{ a K^\rho + b L^\rho \right\} ^{1/\rho}$,其中 $a, b, \rho > 0$。
50
52
51
53
这里,$\alpha$ 是资本的产出弹性,$\rho$ 是决定资本和劳动力之间替代弹性的参数。
52
54
53
- 我们假设是封闭经济 ,因此总国内投资等于总国内储蓄。
55
+ 我们假设一个封闭经济 ,因此总国内投资等于总国内储蓄。
54
56
55
57
储蓄率是一个常数 $s$,满足 $0 \leq s \leq 1$,所以总投资和储蓄都等于 $s Y_t$。
56
58
81
83
\text{ where } g(k) := s f(k) + (1 - \delta) k
82
84
```
83
85
84
- 我们的目标是了解随时间变化的 $k_t$ 的演变,给定一个外生的初始资本存量 $k_0$ 。
86
+ 我们的目标是在给定外生初始资本存量 $k_0$ 的条件下,研究 $k_t$ 随时间演变的规律 。
85
87
86
88
## 图形化视角
87
89
88
90
为了理解序列 $(k_t)_ {t \geq 0}$ 的动态,我们使用45度图。
89
91
90
92
为此,我们首先需要为 $f$ 指定函数形式并为参数赋值。
91
93
92
- 我们选择科布-道格拉斯规格 $f(k) = A k^\alpha$,并设定 $A=2.0$,$\alpha=0.3$,$s=0.3$ 和 $\delta=0.4$。
94
+ 我们采用Cobb–Douglas生产函数 $f(k) = A k^\alpha$,并设置参数值为 $A=2.0$,$\alpha=0.3$,$s=0.3$ 和 $\delta=0.4$。
93
95
94
96
然后绘制方程 {eq}` solow ` 中的函数 $g$,以及45度线。
95
97
96
- 让我们定义这些常数。
98
+ 我们定义这些常数如下
97
99
98
100
``` {code-cell} ipython3
99
101
A, s, alpha, delta = 2, 0.3, 0.3, 0.4
100
102
x0 = 0.25
101
103
xmin, xmax = 0, 3
102
104
```
103
105
104
- 现在我们来定义函数$g$。
106
+ 现在我们来定义函数$g$
105
107
106
108
``` {code-cell} ipython3
107
109
def g(A, s, alpha, delta, k):
108
110
return A * s * k**alpha + (1 - delta) * k
109
111
```
110
112
111
- 让我们来绘制函数$g$的45度图。
113
+ 让我们来绘制函数$g$的45度图
112
114
113
115
``` {code-cell} ipython3
114
116
def plot45(kstar=None):
@@ -157,42 +159,41 @@ plot45()
157
159
158
160
假设在某个 $k_t$ 处,$g(k_t)$ 的值严格高于45度线。
159
161
160
- 那么我们有 $k_ {t+1} = g(k_t) > k_t$,人均资本增加 。
162
+ 那么我们有 $k_ {t+1} = g(k_t) > k_t$,则人均资本增加 。
161
163
162
164
如果 $g(k_t) < k_t$,则人均资本下降。
163
165
164
166
如果 $g(k_t) = k_t$,那么我们就处于** 稳态** ,$k_t$ 保持不变。
165
167
166
- (模型的{ref}` 稳态<scalar-dynam:steady-state> ` 是映射 $g$ 的[ 不动点] ( https://en.wikipedia.org/wiki/Fixed_point_(mathematics) ) 。)
168
+ (模型的{ref}` 稳态<scalar-dynam:steady-state> ` 是映射 $g$ 的[ 不动点] ( https://baike.baidu.com/item/%E4%B8%8D%E5%8A%A8%E7%82%B9/8535695 ) 。)
167
169
168
- 从图中 $g$ 函数的形状可以看出,在 $(0, \infty)$ 内存在唯一的稳态 。
170
+ 从图中可以看出, $g$ 函数与45度线只有一个交点,这意味着在 $(0, \infty)$ 区间内存在唯一的稳态 。
169
171
170
- 它满足方程 $k = s Ak^ {\alpha} + (1-\delta)k$,因此可以表示为
172
+ 在稳态时,$k^ * = g(k^ * )$,即 $k^ * = s A(k^ * )^ {\alpha} + (1-\delta)k^ * $。解这个方程,我们得到
171
173
172
174
``` {math}
173
175
:label: kstarss
174
176
k^* := \left( \frac{s A}{\delta} \right)^{1/(1 - \alpha)}
175
177
```
176
178
177
- 如果初始资本低于 $k^* $,那么资本会随时间增加 。
179
+ 当初始资本低于稳态值 $k^* $ 时,我们可以从图中看到 $g(k_t) > k_t$,这意味着资本存量会随时间增加,逐渐接近稳态 。
178
180
179
- 如果初始资本高于这个水平,则相反 。
181
+ 相反,如果初始资本高于 $k^ * $,则 $g(k_t) < k_t$,资本存量会随时间减少,同样趋向于稳态值 。
180
182
181
- 让我们绘制45度图来在图中显示 $k^* $。
183
+ 让我们在45度图中标出这个稳态值 $k^* $,以便更直观地理解这一动态过程 。
182
184
183
185
``` {code-cell} ipython3
184
186
kstar = ((s * A) / delta)**(1/(1 - alpha))
185
187
plot45(kstar)
186
188
```
187
189
188
-
189
- 根据我们的图形分析,似乎无论初始资本 $k_0$ 如何,$(k_t)$ 都会收敛到 $k^* $。
190
+ 根据图示分析,无论初始资本存量 $k_0$ 如何,$k_t$ 都将收敛于稳态值 $k^* $。
190
191
191
192
这是一种{ref}` 全局稳定性 <scalar-dynam:global-stability> ` 的形式。
192
193
193
- 下图显示了在上述参数化条件下 ,从三个不同的初始条件出发的资本时间路径。
194
+ 下图显示了在上述参数设置条件下 ,从三个不同的初始条件出发的资本时间路径。
194
195
195
- 在这种参数化下 ,$k^* \approx 1.78$。
196
+ 在这种参数设置下 ,$k^* \approx 1.78$。
196
197
197
198
让我们定义常数和三个不同的初始条件
198
199
@@ -236,23 +237,25 @@ def simulate_ts(x0_values, ts_length):
236
237
simulate_ts(x0, ts_length)
237
238
```
238
239
239
- 如预期,图中的所有时间路径都收敛于 $k^* $。
240
+ 如图所示,所有时间路径均如预期收敛至稳态值 $k^* $。
240
241
241
242
## 连续时间的增长
242
243
243
- 在本节中,我们将研究 Solow--Swan 增长模型的连续时间版本。我们将看到连续时间提供的平滑如何能简化我们的分析。
244
+ 在本节中,我们将研究索洛-斯旺增长模型的连续时间版本。
245
+
246
+ 连续时间框架提供了一种更为流畅的分析方法,使得模型的动态特性更容易理解。
244
247
245
- 回顾一下,资本的离散时间动态由以下公式给出 :$k_ {t+1} = s f(k_t) + (1 - \delta) k_t$。
248
+ 让我们回顾一下离散时间版本的资本动态方程 :$k_ {t+1} = s f(k_t) + (1 - \delta) k_t$。
246
249
247
- 简单重新排列可得到单位时间的变化率 :
250
+ 我们可以将其重新整理为单位时间内的变化量 :
248
251
249
252
$$
250
253
\Delta k_t = s f(k_t) - \delta k_t
251
254
\quad \text{其中} \quad
252
255
\Delta k_t := k_{t+1} - k_t
253
256
$$
254
257
255
- 将时间步长趋近于零得到连续时间极限
258
+ 当我们让时间间隔无限趋近于零时,这个离散变化自然过渡到连续时间的导数形式
256
259
257
260
``` {math}
258
261
:label: solowc
261
264
k'_t := \frac{d}{dt} k_t
262
265
```
263
266
264
- 我们的目标是了解 $k_t$ 随时间的演变,给定初始存量 $k_0$ 。
267
+ 我们的目标是在给定初始资本存量 $k_0$ 的条件下,研究 $k_t$ 随时间演变的规律 。
265
268
266
- {eq}` solowc ` 的** 稳态** 是一个值 $k^* $,在该值处资本保持不变 ,即 $k'_ t = 0$ 或等价地,$s f(k^* ) = \delta k^* $。
269
+ 方程 {eq}` solowc ` 的** 稳态** 是指资本存量保持不变的 $k^* $,即 $k'_ t = 0$ 或等价地,$s f(k^* ) = \delta k^* $。
267
270
268
- 我们假设 $f(k) = Ak^\alpha$,所以 $k^* $ 满足 $s A k^\alpha = \delta k$。
271
+ 我们假设 $f(k) = Ak^\alpha$,因此 $k^* $ 满足 $s A k^\alpha = \delta k$。
269
272
270
- 解决方案与离散时间情况相同 ——参见 {eq}` kstarss ` 。
273
+ 解法与离散时间情况相同 ——参见 {eq}` kstarss ` 。
271
274
272
- 动态在下一个图中表示,保持我们上面使用的参数化 。
275
+ 动态过程将在下一图表中呈现,并沿用上文所述的参数设定 。
273
276
274
- 写作 $k'_ t = g(k_t)$,其中 $g(k) = s Ak^\alpha - \delta k$,$g(k) > 0$ 的 $k$ 值意味着 $k '_ t > 0$,所以资本在增加 。
277
+ 将 $k'_ t = g(k_t)$ 定义为 $g(k) = s Ak^\alpha - \delta k$,当 $g(k) > 0$ 时,$k '_ t > 0$,此时资本存量处于增长状态 。
275
278
276
- 当 $g(k) < 0$ 时,相反的情况发生。再一次,低水平资本时储蓄的高边际回报与高水平资本时的低回报率相结合,产生了全局稳定性 。
279
+ 当 $g(k) < 0$ 时,资本存量将减少。这种动态机制源于两种力量的共同作用:低资本存量水平下的储蓄高边际回报与高资本存量水平下的低回报率相结合,最终形成系统的全局稳定性 。
277
280
278
281
为了在图中看到这一点,让我们定义以下常数
279
282
280
283
``` {code-cell} ipython3
281
284
A, s, alpha, delta = 2, 0.3, 0.3, 0.4
282
285
```
283
286
284
- 接下来,我们为连续时间的增长定义函数 $g$
287
+ 接下来,我们定义函数 $g$ 表示连续时间的增长
285
288
286
289
``` {code-cell} ipython3
287
290
def g_con(A, s, alpha, delta, k):
@@ -327,23 +330,22 @@ kstar = ((s * A) / delta)**(1/(1 - alpha))
327
330
plot_gcon(kstar)
328
331
```
329
332
330
- 这从启发式的角度展示了固定参数化的全局稳定性,但我们如何为一系列合理的参数形式地证明同样的结论呢 ?
333
+ 上图直观地展示了特定参数下的全局稳定性,但我们如何严格证明这一性质对于所有合理参数都成立呢 ?
331
334
332
- 在离散时间的情况下,很难得到 $k_t$的简洁表达式 。
335
+ 在离散时间模型中,要得到 $k_t$ 的解析表达式相当困难 。
333
336
334
- 在连续时间中,这个过程更加简单:我们可以得到一个相对简单的 $k_t$表达式,它可以指定整个路径 。
337
+ 然而,转向连续时间框架可以大大简化分析。在连续时间下,我们能够推导出 $k_t$ 的简洁表达式,从而清晰地描述资本存量随时间的演化路径 。
335
338
336
- 第一步是
339
+ 为此,我们引入变量替换 $x_t := k_t^{1-\alpha}$,这样 $x' _ t = (1-\alpha) k_t^{-\alpha} k' _ t$。
337
340
338
- 设$x_t := k_t^{1-\alpha}$,这样$x'_ t = (1-\alpha) k_t^{-\alpha} k'_ t$。
339
- 将其代入$k'_ t = sAk_t^\alpha - \delta k_t$,得到以下线性微分方程
341
+ 将连续时间的动态方程 $k'_ t = sAk_t^\alpha - \delta k_t$ 代入上式,我们得到一个线性微分方程
340
342
341
343
``` {math}
342
344
:label: xsolow
343
345
x'_t = (1-\alpha) (sA - \delta x_t)
344
346
```
345
347
346
- 这个方程是一个[ 线性常微分方程] ( https://math.libretexts.org/Bookshelves/Calculus/Calculus_(Guichard)/17%3A_Differential_Equations/17.01%3A_First_Order_Differential_Equations ) ,其解为
348
+ 这个方程是一个[ 线性常微分方程] ( https://baike.baidu.com/item/%E7%BA%BF%E6%80%A7%E5%B8%B8%E5%BE%AE%E5%88%86%E6%96%B9%E7%A8%8B/12609971 ) ,其解为
347
349
$$
348
350
x_t
349
351
= \left(
353
355
\frac{sA}{\delta}
354
356
$$
355
357
356
- (你可以通过对$t$求导来确认这个函数$x_t$满足 {eq}` xsolow ` 方程 。)
358
+ (你可以通过对 $t$ 求导来确认这个函数 $x_t$ 满足方程 {eq}` xsolow ` 。)
357
359
358
- 转换回 $k_t$得到
360
+ 代换回 $k_t$ 得到
359
361
360
362
``` {math}
361
363
:label: ssivs
370
372
\right]^{1/(1-\alpha)}
371
373
```
372
374
373
- 由于 $\delta > 0$ 且 $\alpha \in (0, 1)$,我们立即可以看出 ,当 $t \to \infty$ 时,$k_t \to k^* $,且与 $k_0$ 无关。
375
+ 由于 $\delta > 0$ 且 $\alpha \in (0, 1)$,我们立即可以得出结论 ,当 $t \to \infty$ 时,$k_t \to k^* $,且与 $k_0$ 无关。
374
376
375
377
因此,全局稳定性成立。
376
378
381
383
382
384
绘制稳态下人均消费 $c$ 作为储蓄率 $s$ 的函数图,其中 $0 \leq s \leq 1$。
383
385
384
- 使用柯布-道格拉斯生产函数 $f(k) = A k^\alpha$。
386
+ 使用Cobb-Douglas生产函数 $f(k) = A k^\alpha$。
385
387
386
- 设定 $A=2.0, \alpha=0.3,$ 且 $\delta=0.5$。
388
+ 设 $A=2.0, \alpha=0.3,$ 且 $\delta=0.5$。
387
389
388
- 此外,找出大约能使 $c^*(s)$ 最大化的 $s$ 值,并在图中显示 。
390
+ 此外,找出能使 $c^*(s)$ 最大化的 $s$ 的近似值,并在图中表示 。
389
391
```
390
392
391
393
``` {solution-start} solow_ex1
@@ -440,7 +442,7 @@ fig, ax = plt.subplots(figsize=[11, 5])
440
442
441
443
fps = (c_star_max,)
442
444
443
- # Highlight the maximum point with a marker
445
+ # 用标记突出显示最大点
444
446
ax.plot((s_star_max, ), (c_star_max,), 'go', ms=8, alpha=0.6)
445
447
446
448
ax.annotate(r'$s^*$',
@@ -459,7 +461,7 @@ ax.legend()
459
461
plt.show()
460
462
```
461
463
462
- 也可以尝试用数学方法解决这个问题 ,即对 $c^* (s)$ 进行微分,并使用 [ sympy] ( https://www.sympy.org/en/index.html ) 求解 $\frac{d}{ds}c^* (s)=0$。
464
+ 我们也可以尝试用数学方法解决这个问题 ,即对 $c^* (s)$ 进行微分,并使用 [ sympy] ( https://www.sympy.org/en/index.html ) 求解 $\frac{d}{ds}c^* (s)=0$。
463
465
464
466
``` {code-cell} ipython3
465
467
from sympy import solve, Symbol
@@ -479,7 +481,7 @@ s_star = solve(c.diff())[0]
479
481
print(f"s_star = {s_star}")
480
482
```
481
483
482
- 顺便说一下,使人均消费的稳态水平最大化的储蓄率被称为[ 黄金法则储蓄率 ] ( https://en.wikipedia.org/wiki/Golden_Rule_savings_rate ) 。
484
+ 顺便说一下,使人均消费的稳态水平最大化的储蓄率被称为[ 经济增长黄金律 ] ( https://baike.baidu.com/item/%E7%BB%8F%E6%B5%8E%E5%A2%9E%E9%95%BF%E9%BB%84%E9%87%91%E5%BE%8B/10376669 ) 。
483
485
484
486
``` {solution-end}
485
487
```
@@ -493,7 +495,7 @@ print(f"s_star = {s_star}")
493
495
494
496
这样做会带来多方面的影响,其中之一是消除了人均产出 $y_t = A k^\alpha_t$ 收敛到常数 $y^* := A (k^* )^\alpha$ 这一不切实际的预测。
495
497
496
- 在接下来的讨论中,我们将转向离散时间模型 。
498
+ 接下来,我们将转向对离散时间模型的讨论 。
497
499
498
500
一种方法是用某个随机序列 $(A_t)_ {t \geq 1}$ 替代常数生产率。
499
501
@@ -504,7 +506,7 @@ print(f"s_star = {s_star}")
504
506
k_{t+1} = s A_{t+1} f(k_t) + (1 - \delta) k_t
505
507
```
506
508
507
- 我们假设 $f$ 是柯布-道格拉斯生产函数 ,且 $(A_t)$ 是独立同分布的对数正态分布。
509
+ 我们假设 $f$ 是Cobb–Douglas生产函数 ,且 $(A_t)$ 是独立同分布的对数正态分布。
508
510
509
511
现在,在确定性情况下获得的长期收敛性不再成立,因为系统在每个时间点都会受到新的冲击。
510
512
@@ -522,7 +524,7 @@ print(f"s_star = {s_star}")
522
524
让我们定义用于模拟的对数正态分布的常数和初始值
523
525
524
526
``` {code-cell} ipython3
525
- # 定义一下常数
527
+ # 定义常数
526
528
sig = 0.2
527
529
mu = np.log(2) - sig**2 / 2
528
530
A = 2.0
@@ -568,7 +570,5 @@ def ts_plot(x_values, ts_length):
568
570
ts_plot(x0, 50)
569
571
```
570
572
571
-
572
-
573
573
``` {solution-end}
574
574
```
0 commit comments