財政黒字ギャンブル?

昨日、7/24エントリにコメントを頂き、いろいろとやり取りをさせて頂いたが、その中に、同エントリでの実証結果と7/16エントリのシミュレーション結果をどう整合させるのか、という質問があった。それに対しては、7/16のシミュレーションは取りあえず元論文のモデルに乗数理論を乗せただけであり、むしろExcelベースでこうしたシミュレーションが行えるようなツールの整備がそのエントリの主目的であった、という主旨のお答えをさせて頂いた*1


ただ、確かに7/24エントリで見い出した名目成長率とPB(プライマリーバランス;なお、ここでは対GDP比率を考えている)の関係は、7/16エントリで想定していた関係とは違っていた部分がある。そのうちの最も大きなものは、7/16エントリではPB=0をベースラインに置き、そこからの乖離という形でシミュレーションを考えたのに対し、7/24エントリの実証では、どうやらPBの水準(=ゼロからの乖離)よりは前年差をベースに考える方が適切なようだ、ということが分かった点にある。


さらに言うならば、その実証では、PBの前年差と名目成長率の前年差がラグを伴いながら互いに影響を及ぼす、という関係が見えてきた。具体的には、

(t-2)〜(t-1)期でPBが1ポイント上昇[低下]
  ↓
(t-1)〜t期で名目成長率が0.927ポイント低下[上昇]
  ↓
t〜(t+1)期でPBが0.927×0.716≒0.664ポイント低下[上昇]

という関係である。

この場合、PBをある期でGDPのn%にしたとしても、翌々期にはそれ自体が原因でn×0.664ポイントだけ下がってしまうことになる。従って、PBのGDP比率をn%で一定に保つためには、その時点で改めてn×0.664ポイントだけPBを改善する必要がある*2。しかしその改善がやはり翌期にかけての成長率低下を通じてPBの低下をもたらしてしまい、以後はその関係が繰り返されることになる。


ただし、そうしたPBから名目成長率を通じたPB自身への波及効果は、係数0.664で収束していく。そのため、7/16シミュレーションで想定していたようなPBから名目成長率に毎期同等の波及が生じるケースよりは、最終結果への影響は小さくなると思われる。そのことを確認するため、実際にシミュレーションを回してみた結果が以下である*3



これを見ると、確かに、債務比率(d)が2.5もしくは3に達する確率がPBの黒字化と共に低くなっていく傾向は、50年後(T=50)と100年後(T=100)においては、上述の乗数効果を取り入れた場合でも、乗数効果が無い場合と同様である(ただしその傾きは緩やかになる)。
しかしながら、25年後(T=25)においては、その確率とPBの関係は変化し、ほぼフラットないし逆傾斜気味となる。この場合、むしろPB=3%の黒字を維持した場合に、d=2.5、3のいずれのケースでも破綻確率が最大となる。


さらに短期の未来、例えば10年後においては、確率自体は低水準であるものの、その逆転傾向は一層はっきりする。以下のグラフはT=10とT=25を取り出して描画したものである。


つまり、PBの改善は、7/24の実証を基にした関係をベースに乗数効果を考えると、50〜100年といった超長期的には確かに財政を健全化する。しかし、10〜25年といった中長期的には、むしろ債務GDP比率の上昇を招く恐れがある、というのが本シミュレーションの結果である。この場合、中長期的な債務比率はPB改善により悪化するので、幾人かよりご指摘を頂いた資本蓄積の効果も期待できないことになる。もちろん、孫の世代になれば債務比率が改善するのだから今は我慢すべき、という超長期的なフォワードルッキングな効果を取り入れることも考えられるが、それだけのスパンのフォワードルッキングがどれだけ説得力を持つかはかなり疑問の余地があろう。

数学付録

Excelの入力

今回は、B列でPBの変化を計算するようにしたので、7/16のExcel入力に比べてXの計算以降が1列ずつ右にずれている(赤字はその列シフトに伴うもの以外の前回からの変更箇所)。

変数 s/Y Δs/Y X PB項 初期債務項 d
Excelの行/列 A B C D E F
2 適当な初期値 =A2 0.9845 (空白) 1.631 =D2
3 =IF(F2<0,0,$A$2) 0 =EXP(0.8122*LN(C2)+0.0241*SQRT(-2*LN(RAND()))*SIN(2*PI()*RAND()))*(1+B2*$G$2) 0 =E$2*PRODUCT(C$2:C2) =-A2-D3+E3
4 =IF(F3<0,0,$A$2) =IF(F3<0,0,B2*($G$2*0.716)) =EXP(0.8122*LN(C3)+0.0241*SQRT(-2*LN(RAND()))*SIN(2*PI()*RAND()))*(1+B3*$G$2) =C3*D3+C3*A2 =E$2*PRODUCT(C$2:C3) =-A3-D4+E4

4行目のセルを102行目までオートフィルすると、T=100までの債務が計算される(前回と同様)。
その上で、以下のマクロを実行する(乗数=0.927はこの中で指定している)。

 For j = 0 To 6
   For k = 0 To 1
     Range("G2").Value = k * 0.927          '乗数
     For i = 1 To 1000                      'シミュレーション回数
       Range("A2").Value = (j - 3) / 100    'PB
       Cells(i + 2, j * 8 +  8 + k).Value = Range("E12").Value    '10年
       Cells(i + 2, j * 8 + 10 + k).Value = Range("E27").Value    '25年
       Cells(i + 2, j * 8 + 12 + k).Value = Range("E52").Value    '50年
       Cells(i + 2, j * 8 + 14 + k).Value = Range("E102").Value  '100年
     Next
   Next
 Next

上述のB列挿入に伴うシフトのほか、10年時点の債務を拾うようにしたので、シミュレーション結果の表示はH3:BK1002の56列になっている(PBが7ケース(-3%〜3%)×Tが4ケース(10、25、50、100)×乗数有り無しの2ケース)。それぞれのケースについて「=COUNTIF(G3:G1002,">2.5")」といった形でdが上限を超えた割合を計算するのは前回と同様。


7/16シミュレーション関連の小生のツイート

乗数効果の乗せ方について

(注)「1/(1-ρ)5」の原文は「1/(1-ρ)≒5」

成長率が低くなったのに、翌期もさらに成長率を低めるのはおかしい、という指摘への回答


財政再建による資本蓄積の進展が成長率に好影響を与える、という指摘への回答


資本蓄積の成長率への影響など様々な効果を考えるべき、という指摘への回答

*1:その際、同様の質問に対するツイート上での回答にリンクさせて頂いた。また、7/16エントリのコメント欄での回答でも、自ツイートを引用させて頂いた。本エントリの末尾では、改めてそうした関連ツイートをまとめておく。ちなみにユーロ危機について同様にプライマリーバランスの改善と乗数理論を結び付けた分析として、Daniel Grosらの昨年4/22のvoxeu記事がある。

*2:厳密に言えば、そうした直接的な因果関係による変動への対応以外にも、分母のGDPの額が変化することによる微調整が必要になるが、それはごく小さいのでここでは無視する。

*3:実際のExcelでのシミュレーション方法については後述参照。