Skip to content

Commit 5127a43

Browse files
Merge branch 'add-inflation' into main
2 parents acf259c + 00041d9 commit 5127a43

File tree

2 files changed

+108
-11
lines changed

2 files changed

+108
-11
lines changed

lectures/cagan_ree.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -617,6 +617,18 @@ plt.tight_layout()
617617
plt.show()
618618
```
619619
620+
621+
It is instructive to compare the preceding graphs with graphs of log price levels and inflation rates for data from four big inflations described in
622+
{doc}`this lecture <inflation_history>`.
623+
624+
In particular, in the above graphs, notice how a gradual fall in inflation precedes the "sudden stop" when it has been anticipated long beforehand, but how
625+
inflation instead falls abruptly when the permanent drop in money supply growth is unanticipated.
626+
627+
It seems to the author team at quantecon that the drops in inflation near the ends of the four hyperinflations described in {doc}`this lecture <inflation_history>`
628+
more closely resemble outcomes from the experiment 2 "unforeseen stabilization".
629+
630+
(It is fair to say that the preceding informal pattern recognition exercise should be supplemented with a more formal structural statistical analysis.)
631+
620632
#### Experiment 3
621633
622634
**Foreseen gradual stabilization**

lectures/inflation_history.md

Lines changed: 96 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ Thus, they tended to end a century at close to a level at which they started it.
2828

2929
Things were different in the 20th century, as we shall see in this lecture.
3030

31-
This lecture will set the stage for some subsequent lecture about a particular theory that economists use to
31+
This lecture will set the stage for some subsequent lectures about a particular theory that economists use to
3232
think about determinants of the price level.
3333

3434

@@ -107,7 +107,7 @@ We say "most years" because there were temporary lapses from the gold or silver
107107

108108
By staring at the graph carefully, you might be able to guess when these temporary lapses occurred, because they were also times during which price levels rose markedly from what had been average values during more typical years.
109109

110-
* 1791-1797 in France (the French revolution)
110+
* 1791-1797 in France (the French Revolution)
111111
* 1776-1793 in the US (the US War for Independence from Great Britain)
112112
* 1861-1865 in the US (the US Civil War)
113113

@@ -121,7 +121,7 @@ Two other features of the figure attracted the attention of leading economists s
121121

122122
* While using valuable gold and silver as coins was a time-tested way to anchor the price level by limiting the supply of money, it cost real resources.
123123

124-
* that is, society paid a high "opportunity cost" for using gold and silver as coins; gold and silver could instead be used as valuable jewelry and also as an industrial input
124+
* that is, society paid a high "opportunity cost" for using gold and silver as coins; gold and silver could instead be used as valuable jewelry and also as an industrial input.
125125

126126
Keynes and Fisher proposed what they suggested would be a socially more efficient way to achieve a price level that would be at least as firmly anchored, and would also exhibit less year-to-year short-term fluctuations.
127127

@@ -136,7 +136,7 @@ A paper fiat money system disposes of all reserves behind a currency.
136136

137137
But notice that in doing so, it also eliminates an automatic supply mechanism constraining the price level.
138138

139-
A low-inflation paper fiat money system replaces that automatic mechanism with an enlightened government that commits itself to limit the quantity of a pure token, no-cost currency.
139+
A low-inflation paper fiat money system replaces that automatic mechanism with an enlightened government that commits itself to limiting the quantity of a pure token, no-cost currency.
140140

141141
Now let's see what happened to the price level in our four countries when after 1914 one after another of them
142142
left the gold/silver standard.
@@ -250,7 +250,7 @@ def process_df(df):
250250
251251
return df
252252
253-
def create_plot(p_seq, e_seq, index, labs, ax):
253+
def create_pe_plot(p_seq, e_seq, index, labs, ax):
254254
255255
p_lab, e_lab = labs
256256
@@ -273,6 +273,28 @@ def create_plot(p_seq, e_seq, index, labs, ax):
273273
ax1.legend(loc='upper left')
274274
275275
return ax1
276+
277+
def create_pr_plot(p_seq, index, ax):
278+
279+
# Calculate the difference of log p_seq
280+
log_diff_p_seq = np.diff(np.log(p_seq))
281+
282+
# Graph for the difference of log p_seq
283+
ax.scatter(index[1:], log_diff_p_seq, label='Monthly Inflation Rate', color='tab:grey')
284+
diff_smooth = pd.DataFrame(log_diff_p_seq).rolling(3).mean()
285+
ax.plot(index[1:], diff_smooth, alpha=0.5, color='tab:grey')
286+
ax.text(-0.08, 1.03, 'Monthly Inflation Rate', transform=ax.transAxes)
287+
288+
ax.xaxis.set_major_locator(mdates.MonthLocator(interval=5))
289+
ax.xaxis.set_major_formatter(mdates.DateFormatter('%b %Y'))
290+
291+
for label in ax.get_xticklabels():
292+
label.set_rotation(45)
293+
294+
ax.legend(loc='upper left')
295+
296+
return ax
297+
276298
```
277299

