@@ -339,7 +339,7 @@ Now we use the following function to plot the result
339
339
340
340
```{code-cell} ipython3
341
341
def plot_sequences(sequences, labels):
342
- fig, axs = plt.subplots(len(sequences), 1, figsize=[ 5, 12] )
342
+ fig, axs = plt.subplots(len(sequences), 1, figsize=( 5, 12) )
343
343
for ax, seq, label in zip(axs, sequences, labels):
344
344
ax.plot(range(len(seq)), seq, label=label)
345
345
ax.set_ylabel(label)
@@ -348,8 +348,8 @@ def plot_sequences(sequences, labels):
348
348
plt.tight_layout()
349
349
plt.show()
350
350
351
- sequences = [ μ_seq_1, π_seq_1, m_seq_1 - p_seq_1, m_seq_1, p_seq_1]
352
- plot_sequences(sequences, [ r'$\mu$', r'$\pi$', r'$m - p$', r'$m$', r'$p$'] )
351
+ sequences = ( μ_seq_1, π_seq_1, m_seq_1 - p_seq_1, m_seq_1, p_seq_1)
352
+ plot_sequences(sequences, ( r'$\mu$', r'$\pi$', r'$m - p$', r'$m$', r'$p$') )
353
353
```
354
354
355
355
The plot of the money growth rate $\mu_t$ in the top level panel portrays
@@ -502,25 +502,25 @@ cm2 = create_cagan_model(m0=m_seq_2_path1[T1+1],
502
502
503
503
504
504
# regime 1 - simply glue π_seq, μ_seq
505
- μ_seq_2 = np.concatenate([ μ_seq_2_path1[:T1+1],
506
- μ_seq_2_cont] )
507
- π_seq_2 = np.concatenate([ π_seq_2_path1[:T1+1],
508
- π_seq_2_cont] )
509
- m_seq_2_regime1 = np.concatenate([ m_seq_2_path1[:T1+1],
510
- m_seq_2_cont1] )
511
- p_seq_2_regime1 = np.concatenate([ p_seq_2_path1[:T1+1],
512
- p_seq_2_cont1] )
505
+ μ_seq_2 = np.concatenate(( μ_seq_2_path1[:T1+1],
506
+ μ_seq_2_cont) )
507
+ π_seq_2 = np.concatenate(( π_seq_2_path1[:T1+1],
508
+ π_seq_2_cont) )
509
+ m_seq_2_regime1 = np.concatenate(( m_seq_2_path1[:T1+1],
510
+ m_seq_2_cont1) )
511
+ p_seq_2_regime1 = np.concatenate(( p_seq_2_path1[:T1+1],
512
+ p_seq_2_cont1) )
513
513
514
514
# regime 2 - reset m_T1
515
515
m_T1 = (m_seq_2_path1[T1] + μ0) + cm2.α*(μ0 - μ_star)
516
516
517
517
cm3 = create_cagan_model(m0=m_T1, μ_seq=μ_seq_2_cont)
518
518
π_seq_2_cont2, m_seq_2_cont2, p_seq_2_cont2 = solve(cm3, T-1-T1)
519
519
520
- m_seq_2_regime2 = np.concatenate([ m_seq_2_path1[:T1+1],
521
- m_seq_2_cont2] )
522
- p_seq_2_regime2 = np.concatenate([ p_seq_2_path1[:T1+1],
523
- p_seq_2_cont2] )
520
+ m_seq_2_regime2 = np.concatenate(( m_seq_2_path1[:T1+1],
521
+ m_seq_2_cont2) )
522
+ p_seq_2_regime2 = np.concatenate(( p_seq_2_path1[:T1+1],
523
+ p_seq_2_cont2) )
524
524
```
525
525
526
526
```{code-cell} ipython3
@@ -529,7 +529,7 @@ p_seq_2_regime2 = np.concatenate([p_seq_2_path1[:T1+1],
529
529
T_seq = range(T+2)
530
530
531
531
# plot both regimes
532
- fig, ax = plt.subplots(5, 1, figsize=[ 5, 12] )
532
+ fig, ax = plt.subplots(5, 1, figsize=( 5, 12) )
533
533
534
534
# Configuration for each subplot
535
535
plot_configs = [
@@ -587,7 +587,7 @@ unanticipated, as in experiment 2.
587
587
:tags: [hide-input]
588
588
589
589
# compare foreseen vs unforeseen shock
590
- fig, ax = plt.subplots(5, figsize=[ 5, 12] )
590
+ fig, ax = plt.subplots(5, figsize=( 5, 12) )
591
591
592
592
plot_configs = [
593
593
{'data': [(T_seq[:-1], μ_seq_2)], 'ylabel': r'$\mu$'},
@@ -644,10 +644,10 @@ cm4 = create_cagan_model(μ_seq=μ_seq_stab)
644
644
645
645
π_seq_4, m_seq_4, p_seq_4 = solve(cm4, T)
646
646
647
- sequences = [ μ_seq_stab, π_seq_4,
648
- m_seq_4 - p_seq_4, m_seq_4, p_seq_4]
649
- plot_sequences(sequences, [ r'$\mu$', r'$\pi$',
650
- r'$m - p$', r'$m$', r'$p$'] )
647
+ sequences = ( μ_seq_stab, π_seq_4,
648
+ m_seq_4 - p_seq_4, m_seq_4, p_seq_4)
649
+ plot_sequences(sequences, ( r'$\mu$', r'$\pi$',
650
+ r'$m - p$', r'$m$', r'$p$') )
651
651
```
652
652
653
653
## Sequel
0 commit comments