輸出を1行足し忘れて、日本経済が3割縮んだ
モデルが動くようになって、最初のグラフを描いた。
2027年度のGDPが522兆円になっていた。
日本経済シミュレーターをつくる第1回 / 全9回目次
経済のモデルというのは、要するに連立方程式の塊だ。
人口が労働力を決めて、労働力と設備と技術が「これだけは作れる」という上限を決める。
その一方で、家計がいくら使い、企業がいくら投資し、政府がいくら支出し、外国がいくら買うかで、実際に作られる量が決まる。
この2つの差が需給ギャップで、そこから物価が動き、物価から金利が動き、金利から為替と株価と国の利払費が動く。
ひととおり書き終えて、2026年度から2050年度までを回してみた。
出発点は名目GDP686兆円。ここは実績なので動かない。
その翌年、2027年度が522兆円だった。
1年で164兆円が消える国は無い
リーマン・ショックのとき、日本の名目GDPは1年で6%ほど落ちた。
東日本大震災の年でも数%だ。
164兆円、率にして24%が1年で消えるというのは、戦争でも起きない。
こういう壊れ方をしてくれるのは、実はありがたい。
本当に怖いのは「それらしい数字」が出てしまうバグのほうで、そちらは最後まで気づけない。
まず需要の内訳を全部そのまま印刷してみた。
C(消費) 375.1
H(住宅) 23.3
I(設備投資) 120.9
G(政府消費) 149.5
Ig(公共投資) 31.6
X(輸出) 169.8
M(輸入) 177.5足し引きすると692.7兆円になる。
なのに実質GDPは522.8兆円。差はちょうど169.8兆円で、輸出の額と一致していた。
犯人はこの1行だった
let realGdp = domesticDemand - imports;内需から輸入を引いている。輸出を足していない。
GDPは「消費+投資+政府支出+輸出−輸入」なので、最後の項が丸ごと抜けていた。
直すのは1文字ぶんの仕事だった。
let realGdp = domesticDemand + exports - imports;ばかばかしい間違いだと思う。
ただ、書いている最中の私にはまったく見えていなかった。
内需を組み立てるのに何十行も使って、そのすぐあとに輸出を計算する行があって、頭の中では「もう足した」ことになっていた。
テストでは見つからなかったと思う
このバグを見つけたのは、テストではない。
25年ぶんの経路を表にして印刷する、というだけのスクリプトだった。
単体テストは「消費税を上げたら税収が増えるか」のような向きの検証には強い。
でも「その世界の姿がまともかどうか」は判定できない。
522兆円という数字がおかしいと思えるのは、人間が持っている桁の感覚のほうだ。
なので、モデルを1行でも触ったら必ずこの表を出して眺める、という手順を先に用意した。
いま見ているのは、名目GDP・実質成長率・潜在成長率・需給ギャップ・物価・賃金・実質賃金・失業率・政策金利・長期金利・為替・株価・税収・社会保障給付・基礎的財政収支・債務比率・人口・出生率・平均給与・実質手取りの20列だ。
2年おきに1行、13行に収まる。
そのあと、物価が上下限に張り付いていないか、失業率が10%を超えていないか、為替が100円を割っていないかを毎回目で確かめている。
このどれかが起きていたら、たいてい実績値ではなく係数のほうが間違っている。
ちなみに、この表を出す仕組みを作ったあと、モデルはもっと派手に壊れた。
次はその話を書く。
※運営者が個人で書いているnoteです。