278300
```{code-cell} ipython3
@@ -299,6 +321,18 @@ df_Aus, df_Hung, df_Pol, df_Germ = df_list
299321

300322
Let's dive in and construct graphs for our four countries.
301323

324+
For each country, we'll plot two graphs.
325+
326+
The first graph plots logarithms of
327+
328+
* price levels
329+
* exchange rates vis a vis US dollars
330+
331+
For each country, the scale on the right side of a graph will pertain to the price level while the scale on the left side of a graph will pertain
332+
to the exchange rate.
333+
334+
For each country, the second graph plots a three-month moving average of the inflation rate defined as $p_t - p_{t-1}$.
335+
302336
### Austria
303337

304338
The sources of our data are:
@@ -319,13 +353,29 @@ lab = ['Retail Price Index', 'Exchange Rate']
319353
320354
# create plot
321355
fig, ax = plt.subplots(figsize=[10,7], dpi=200)
322-
_ = create_plot(p_seq, e_seq, df_Aus.index, lab, ax)
356+
_ = create_pe_plot(p_seq, e_seq, df_Aus.index, lab, ax)
323357
324358
# connect disjunct parts
325359
plt.figtext(0.5, -0.02, 'Austria', horizontalalignment='center', fontsize=12)
326360
plt.show()
327361
```
328362

363+
```{code-cell} ipython3
364+
fig, ax = plt.subplots(figsize=[10,7], dpi=200)
365+
_ = create_pr_plot(p_seq, df_Aus.index, ax)
366+
367+
plt.figtext(0.5, -0.02, 'Austria', horizontalalignment='center', fontsize=12)
368+
plt.show()
369+
```
370+
371+
Staring at the above graphs conveys the following impressions to the authors of this lecture at quantecon.
372+
373+
* an episode of "hyperinflation" with rapidly rising log price level and very high monthly inflation rates
374+
* a sudden stop of the hyperinflation as indicated by the abrupt flattening of the log price level and a marked permanent drop in the three-month average of inflation
375+
* a US dollar exchange rate that shadows the price level.
376+
377+
We'll see similar patterns in the next three episodes that we'll study now.
378+
329379
### Hungary
330380

