@@ -10,14 +10,13 @@ kernelspec:
10
10
language : python
11
11
name : python3
12
12
---
13
-
14
- # 价格水平历史
13
+ # 价格水平历史
15
14
16
15
本讲将讨论一些关于综合价格指数波动的历史数据。
17
16
18
17
我们首先安装必要的Python包。
19
18
20
- ` xlrd ` 在这里被引入是因为 ` pandas ` 需要它来对Excel文件执行操作。
19
+ 这里引入 ` xlrd ` 是因为 ` pandas ` 需要它来对Excel文件执行操作。
21
20
22
21
``` {code-cell} ipython3
23
22
:tags: [hide-output]
@@ -51,22 +50,22 @@ mpl.font_manager.fontManager.addfont(FONTPATH)
51
50
plt.rcParams['font.family'] = ['Source Han Serif SC']
52
51
```
53
52
54
- 价格水平的增长率在媒体和央行及财政官员的口中称为 ** 通货膨胀** 。
53
+ 价格水平的增长率在媒体和央行及财政官员的口中被称为 ** 通货膨胀** 。
55
54
56
- 价格水平是以国内货币单位对一组代表性消费品的单位进行衡量的 。
55
+ 价格水平是以国内货币单位对一组一篮子消费品的单位进行衡量的 。
57
56
58
- 因此,在美国,$t$时期的价格水平以美元($t$月或$t$年)每消费品单位计量 。
57
+ 因此,在美国,$t$时期的价格水平以美元($t$月或$t$年)对一单位一篮子消费品的比值计算 。
59
58
60
- 20世纪初之前,在许多西方经济体中,价格水平虽然年复一年地波动,但趋势不明显 。
59
+ 20世纪初之前,在许多西方经济体中,价格水平虽然年复一年地波动,但趋势不太明显 。
61
60
62
61
通常价格水平在一个世纪结束时与其开始时相近。
63
62
64
63
20世纪的情况则有所不同,我们将在本讲中看到。
65
64
66
- 一个广为接受的解释是20世纪初期各国放弃金本位和银本位制度 。
65
+ 一个广为接受的解释是20世纪初期各国放弃了金本位和银本位制度 。
67
66
68
67
``` {tip}
69
- 本讲为后续几讲做好了铺垫,这些后续几讲中我们将讲述宏观经济学家用来思考价格水平决定因素的理论 ,即{doc}`cagan_ree` 和 {doc}`cagan_adaptive`
68
+ 本讲为后续几讲做好了铺垫,这些后续几讲中我们将用宏观经济学家的角度来思考决定价格水平的因素 ,即{doc}`cagan_ree` 和 {doc}`cagan_adaptive`
70
69
```
71
70
72
71
## 四个世纪的价格水平
@@ -81,10 +80,10 @@ plt.rcParams['font.family'] = ['Source Han Serif SC']
81
80
在当前语境中,“硬通货”一词意味着这些国家采用了商品货币标准:货币由金银币组成,这些金银币的流通价值主要由它们的金银含量决定。
82
81
83
82
``` {note}
84
- 在金本位或银本位制度下,一些货币也包括代表对金银币的纸质索取权的“仓库凭证”。政府或私人银行发行的银行票据可以视为此类“仓库凭证” 的例子。
83
+ 在金本位或银本位制下,一些货币还包括"仓单",即代表对金币或银币索赔权的纸质凭证。政府或私人银行发行的钞票可以被视为这种"仓单" 的例子。
85
84
```
86
85
87
- 我们用` pandas ` 导入一个托管在Github上的[ 电子表格] ( https://github.com/QuantEcon/lecture-python-intro/tree/main/lectures/datasets ) 。
86
+ 我们用 ` pandas ` 导入一个托管在Github上的[ 电子表格] ( https://github.com/QuantEcon/lecture-python-intro/tree/main/lectures/datasets ) 。
88
87
89
88
``` {code-cell} ipython3
90
89
# 导入数据并清理索引
@@ -131,22 +130,22 @@ plt.show()
131
130
132
131
通过仔细观察 {numref}` lrpl ` ,你可能能猜到这些中断发生的时间,因为这些时期的价格水平出现了显著的暂时性上涨:
133
132
134
- * 1791-1797年在法国 (法国大革命)
135
- * 1776-1790年在美国 (从大英帝国独立的战争)
136
- * 1861-1865年在美国 (南北战争)
133
+ * 1791-1797年的法国 (法国大革命)
134
+ * 1776-1790年的美国 (从大英帝国独立的战争)
135
+ * 1861-1865年的美国 (南北战争)
137
136
138
137
在这些事件期间,当政府为了支付战争支出而印制纸币时,金银本位被暂时放弃。
139
138
140
139
``` {note}
141
- {doc}`french_rev` 描述了在法国大革命期间发生的大通胀前后的情况 。
140
+ {doc}`french_rev` 讲述了在法国大革命期间发生的大通胀的历史 。
142
141
```
143
142
144
143
尽管出现了这些暂时的中断,图中一个显著的特点是三个世纪以来价格水平大致保持恒定。
145
144
146
- 在这个世纪初期,这些数据的另外两个特点引起了耶鲁大学的[ Irving Fisher] ( https://en.wikipedia.org/wiki/Irving_Fisher ) 和剑桥大学的[ John Maynard Keynes] ( https://en.wikipedia.org/wiki/John_Maynard_Keynes ) 的关注。
145
+ 在这个世纪初期,这些数据的另外两个特点引起了耶鲁大学的[ 欧文·费雪( Irving Fisher) ] (https://baike.baidu.com/item/%E6%AC%A7%E6%96%87%C2%B7%E8%B4%B9%E9%9B%AA/9127963#:~:text=%E6%AC%A7%E6%96%87%C2%B7%E8%B4%B9%E9%9B%AA (Irving%20Fisher,%E5%B9%B4%E8%8E%B7%E5%93%B2%E5%AD%A6%E5%8D%9A%E5%A3%AB%E5%AD%A6%E4%BD%8D%E3%80%82 )和剑桥大学的[ 约翰·梅纳德·凯恩斯( John Maynard Keynes) ] ( https://baike.baidu.com/item/%E7%BA%A6%E7%BF%B0%C2%B7%E6%A2%85%E7%BA%B3%E5%BE%B7%C2%B7%E5%87%AF%E6%81%A9%E6%96%AF/4525330 ) 的关注。
147
146
148
147
* 尽管长期锚定在相同的平均水平上,年度价格水平的波动还是很大
149
- * 虽然使用有价值的黄金和白银作为硬币成功地通过限制货币供给稳定了价格水平 ,但这需要消耗现实的资源 --
148
+ * 虽然使用有价值的黄金和白银作为货币成功地通过限制货币供给稳定了价格水平 ,但这需要消耗现实的资源 --
150
149
* 一个国家使用金银币作为货币支付了高昂的“机会成本”——那些金银本可以制成有价值的珠宝和其他耐用品。
151
150
152
151
凯恩斯和费雪提出了他们认为可以更有效地实现价格水平稳定的方式:
@@ -161,9 +160,9 @@ plt.show()
161
160
162
161
这种逻辑促使约翰·梅纳德·凯恩斯称商品本位制为 “野蛮的遗物”。
163
162
164
- 纸币或 “法定货币 ”体系会消耗掉货币背后的所有储备 。
163
+ 纸币或 “法定货币 ”体系使货币脱离其背后支持它的储备 。
165
164
166
- 但是,坚持金本位制或银本位制提供了一种限制货币供应量的自动机制 ,从而锚定了价格水平。
165
+ 但是,坚持金本位制或银本位制提供了一种自动限制货币供应量的机制 ,从而锚定了价格水平。
167
166
168
167
为了锚定价格水平,纯粹的纸币或法定货币体系用中央银行取代了这一自动机制,中央银行拥有限制货币供应的权力和决心(并能阻止造假者!)。
169
168
@@ -202,15 +201,15 @@ plt.show()
202
201
203
202
他们愿意支付与建立和维护商品货币体系相关的资源成本。
204
203
205
- 鉴于许多国家在20世纪放弃商品货币后经历了持续的高通胀,金本位制或银本位制的倡导者倾向于维持1914年前的金/银本位制也是情有可原的 。
204
+ 鉴于许多国家在20世纪放弃商品货币后经历了持续的高通胀,我们也可以理解为什么金本位制或银本位制的倡导者倾向于维持1914年前的金/银本位制 。
206
205
207
206
二十世纪在纸币法定本位制下经历的通货膨胀的广度和长度在历史上都是前所未有的。
208
207
209
208
## 四次大通胀
210
209
211
210
在 1918 年 11 月结束的第一次世界大战之后,货币和财政当局艰难地在尝试不实行金本位或银本位的情况下实现价格水平的稳定。
212
211
213
- 我们展示了{cite}` sargent2013rational ` 第3章 “四次大通胀的结局 ” 中的四幅图。
212
+ 我们展示了{cite}` sargent2013rational ` 第3章 “四次大通胀的结局” 中的四幅图。
214
213
215
214
这些图表描述了第一次世界大战后初期四个国家价格水平的对数:
216
215
@@ -219,9 +218,7 @@ plt.show()
219
218
* 图 3.3:批发价格,波兰,1921-1924 年(第 44 页)
220
219
* 图 3.4:批发价格,德国,1919-1924 年(第 45 页)
221
220
222
-
223
221
我们在四幅图中的每一幅都加上了相对美元汇率的对数。
224
- 引自{cite}` sargent2013rational ` 第3章。
225
222
226
223
图表的基础数据载于{cite}` sargent2013rational ` 第3章附录中的表格。
227
224
我们将所有这些数据转录到电子表格 {download}` chapter_3.xlsx <https://github.com/QuantEcon/lecture-python-intro/raw/main/lectures/datasets/chapter_3.xlsx> ` 中,并将其读入 pandas。
@@ -233,13 +230,13 @@ plt.show()
233
230
234
231
def process_entry(entry):
235
232
"清理数据帧的每个条目"
236
-
233
+
237
234
if type(entry) == str:
238
235
# 删除前导和尾部空白
239
236
entry = entry.strip()
240
237
# 删除逗号
241
238
entry = entry.replace(',', '')
242
-
239
+
243
240
# 删除 HTML 标记
244
241
item_to_remove = ['<s>a</s>', '<s>c</s>',
245
242
'<s>d</s>', '<s>e</s>']
@@ -256,29 +253,29 @@ def process_entry(entry):
256
253
257
254
def process_df(df):
258
255
"Clean and reorganize the entire dataframe."
259
-
256
+
260
257
# 删除列名中的 HTML 标记
261
258
for item in ['<s>a</s>', '<s>c</s>', '<s>d</s>', '<s>e</s>']:
262
259
df.columns = df.columns.str.replace(item, '')
263
-
260
+
264
261
# 将年份转换为整数
265
262
df['Year'] = df['Year'].apply(lambda x: int(x))
266
-
263
+
267
264
# 将索引设置为包含年月的日期时间
268
265
df = df.set_index(
269
266
pd.to_datetime(
270
267
(df['Year'].astype(str) + \
271
268
df['Month'].astype(str)),
272
269
format='%Y%B'))
273
270
df = df.drop(['Year', 'Month'], axis=1)
274
-
271
+
275
272
# 处理重复数据,保留第一个数据
276
273
df = df[~df.index.duplicated(keep='first')]
277
-
274
+
278
275
# 将属性值转换为数字
279
276
df = df.map(lambda x: float(x) \
280
277
if x != '—' else np.nan)
281
-
278
+
282
279
# 最后,我们只关注 1919 年到 1925 年之间的数据
283
280
mask = (df.index >= '1919-01-01') & \
284
281
(df.index < '1925-01-01')
@@ -287,7 +284,7 @@ def process_df(df):
287
284
return df
288
285
```
289
286
290
- 现在,我们编写了绘图函数 ` pe_plot ` 和 ` pr_plot ` ,它们将绘制出显示价格水平、汇率和通货膨胀率的图表、和通货膨胀率 。
287
+ 现在,我们编写绘图函数 ` pe_plot ` 和 ` pr_plot ` ,它们将绘制出价格水平、汇率、和通货膨胀率的图表 。
291
288
292
289
``` {code-cell} ipython3
293
290
:tags: [hide-input]
@@ -296,54 +293,54 @@ def pe_plot(p_seq, e_seq, index, labs, ax):
296
293
"生成价格和汇率图"
297
294
298
295
p_lab, e_lab = labs
299
-
296
+
300
297
# 绘制价格和汇率图
301
298
ax.plot(index, p_seq, label=p_lab, color='tab:blue', lw=2)
302
-
299
+
303
300
# 添加新轴
304
301
ax1 = ax.twinx()
305
302
ax1.plot([None], [None], label=p_lab, color='tab:blue', lw=2)
306
303
ax1.plot(index, e_seq, label=e_lab, color='tab:orange', lw=2)
307
-
304
+
308
305
# 设置对数轴
309
306
ax.set_yscale('log')
310
307
ax1.set_yscale('log')
311
-
308
+
312
309
# 定义轴标签格式
313
310
ax.xaxis.set_major_locator(
314
311
mdates.MonthLocator(interval=5))
315
312
ax.xaxis.set_major_formatter(
316
313
mdates.DateFormatter('%b %Y'))
317
314
for label in ax.get_xticklabels():
318
315
label.set_rotation(45)
319
-
316
+
320
317
# 设置标签
321
318
ax.set_ylabel('价格水平')
322
319
ax1.set_ylabel('汇率')
323
320
324
321
ax1.legend(loc='upper left')
325
-
322
+
326
323
return ax1
327
324
328
325
def pr_plot(p_seq, index, ax):
329
326
"生成通货膨胀率图"
330
327
331
328
# 计算对数 p_seq 的差值
332
329
log_diff_p = np.diff(np.log(p_seq))
333
-
330
+
334
331
# 计算并绘制移动平均值
335
332
diff_smooth = pd.DataFrame(log_diff_p).rolling(3, center=True).mean()
336
333
ax.plot(index[1:], diff_smooth, label='移动平均数(3 期)', alpha=0.5, lw=2)
337
334
ax.set_ylabel('通胀率')
338
-
335
+
339
336
ax.xaxis.set_major_locator(
340
337
mdates.MonthLocator(interval=5))
341
338
ax.xaxis.set_major_formatter(
342
339
mdates.DateFormatter('%b %Y'))
343
-
340
+
344
341
for label in ax.get_xticklabels():
345
342
label.set_rotation(45)
346
-
343
+
347
344
ax.legend()
348
345
349
346
return ax
@@ -372,31 +369,31 @@ remove_row = [(-2, -2, -2),
372
369
df_list = []
373
370
374
371
for i in range(4):
375
-
372
+
376
373
indices, rows = sheet_index[i], remove_row[i]
377
-
374
+
378
375
# 在选定的工作表上应用 process_entry
379
376
sheet_list = [
380
377
pd.read_excel(xls, 'Table3.' + str(ind),
381
378
header=1).iloc[:row].map(process_entry)
382
379
for ind, row in zip(indices, rows)]
383
-
380
+
384
381
sheet_list = [process_df(df) for df in sheet_list]
385
382
df_list.append(pd.concat(sheet_list, axis=1))
386
383
387
384
df_aus, df_hun, df_pol, df_deu = df_list
388
385
```
389
386
390
- 现在,让我们为四个国家绘制图表 。
387
+ 现在,我们为四个国家绘制图表 。
391
388
392
389
我们将为每个国家绘制两幅图。
393
390
394
- 第一幅图绘制的是
391
+ 第一幅图绘制的是
395
392
396
393
* 价格水平
397
394
* 相对于美元的汇率
398
395
399
- 对于每个国家,图表右侧的刻度与价格水平有关,而图表左侧的刻度与汇率有关 。
396
+ 对于每个国家,图表右侧的刻度与价格水平相关,而图表左侧的刻度与汇率相关 。
400
397
401
398
对于每个国家,第二张图表绘制的是通货膨胀率的三个月居中移动平均值,定义为 $\frac{p_ {t-1}+p_t+p_ {t+1}}{3}$。
402
399
@@ -448,7 +445,7 @@ plt.show()
448
445
观察 {numref}` pi_xrate_austria ` 和 {numref}` inflationrate_austria ` 我们可以看到:
449
446
450
447
* "超级通货膨胀"的一段时期中,价格水平的对数迅速上升,月通胀率非常高
451
- * 超级通货膨胀的突然停止,表现为价格水平的对数的突然变平,以及三个月平均通胀率的显著永久下降
448
+ * 超级通货膨胀的突然停止,表现为价格水平的对数的突然变平,以及三个月平均通胀率的显著且永久地下降
452
449
* 美元汇率跟随价格水平走势。
453
450
454
451
我们将在接下来的三个案例中看到类似的模式。
@@ -500,15 +497,17 @@ plt.show()
500
497
501
498
波兰的数据来源如下
502
499
503
- * 表 3.15,价格水平 $\exp p$
500
+ * 表 3.15,价格水平 $\exp p$
504
501
* 表 3.15,汇率
505
502
506
503
``` {note}
507
- 为了根据电子表格中的数据构建价格水平序列,我们遵循 {cite}`sargent2013rational` 第 3 章中的相同程序。
504
+ 为了从电子表格中的数据构建价格水平序列,我们遵循 {cite}`sargent2013rational` 第 3 章中的相同程序。
505
+
506
+ 我们将三个序列拼接在一起——批发价格指数、基于纸币的批发价格指数和基于兹罗提(1924年6月后的波兰货币)的批发价格指数。
508
507
509
- 我们拼接了三个系列--批发价格指数、批发价格指数: 纸币批发价格指数和兹罗提批发价格指数: 按兹罗提计算,我们根据可获得的前一序列最后一期的价格水平比率调整了序列,并将它们粘合在一起,构建了一个单一序列 。
508
+ 我们根据前一个可用序列最后一期的价格水平比率调整了序列,并将它们粘合在一起构建成单一序列 。
510
509
511
- 我们放弃了 1924 年 6 月采用兹罗提后的汇率。这样做是因为我们没有以兹罗提为单位的价格。我们使用 6 月份的旧货币来计算汇率调整 。
510
+ 我们在1924年6月兹罗提被采用后放弃了汇率。我们这样做是因为我们没有以兹罗提计量的价格。我们使用6月的旧货币来计算汇率调整 。
512
511
```
513
512
514
513
``` {code-cell} ipython3
@@ -545,7 +544,7 @@ e_seq[e_seq.index > '05-01-1924'] = np.nan
545
544
546
545
``` {code-cell} ipython3
547
546
lab = ['批发价格指数',
548
- '波兰马克兑美分']
547
+ '波兰马克兑美分(或1924年6月后的波兰兹罗提) ']
549
548
550
549
# 创建图表
551
550
fig, ax = plt.subplots(dpi=200)
@@ -575,7 +574,7 @@ plt.show()
575
574
576
575
德国的数据来源于{cite}` sargent2013rational ` 第 3 章中的以下表格:
577
576
578
- * 表 3.18,批发价格水平 $\exp p$
577
+ * 表 3.18,批发价格水平 $\exp p$
579
578
* 表 3.19,汇率
580
579
581
580
``` {code-cell} ipython3
@@ -649,7 +648,7 @@ plt.show()
649
648
650
649
奥地利、匈牙利、波兰和德国的价格水平在快速上升后,下降得如此之快,这一现象令人瞩目。
651
650
652
- 这些“突然停止”还表现在上述四个国家的三月移动平均通胀率的永久性下降中 。
651
+ 这些“突然停止”还表现在上述四个国家的三月移动平均通胀率的永久性下降 。
653
652
654
653
此外,这四个国家的美元汇率走势与其价格水平相似。
655
654
@@ -679,12 +678,12 @@ plt.show()
679
678
但人们不能指望这些国库券会通过征税来偿还,而是通过印制更多的票据或国库券来偿还。
680
679
```
681
680
682
- 这种行为的规模之大,导致了各国货币的惊人贬值。
681
+ 这种行为的规模之大,导致了各国货币的惊人贬值。
683
682
684
683
{cite}` sargent2002big ` 第3章描述了匈牙利、奥地利、波兰和德国为结束恶性通货膨胀而刻意改变政策的情况。
685
684
686
685
每个国家的政府都停止印刷钞票来支付商品和服务,并使本国货币可兑换成美元或英镑。
687
686
688
687
{cite}` sargent2002big ` 中讲述的故事是以{doc}` cagan_ree ` 和{doc}` cagan_adaptive ` 中描述的价格水平货币主义理论为基础的。
689
688
690
- 这些章节讨论了这些快速贬值货币的持有者在想什么,以及他们的信念如何影响通货膨胀对政府货币和财政政策的反应 。
689
+ 这些章节讨论了这些快速贬值货币的持有者在想什么,以及他们的看法如何影响通货膨胀对政府货币和财政政策的反应 。
0 commit comments