Methodology
How the Engine Works
Equations, parameters, calibration and known limitations of both simulation engines
1. Scope and architecture
Monetary Model runs two separate engines. The Classroom Simulator (section 11) is a 24-month, closed-economy difference-equation model for teaching how the main policy levers work. The De-Globalization Simulator, which most of this document describes, is a 40-quarter open-economy model built to ask one question: when the world economy fractures, which U.S. monetary architecture bends and which one breaks?
The de-globalization engine has three layers. (i) A deterministic, quarterly macro core with an explicit external sector, a maturity-split fiscal block and an aggregate financial-stress state. (ii) A regime overlay that re-parameterizes the core according to the structural rules of seven historical U.S. monetary architectures. (iii) A Monte Carlo layer that re-runs the core over 500 seeded draws of perturbed elasticities, shock magnitudes and shock timing, and reduces them to percentile fans and breakdown probabilities.
The engine is a reasoning tool, not a forecast. It is built to put mechanism ahead of precision: every output is traceable to a stated causal chain, and every parameter is published below. We rejected DSGE with rational expectations (opaque to the intended audience, and poorly suited to regime-change questions), statistical or machine-learning forecasting (a black box where a glass box is needed, and fitted to a globalized sample that does not contain the scenarios being asked about), and full emergent agent-based modelling (difficult to debug and to attribute).
The core is stock-flow consistent in spirit rather than in the full Godley–Lavoie sense. The accounting that drives the key results is closed: the current account, the foreign demand for Treasuries, the issuance that must be absorbed, and the debt stock are tied together so that a shortfall in one place must reappear somewhere else. The model does not, however, maintain complete sectoral balance-sheet and transactions-flow matrices for households, firms, banks and the rest of the world. Section 12 lists this and every other simplification.
2. Notation, timing and initial conditions
Time runs in quarters q = 1…40. Rates are annualized percentages; the term premium is in basis points. Lever deviations are measured from the calibrated baseline and written Δx (for example Δτ = tariff − 3). x⁺ denotes max(0, x). Most state variables use partial adjustment toward a target: x_q = x_{q−1} + λ(x* − x_{q−1}).
Symbols. Levers: τ tariff level, ρ reshoring rate, f supply-chain friction, b bloc alignment, fdi FDI-reversal rate, κ capital-control severity, R dollar reserve share. State: π headline inflation, π^e expected inflation, i policy rate, i^L 10-year yield, TP term premium, CA current account, REER real exchange rate, gap output gap, σ financial stress, b debt-to-GDP (in the fiscal block), T federal revenue. Elasticities (perturbed in section 10c): ε_τ tariff pass-through, ε_capex reshoring multiplier, ε_rec recycling elasticity, θ term premium per demand point, ε_fx FX pass-through, ε_rail rail-friction drag, ε_min mineral pass-through, κ_π sacrifice ratio. s_c is a channel's magnitude multiplier (1 unless perturbed). A subscript R marks a regime parameter (section 10a); μ_R is monetization capacity. Constants: r* = 1.5 neutral real rate, π* = 2 inflation target.
Structural change is phased in over two years through a per-channel ramp. In the deterministic run all offsets d_c are zero; the Monte Carlo layer draws them (section 10).
r_c(q) = clamp((q − d_c) / 8, 0, 1) c ∈ {trade, capital, rails, commodities}
ramp(q) = min(1, q / 8)Initial conditions describe a stylized "representative present", not a particular quarter of data. The values are round on purpose, because the results are driven by how the levers move the system rather than by the exact starting point.
| Parameter | Value |
|---|---|
realGdpGrowth | 2 |
potentialGrowth | 1.9 |
outputGap | 0 |
unemployment | 4.2 |
inflation | 2.6 |
coreInflation | 2.6 |
policyRate | 4 |
termPremium | 50 |
longRate | 4.5 |
reer | 100 |
currentAccount | -3.2 |
niip | -80 |
dollarReserveShareActual | 58 |
debtToGdp | 122 |
primaryDeficit | 3.8 |
avgCouponRate | 2.7 |
federalRevenue | 18 |
fedAbsorptionShare | 0 |
financialStress | 20 |
neutralRealRate | 1.5 |
inflationTarget | 2 |
okunCoefficient | 0.5 |
billShare | 30 |
billRepricingSpeed | 0.5 |
couponRepricingSpeed | 0.06 |
bracketCreep | 0.1 |
importShareOfGdp | 14 |
3. The five fracture channels and their couplings
Twenty levers are grouped into five channels: trade fragmentation (tariffs, reshoring, supply-chain friction, bloc alignment), capital-flow fragmentation (foreign Treasury demand, FDI reversal, capital controls, sanctions exposure), reserve-currency erosion (dollar reserve share, alternative settlement, gold remonetization, petrodollar integrity), payment-rail fragmentation (SWIFT alternatives, foreign CBDCs, correspondent-banking retreat, U.S. digital-dollar status) and commodity-bloc formation (energy fragmentation, critical-mineral access, food-security stress, strategic stockpiling).
The channels are not additive. Before the quarterly loop runs, four cross-channel couplings are resolved. Critical-mineral access sets a hard ceiling on reshoring, so Channel 5 constrains Channel 1. Fragmented payment rails reduce the reach of U.S. financial sanctions and make alternative settlement easier, so Channel 4 feeds Channels 2 and 3. Sanctions exposure pushes the realized dollar reserve share below the level the user set, because diversifying out of a freezable asset is the rational response to freeze risk. A convertibility commitment, whether set with the gold lever or built into the regime, becomes an external constraint on policy.
ρ = ρ_lever · clamp(minerals / 75, 0, 1) reshoring actually achieved e_s = clamp(1 − ΔCBDC⁺/160 − ΔSWIFT⁺/110, 0.2, 1) sanctions efficacy Alt_r = 0.40·ΔSWIFT⁺ + 0.18·ΔCBDC⁺ rail-driven alt-settlement F_rail = clamp(0.50·ΔSWIFT⁺ + 0.25·ΔCBDC⁺ + 0.45·ΔCorr⁺ − 10·𝟙[wholesale $], 0, 100) D = 14·𝟙[retail digital dollar] deposit disintermediation R* = clamp(R_lever − 0.06·ΔSanctions⁺·e_s, 15, 70) reserve-share target g_c = 0.02·ΔGold⁺ + 0.4·specie_R convertibility constraint
A shortage of critical minerals (short = (75 − minerals)⁺) enters in three places: it caps reshoring, it adds cost-push inflation, and it drags on potential growth.
4. External sector: the recycling mechanism
The central idea of the model is that the U.S. current-account deficit is also how dollars get abroad to buy U.S. Treasuries. Tariffs, reshoring and bloc alignment narrow the deficit, and so, mechanically, they shrink the pool of dollars that foreign holders recycle into U.S. debt. The United States cannot reshore aggressively and keep effortless deficit financing at the same time. Aggressive reshoring can therefore worsen the fiscal position, and the model is built so that this result can appear.
CA_q = clamp(CA₀ + r_T·s_T·(0.22ρ + 0.015Δτ + 0.004Δb) + 0.03·(100 − REER_{q−1}), −9, 5)
L_q = (CA_q − CA₀) · ε_rec recycling demand loss
RE_q = m_res·s_$·[(58 − R_q)⁺ + 0.35(ΔAlt + Alt_r)⁺ + 0.15ΔPetro⁺ + 0.04ΔEnergy⁺]
F_q = clamp(F_lever − L_q − 0.8·RE_q − 1.2·fdi − 0.15·κ·c_M, −100, 50)
DL_q = (−F_q)⁺ foreign demand lost (%)The realized reserve share moves toward its target at 8% of the gap per quarter. It is computed in closed form so that the dollar channel's timing draw d_$ can shift the path in time: R_q = R* + (R₀ − R*)·0.92^max(0, q − d_$), which is the same as R_q = R_{q−1} + 0.08(R* − R_{q−1}) when d_$ = 0. Reserve erosion RE is scaled by the regime's exposure to reserve-currency status, m_res: an architecture with no exorbitant privilege has none to lose.
5. Term premium, long rates and the exchange rate
Lost foreign demand widens the term premium, so the long end of the yield curve moves away from the policy rate. The term premium also responds to gold remonetization, to issuance the regime is unable to monetize (U, section 6) and to last quarter's financial stress. That last term creates a feedback loop between stress and yields.
TP*_q = clamp(50 + r_K·s_K·DL_q·θ·m_TP + 0.5·ΔGold⁺ + 3.0·U_{q−1} + 1.5·(σ_{q−1} − 20)⁺, 0, 900)
TP_q = TP_{q−1} + 0.25·(TP*_q − TP_{q−1})
i^L_q = clamp(0.7·i_q + 0.3·(r* + π^e_q) + TP_q/100, 0.1, 25)The real effective exchange rate moves toward a target set by reserve erosion, FDI reversal, lost demand, capital controls (which support the currency) and the real-rate differential. The speed of adjustment is scaled by the regime's exchange-rate flexibility φ_fx. Under a peg the depreciation the market wants cannot happen through the exchange rate. The model does not let that pressure disappear: it is recorded as suppressed depreciation X, which then weighs on output, stress and the policy rule.
REER*_q = clamp(100 − 0.5·RE − 0.8·fdi − 0.06·DL + 0.10·κ + (i − π − r*), 55, 130)
X_q = (100 − REER*_q)⁺ · (1 − φ_fx)
REER_q = REER_{q−1} + 0.12·φ_fx·(REER*_q − REER_{q−1})
π^imp_q = (REER_{q−1} − REER_q)⁺ · ε_fx6. Who absorbs the issuance?
When foreign demand falls, someone has to buy the Treasury debt. The model offers no free option. Once the term premium passes a threshold, the central bank is called on to absorb a share of issuance. The regime's monetization capacity μ decides how much of that call it can actually meet. What it absorbs creates inflation. What it cannot absorb (U) still has to be sold in the market, and it shows up as a higher term premium and more financial stress. A specie regime cannot print its way out, so it pays through yields and fragility instead.
A_q = clamp(60·(TP_q − 300)/300, 0, 90) reactive Fed
= clamp(70·(TP_q − 250)/250, 0, 95) user-set policy rate
FedShare = A_q · μ_R
U_q = (A_q − FedShare_q) / 10
π^mon_q = 2.0 · FedShare_q/100 · ramp(q)7. Output, potential growth and unemployment
Shocks move the output gap to a new level and hold it there. They do not subtract from growth every quarter forever. The gap moves toward a target set by the real long rate relative to its neutral level, plus the direct effects of each channel. Growth then returns to a potential rate that the scenario has lowered. Real GDP growth is potential growth plus the annualized change in the gap.
gap*_q = clamp( −0.9·(i^L − π^e − (r* + TP₀/100))
+ r_T·s_T·(ε_capex·ρ − 0.020·Δf⁺)
− r_K·s_K·(0.25·fdi + 0.025·κ·c_M)
− r_R·s_R·(ε_rail·F_rail·m_rail + 0.08·D·MBF_R)
− 0.06·X_q − 0.05·(σ_{q−1} − 20)⁺ , −9, 5)
gap_q = gap_{q−1} + 0.25·(gap*_q − gap_{q−1})
g^pot = 1.9 − drag_R − ramp·(0.05ρ + 0.006Δf⁺ + 0.004Δb⁺ + 0.005·short)
g_q = g^pot + 4·(gap_q − gap_{q−1})
u_q = clamp(4.2 − 0.5·gap_q, 2.5, 16)Reshoring appears twice: as a capital-spending boost to demand (ε_capex) and as a permanent drag on potential output, because production moves to higher-cost locations. The short-run gain and the long-run cost are therefore separate, and both can be seen.
8. Inflation and expectations
Headline inflation is split into core inflation (persistence, expectations and a Phillips-curve term), supply-side cost push, pass-through from a weaker currency, and inflation from monetization. The split matters because monetary policy can influence demand-pull inflation but can do very little about cost push that comes from how commodities are allocated politically. This is the lesson of the 1970s, and the model makes it visible.
π^cp_q = r_T·s_T·(ε_τ·Δτ·m/14 + 0.012Δf + 0.006Δb + 0.10ρ) + r_R·s_R·0.010·F_rail
+ r_C·s_C·(0.030ΔEnergy⁺ + ε_min·short + 0.020ΔFood⁺ + 0.022ΔStock⁺)
π^core_q = 0.65·π^core_{q−1} + 0.35·π^e_{q−1} + 0.30·κ_π·gap_q + 0.5·π^mon_q
π_q = clamp(π^core_q + π^cp_q + π^imp_q + 0.5·π^mon_q, −3, 40)
a_R = clamp(anchor_R + 0.001·ΔGold⁺, 0.5, 0.97)
π^e_q = clamp(a_R·π* + (1 − a_R)·(0.5·π^e_{q−1} + 0.5·π_q) − 2·g_c, −1, 20)Expectations are partly anchored to the 2% target and partly adaptive, with the anchoring weight set by the regime. A cost-push shock that persists therefore raises the level of inflation without automatically turning into a spiral. A spiral happens only when anchoring is weak or monetization is heavy. Note that there is no max(·) on the tariff, friction and bloc terms, so rolling those levers back below baseline is disinflationary.
9. The policy rule and the fiscal block
In "Watch the Fed react" mode, the policy rate follows a smoothed Taylor-type rule with two terms added for historical regimes. The first is a weight on external pressure (ω_R). A regime with a par-value or convertibility commitment must defend it whatever the domestic output cost, and this is the defining difference between an inflation targeter and a peg. The second is the convertibility constraint g_c. In "You are the Fed" mode the user sets the rate directly and the rule is switched off.
Ξ_q = X_q/8 + DL_q/40 + RE_q/20 external pressure
i*_q = r* + π^e_q + φ_π,R·(π_q − π*) + φ_y,R·gap_q + ω_R·Ξ_q + g_c
i_q = clamp(ρ_i,R·i_{q−1} + (1 − ρ_i,R)·i*_q, 0, 22)Debt is split by maturity. Bills (30% of the stock) reprice to the policy rate at half the gap per quarter. The coupon stock reprices to the 10-year yield at 6% per quarter, which is consistent with an average maturity of about six years. The starting coupon-stock rate is derived from the observed blended rate, so the baseline stays consistent if the maturity split is recalibrated. Because bills reprice to the policy rate, the Fed's own decisions carry a direct fiscal cost: defending the currency with rate hikes makes the debt arithmetic worse.
i^B_q = i^B_{q−1} + 0.5·(i_q − i^B_{q−1})
i^C_q = i^C_{q−1} + 0.06·(i^L_q − i^C_{q−1}) i^C₀ = (2.7 − 0.3·4.0)/0.7
ī_q = 0.3·i^B_q + 0.7·i^C_q
T_q = clamp(T_{q−1} + 0.025·(π_q − 2), 14, 26) revenue, % of GDP (bracket creep)
b_q = clamp(b_{q−1}·(1 + (ī_q − (g_q + π_q))/400) + 3.8/4, 20, 400)
I/T_q = b_q·ī_q / T_q interest expense, % of revenueThe primary deficit is fixed at 3.8% of GDP. Congress does not react to events within the model (section 12).
Financial stress σ is a 0–100 composite that moves toward a target at 30% of the gap per quarter. The regime's firewalls (lender of last resort, elastic currency, deposit insurance) scale everything above the baseline level of 20.
σ*_q = clamp(20 + m_σ·[0.06(TP−50)⁺ + 3(π−3)⁺ + 1.5(−gap)⁺ + 0.10κ·c_M + 0.8·fdi + 0.3·RE
+ 0.10·FedShare + 0.15·F_rail·m_rail + 0.6·D·MBF_R + 2.5·U + 0.35·X], 0, 100)
σ_q = σ_{q−1} + 0.30·(σ*_q − σ_{q−1})
NIIP_q = NIIP_{q−1} + CA_q/4 + 0.2·(REER_q − REER_{q−1})10a. The regime overlay
Each of the seven historical architectures in Explore is encoded as a vector of structural parameters. The de-globalization scenario itself is left untouched; only the rules the economy runs under are swapped. The question this answers is narrow: given the same fracturing world, how does this architecture cope?
Present Day is the identity case. Every derived modifier is written so that Present Day reproduces the unmodified engine exactly, which means any difference under another regime can be traced to a stated parameter.
c_M = 0.15 + 0.85·capitalMobility cost of capital controls m_TP = 0.35 + 0.65·marketBasedFinance term-premium sensitivity m_rail = 0.40 + 0.60·marketBasedFinance payment-rail sensitivity m_res = 0.15 + 0.85·reserveCurrency reserve-erosion exposure m_σ = 1 + 0.8(1 − LOLR) + 0.4(1 − elasticCurrency) + 0.3(1 − depositInsurance)
| Parameter | Hamiltonian | National Banking | Early Fed | New Deal | Bretton Woods | Modern Regime | Present Day |
|---|---|---|---|---|---|---|---|
fxFlexibility | 0.15 | 0.2 | 0.25 | 0.45 | 0.1 | 1 | 1 |
capitalMobility | 0.7 | 0.8 | 0.85 | 0.45 | 0.15 | 1 | 1 |
marketBasedFinance | 0.15 | 0.25 | 0.35 | 0.3 | 0.3 | 1 | 1 |
reserveCurrency | 0 | 0.05 | 0.15 | 0.35 | 0.8 | 1 | 1 |
monetizationCapacity | 0.05 | 0.15 | 0.3 | 0.75 | 0.5 | 0.6 | 1 |
lenderOfLastResort | 0 | 0.05 | 0.6 | 0.85 | 0.85 | 0.9 | 1 |
elasticCurrency | 0.15 | 0.1 | 0.55 | 0.8 | 0.85 | 1 | 1 |
depositInsurance | 0 | 0 | 0 | 1 | 1 | 1 | 1 |
specieDiscipline | 1 | 0.8 | 0.9 | 0.3 | 0.6 | 0 | 0 |
externalDefenseWeight | 2.5 | 2 | 1.8 | 0.8 | 2.2 | 0.2 | 0 |
regulationDrag | 0 | 0.05 | 0.05 | 0.25 | 0.2 | 0 | 0 |
inflationAnchor | 0.96 | 0.9 | 0.9 | 0.8 | 0.85 | 0.9 | 0.85 |
taylorInflationWeight | 0.4 | 0.3 | 0.5 | 0.6 | 0.7 | 1.5 | 1.5 |
taylorOutputWeight | 0.05 | 0.05 | 0.1 | 0.4 | 0.5 | 0.5 | 0.5 |
policySmoothing | 0.5 | 0.55 | 0.6 | 0.7 | 0.75 | 0.7 | 0.7 |
Capital controls are cheap under Bretton Woods (c_M = 0.28) because they were part of the design, not an emergency measure. Under the Modern regime they are expensive (c_M = 1). The Modern and Present Day regimes rely most on deep, globally funded markets, so they are the most exposed to Channels 2 and 4. The model lets you find that out for yourself; it does not score regimes or name a winner. The comparison matrix deliberately shows each regime's profile across dimensions instead of a single composite score, because every regime trades one kind of stability for another.
10b. Breakdown conditions
Four failure states are checked every quarter. In a deterministic run each is reported as a flag with the first quarter it was breached. In a Monte Carlo run each becomes a probability: the share of draws that breach it.
| Condition | Plain-English trigger | Threshold |
|---|---|---|
| Funding Crisis | The Treasury can't sell its debt without the Fed stepping in. | Fed absorbs >50% of net issuance for 4 consecutive quarters, or term premium >400bp. |
| Inflation Breakout | Price stability is lost. | Inflation above 10% for 4 or more consecutive quarters. |
| Banking Cascade | Contagion outruns the firewalls. | Aggregate financial stress above 75 with stress still rising. Agent-level detail arrives in a later phase. |
| Debt Spiral | Interest is eating the budget. | Interest expense above 40% of federal revenue and still rising. |
The banking-cascade test is currently a stand-in based on aggregate stress. The original specification defines it as at least 30% of financial-sector agents past their stress thresholds with contagion still widening, which needs the agent layer (section 12). The Monte Carlo output marks this probability as provisional.
10c. The stochastic layer
A single deterministic path suggests more precision than the model has. The Monte Carlo layer re-runs the same core over N = 500 draws, and each draw perturbs three families of parameters.
- Behavioural elasticities: Normal around the calibrated value (table below). Where the spread is labelled "literature", σ is set so the ±1.28σ interval spans the published range. Where it is labelled "prior", σ = 25% of the central value.
- Shock magnitude: a lognormal multiplier s_c = exp(σ_log·z) for each channel, with median 1 and σ_log = 0.18. That puts the 80% interval at roughly ±25% of the calibrated impact and gives the fatter upside tail that suits a fracture shock.
- Shock timing: a discrete-uniform quarter offset d_c ∈ [−w_c, w_c] for each channel, with w = 2 for trade and commodities, 3 for capital and rails, and 4 for the dollar.
Draws are correlated within groups but independent across groups. The elasticities in a group and that group's magnitude multiplier share a common factor with loading 0.5, so a single draw cannot produce an incoherent world such as extreme tariff pass-through with no term-premium response.
z_k = 0.5·f_g + √(1 − 0.5²)·η_k f_g, η_k ~ iid N(0,1) ε_k = ε̄_k + σ_k·z_k
| Elasticity | Central | σ | Unit | Basis | Justification |
|---|---|---|---|---|---|
| Tariff pass-through to prices | 0.05 | 0.0175 | pp inflation / pp tariff | literature | Trade-war pass-through estimates cluster near complete on import prices but well under half at the consumer level; σ spans that published range. |
| Reshoring demand multiplier | 0.4 | 0.1 | output gap / pp reshoring | prior | Investment multipliers on relocation capex are estimated over a wide band; ±25% at 1σ. |
| Recycling elasticity | 12 | 4 | % demand / pp of current account | prior | How mechanically a narrower deficit removes foreign Treasury bids is the engine's most consequential and least directly measured link, so it carries a wider spread than the default prior. |
| Term premium per demand point | 2.2 | 0.7 | bp / % demand lost | literature | Official-sector flow studies put the term-premium response to a 1% demand loss in a low-single-digit basis-point range; σ spans it. |
| FX pass-through to inflation | 0.25 | 0.075 | pp inflation / pp depreciation | literature | Advanced-economy import-price pass-through is repeatedly estimated in the 0.1–0.4 range over a one-to-two-year horizon. |
| Rail-friction output drag | 0.02 | 0.005 | output gap / friction index point | prior | No historical episode of payment-rail fragmentation at scale exists to calibrate against; expert prior at ±25%. |
| Mineral-shortfall pass-through | 0.028 | 0.007 | pp inflation / pp shortfall | prior | Input-scarcity price responses are highly non-linear near binding constraints; prior spread at ±25%. |
| Sacrifice ratio | 0.35 | 0.105 | pp core inflation / output gap | literature | Post-1980 Phillips-curve slope estimates vary by roughly a factor of three; σ spans the mainstream range. |
Reproducibility is required, not optional. The scenario configuration (levers, Fed mode, policy rate, regime, number of draws) is serialized in a canonical key-sorted form and hashed with xmur3. That hash seeds a mulberry32 generator, and normal deviates come from Box–Muller. The same configuration therefore gives identical draws for every user in every session, so a shared link that reports "funding crisis in 61% of runs" shows 61% to everyone. Results are cached under the scenario hash and the engine version, and a version bump invalidates the cache. The draws are run on the server with the same code the browser uses; the engine has one source file to prevent drift between the two.
The output is reduced where it is computed. For each metric and quarter, the model reports linearly interpolated percentiles at 2.5, 10, 25, 50, 75, 90 and 97.5, which give nested 50%, 80% and 95% bands. It also reports breach probabilities with the median first-breach quarter, and three tail exemplars. Tail exemplars are ranked first by number of breaches and then by the worst GDP quarter, and each carries the perturbed parameters that produced it, so you can see why a bad run went bad.
The dollar channel is not phased in with a ramp, because reserve erosion already follows its own partial-adjustment path. Its timing draw instead shifts that path in time: a positive offset delays the fall in the reserve share and a negative one brings it forward (section 4). Engine versions before p5.s3 drew this offset but did not apply it, which understated timing uncertainty for the dollar channel. Cached results from those versions are invalidated automatically.
11. The Classroom Simulator engine
The Monetary, Fiscal and Crisis modes on the Simulate page use a simpler engine with monthly steps over 24 months and a closed economy. It is built to show the direction and rough relative strength of each lever, not magnitudes. Starting values are π = 2.5, g = 2.0, u = 4.0, b = 120, and M2, credit and bank health all at index 100.
ĩ = i − 2.5 rate gap from neutral
M_t = M_{t−1}·(1 + μ/1200)
C_t = clamp(C_{t−1}·(1 + (μ/1200)·(10/max(rr, 0.5))·0.4 − 0.0015·ĩ), 20, 200)
π_t = π_{t−1} + 0.6·(−0.10·ĩ + 0.18·(μ − 6))
g_t = g_{t−1} + 0.45·(−0.13·ĩ + 0.10·G + 0.4·(C_t/100 − 1))
u_t = u_{t−1} + 0.07·(2.0 − g_t) − 0.02·(π_t − 2.5)
b_t = b_{t−1} + 0.35·T^iss − 0.22·g_t + 0.05·G
H_t = H_{t−1} − 0.3·|ĩ| − 0.2·ĩInflation and growth accumulate the rate gap over time, which gives the model an accelerationist form: a rate held above neutral keeps pulling inflation down month after month. The clamps (π ∈ [−3, 50], g ∈ [−12, 14], u ∈ [1.5, 28]) keep this bounded. Crisis presets apply a half-sine intensity over months 2 to 10, rising to a peak and fading, with the impacts written into the engine: a bank run hits bank health, credit, unemployment and growth; hyperinflation hits inflation, M2 and growth; a recession hits growth, unemployment and credit; a credit freeze hits credit, growth and bank health. This engine shares no code with the de-globalization core and should not be read as a scaled-down version of it.
12. Limitations and what is not modelled
- Calibration is stylized and has not been estimated. Coefficients are set from published ranges where they exist and from stated priors where they do not. Payment-rail fragmentation at scale, in particular, has no historical episode to calibrate against.
- Back-testing is specified but not yet run. Reproducing the Nixon Shock (1970–75), the Volcker disinflation (1979–85) and the Global Financial Crisis (2007–10) in direction, sequence and rough magnitude is the planned test. Until then the model's authority rests on how clear its mechanisms are, not on a demonstrated fit.
- There is no agent layer yet. Financial stress is one aggregate state, not the propagation of stress through named institutions' balance sheets. The banking-cascade condition uses that aggregate as a stand-in.
- Fiscal policy is exogenous. The primary deficit stays at 3.8% of GDP, and Congress does not respond to rising interest costs, inflation or a crisis.
- Accounting is only partly closed (section 1). The NIIP adds up the current account plus a crude revaluation term; it does not track gross positions or model valuation effects in detail.
- Expectations are a weighted mix of anchored and adaptive, not model-consistent. This is a deliberate choice, but it means the model cannot show credibility effects that depend on forward-looking behaviour, such as a sudden regime-change announcement.
- Lucas critique. The regime overlay runs historical rules over a stylized 21st-century economy. The parameters are held fixed while the rules change, whereas in reality people and institutions would adapt to the new rules. Regime comparisons are thought experiments about how an architecture is built, not reconstructions of history.
- Clamps bound every state variable. They keep extreme lever combinations from producing numerical nonsense, but at the edges they can hide how steeply a scenario is deteriorating.
- Nothing here is investment, legal or financial advice.
13. Intellectual lineage
The model borrows its structure from these works. It does not claim to replicate any of them.
- Godley, W. & Lavoie, M. (2007). Monetary Economics: An Integrated Approach to Credit, Money, Income, Production and Wealth. The stock-flow discipline behind the recycling and absorption blocks.
- Mundell, R. (1963), "Capital Mobility and Stabilization Policy under Fixed and Flexible Exchange Rates"; Fleming, J. M. (1962), "Domestic Financial Policies under Fixed and under Floating Exchange Rates". The open-economy policy trade-offs that the fxFlexibility and capitalMobility parameters encode.
- Obstfeld, M., Shambaugh, J. & Taylor, A. M. (2005), "The Trilemma in History". The framing for the regime overlay.
- Triffin, R. (1960). Gold and the Dollar Crisis. The reserve-currency tension behind Channel 3.
- Gourinchas, P.-O. & Rey, H. (2007), "From World Banker to World Venture Capitalist"; Eichengreen, B. (2011), Exorbitant Privilege. What reserve status is worth and how it can erode.
- Warnock, F. & Warnock, V. (2009), "International Capital Flows and U.S. Interest Rates". Evidence that foreign official demand lowers U.S. long yields, which motivates the term-premium channel.
- Kim, D. & Wright, J. (2005); Adrian, T., Crump, R. & Moench, E. (2013). Term-premium decompositions of the Treasury curve.
- Amiti, M., Redding, S. & Weinstein, D. (2019), "The Impact of the 2018 Tariffs on Prices and Welfare"; Cavallo, A., Gopinath, G., Neiman, B. & Tang, J. (2021), "Tariff Pass-Through at the Border and at the Store". Tariff pass-through.
- Campa, J. & Goldberg, L. (2005), "Exchange Rate Pass-Through into Import Prices". Exchange-rate pass-through.
- Taylor, J. (1993), "Discretion versus Policy Rules in Practice"; Okun, A. (1962), "Potential GNP: Its Measurement and Significance". The policy rule and the gap–unemployment mapping.
- Lucas, R. (1976), "Econometric Policy Evaluation: A Critique". The standing caveat on regime comparisons.