331381
The source of our data for Hungary is:
@@ -346,7 +396,15 @@ lab = ['Hungarian Index of Prices', '1/Cents per Crown in New York']
346396
347397
# create plot
348398
fig, ax = plt.subplots(figsize=[10,7], dpi=200)
349-
_ = create_plot(p_seq, e_seq, df_Hung.index, lab, ax)
399+
_ = create_pe_plot(p_seq, e_seq, df_Hung.index, lab, ax)
400+
401+
plt.figtext(0.5, -0.02, 'Hungary', horizontalalignment='center', fontsize=12)
402+
plt.show()
403+
```
404+
405+
```{code-cell} ipython3
406+
fig, ax = plt.subplots(figsize=[10,7], dpi=200)
407+
_ = create_pr_plot(p_seq, df_Hung.index, ax)
350408
351409
plt.figtext(0.5, -0.02, 'Hungary', horizontalalignment='center', fontsize=12)
352410
plt.show()
@@ -398,7 +456,15 @@ lab = ['Wholesale Price Index', '1/Cents per Polish Mark']
398456
399457
# create plot
400458
fig, ax = plt.subplots(figsize=[10,7], dpi=200)
401-
ax1 = create_plot(p_seq, e_seq, df_Pol.index, lab, ax)
459+
ax1 = create_pe_plot(p_seq, e_seq, df_Pol.index, lab, ax)
460+
461+
plt.figtext(0.5, -0.02, 'Poland', horizontalalignment='center', fontsize=12)
462+
plt.show()
463+
```
464+
465+
```{code-cell} ipython3
466+
fig, ax = plt.subplots(figsize=[10,7], dpi=200)
467+
_ = create_pr_plot(p_seq, df_Pol.index, ax)
402468
403469
plt.figtext(0.5, -0.02, 'Poland', horizontalalignment='center', fontsize=12)
404470
plt.show()
@@ -423,7 +489,7 @@ lab = ['Price Index', '1/Cents per Mark']
423489
424490
# create plot
425491
fig, ax = plt.subplots(figsize=[9,5], dpi=200)
426-
ax1 = create_plot(p_seq, e_seq, df_Germ.index, lab, ax)
492+
ax1 = create_pe_plot(p_seq, e_seq, df_Germ.index, lab, ax)
427493
428494
plt.figtext(0.5, -0.06, 'Germany', horizontalalignment='center', fontsize=12)
429495
plt.show()
@@ -441,7 +507,15 @@ lab = ['Price Index (Marks or converted to Marks)', '1/Cents per Mark (or Reichs
441507
442508
# create plot
443509
fig, ax = plt.subplots(figsize=[10,7], dpi=200)
444-
ax1 = create_plot(p_seq, e_seq, df_Germ.index, lab, ax)
510+
ax1 = create_pe_plot(p_seq, e_seq, df_Germ.index, lab, ax)
511+
512+
plt.figtext(0.5, -0.02, 'Germany', horizontalalignment='center', fontsize=12)
513+
plt.show()
514+
```
515+
516+
```{code-cell} ipython3
517+
fig, ax = plt.subplots(figsize=[10,7], dpi=200)
518+
_ = create_pr_plot(p_seq, df_Germ.index, ax)
445519
446520
plt.figtext(0.5, -0.02, 'Germany', horizontalalignment='center', fontsize=12)
447521
plt.show()
@@ -452,6 +526,12 @@ plt.show()
452526
A striking thing about our four graphs is how **quickly** the (log) price levels in Austria, Hungary, Poland,
453527
and Germany leveled off after having been rising so quickly.
454528

529+
These "sudden stops" are also revealed by the permanent drops in three-month moving averages of inflation for the four countries.
530+
531+
In addition, the US dollar exchange rates for each of the four countries shadowed their price levels.
532+
533+
* This pattern is an instance of a force modeled in the **purchasing power parity** theory of exchange rates.
534+
455535
Each of these big inflations seemed to have "stopped on a dime".
456536

457537
Chapter 3 of {cite}`sargent2002big` attempts to offer an explanation for this remarkable pattern.
@@ -460,7 +540,12 @@ In a nutshell, here is his story.
460540

461541
After World War I, the United States was on the gold standard. The US government stood ready to convert a dollar into a specified amount of gold on demand. To understate things, immediately after the war, Hungary, Austria, Poland, and Germany were not on the gold standard.
462542

463-
In practice, their currencies were largely “fiat,” or unbacked. The governments of these countries resorted to the printing of new unbacked money to finance government deficits. (The notes were "backed" mainly by treasury bills that, in those times, could not be expected to be paid off by levying taxes, but only by printing more notes or treasury bills.) This was done on such a scale that it led to a depreciation of the currencies of spectacular proportions. In the end, the German mark stabilized at 1 trillion ($10^{12}$) paper marks to the prewar gold mark, the Polish mark at 1.8 million paper marks to the gold zloty, the Austrian crown at 14,400 paper crowns to the prewar Austro-Hungarian crown, and the Hungarian krone at 14,500 paper crowns to the prewar Austro-Hungarian crown.
543+
In practice, their currencies were largely “fiat” or "unbacked", meaning that they were not backed by credible government promises to convert them into gold or silver coins on demand. The governments of these countries resorted to the printing of new unbacked money to finance government deficits. (The notes were "backed" mainly by treasury bills that, in those times, could not be expected to be paid off by levying taxes, but only by printing more notes or treasury bills.) This was done on such a scale that it led to a depreciation of the currencies of spectacular proportions. In the end, the German mark stabilized at 1 trillion ($10^{12}$) paper marks to the prewar gold mark, the Polish mark at 1.8 million paper marks to the gold zloty, the Austrian crown at 14,400 paper crowns to the prewar Austro-Hungarian crown, and the Hungarian krone at 14,500 paper crowns to the prewar Austro-Hungarian crown.
464544

465545
Chapter 3 of {cite}`sargent2002big` focuses on the deliberate changes in policy that Hungary, Austria, Poland, and Germany made to end their hyperinflations.
466546
The hyperinflations were each ended by restoring or virtually restoring convertibility to the dollar or equivalently to gold.
547+
548+
The story told in {cite}`sargent2002big` is grounded in a "fiscal theory of the price level" described in {doc}`this lecture <cagan_ree>` and further discussed in
549+
{doc}`this lecture <cagan_adaptive>`.
550+
551+
Those lectures discuss theories about what holders of those rapidly depreciating currencies were thinking about them and how that shaped responses of inflation to government policies.

0 commit comments

Comments
 (0)