Sunday, December 28

I Tried to Build a DSGE Model and Failed: This Is What I Learnt

What's a DSGE model anyway?

Before I tell you about my failure, let me explain what I was trying to build. A DSGE model - Dynamic Stochastic General Equilibrium model - is the workhorse of modern macroeconomics. It's a mathematical representation of an economy where households decide how much to spend and save, firms decide how much to produce and hire, and a central bank sets interest rates. Everything ties together through prices and interest rates until supply equals demand. "Equilibrium" means all the pieces fit; "dynamic" means it evolves over time; "stochastic" means random shocks hit the economy and we watch how it responds.

Central banks around the world use these models to forecast inflation and guide interest rate decisions. The intellectual architecture won Nobel Prizes. I figured if I built one for Australia, I'd learn something about how the macroeconomy actually works.

I expected the model to explain Australian inflation, natural rate of unemployment and potential output. Instead, it explained why the model no longer worked.


I built the model

I started with a standard New Keynesian setup: four equations that generations of economics students have estimated.

First, an investment-savings (IS) curve - the idea that when interest rates rise, people save more and spend less, so output falls (the Euler equation - named for the calculus technique). Second, a Phillips curve - the idea that when the economy runs hot and unemployment is low, inflation picks up. Third, a wage equation linking wage growth to labour market slack. Fourth, a Taylor rule describing how the central bank responds to inflation and output.

Mathematically elegant. Theoretically grounded. I coded it up, fed it Australian data from 1993 to 2025, and let the computer find the parameters that best fit the data.


Something went wrong

The model "converged" - it found parameter values. But those values were bizarre.

The Phillips curve slope was essentially zero. The model was insisting that inflation barely responds to how hot or cold the economy runs. Unemployment could swing wildly and inflation would just sit there. In the textbook story, this simply shouldn't happen.

The Taylor rule was even stranger. The model wanted the central bank to respond maximally to output and minimally to inflation. It was as if the Reserve Bank didn't care about inflation at all - it just watched GDP.

At first, I assumed I'd made a coding error. I checked the likelihood function. I verified the data transformations. I tested different starting values. I read papers to make sure I hadn't misspecified something obvious.

The code was fine. The data was fine. The model just didn't want to fit reality with sensible parameters.


The uncomfortable conclusion

After some time debugging, I had to accept an uncomfortable possibility: the model wasn't broken. The economy was different from what the model assumed.

When a well-specified model pushes parameters to extreme values, it's trying to tell you something. The economy was behaving according to rules the model didn't contain.

My model assumed that interest rates powerfully affect spending through household optimisation - the Euler equation at the heart of DSGE. It assumed inflation responds to slack. It assumed central banks follow systematic rules.

The Australian data from the 2010s was gently but firmly rejecting all of this.


What changed? - Growth doesn't need factories anymore

Here's the first big thing I learnt.

For most of economic history, growth meant accumulating capital. You wanted more output? Build more factories, buy more machines, construct more infrastructure. This required financing - and for more financing, someone had to save, and that saving flowed into investment. Interest rates balanced the two: if too many people wanted to save and too few wanted to invest, rates fell until the numbers matched.

The natural interest rate - what economists call r* - was the rate that kept saving and investment in balance. Standard theory says this rate should track economic growth. Fast-growing economies need lots of investment, so r* is high. Slow-growing economies need less, so r* is low.

But something shifted. The businesses driving growth in the 2000s and 2010s looked different. Software. Platforms. Network effects. Brand value. These "intangible" assets don't require the same financing as a steel mill. Much of the investment happens upfront or internally, not through borrowing at market interest rates. A software company can scale globally with minimal capital expenditure. A platform like Uber or Airbnb grows by adding users, not by building factories.

When growth comes from ideas that scale without proportional investment, the demand for financing falls. Interest rates drop - not because the economy is sick, but because the growth engine changed. The thing that r* is supposed to price - scarce, reproducible capital - stopped being the binding constraint on economic growth.


What changed? - Where does the saving go?

People still save. Superannuation funds still accumulate. Corporations still generate cash. But if the economy needs less tangible investment, where does all that saving go?

Into asset prices.

This doesn't mean investment disappears - it means it no longer absorbs the bulk of society's saving. When there aren't enough new factories to absorb saving, money flows into existing assets - houses, shares, bonds. Prices get bid up. This is exactly what we saw: interest rates near zero, weak business investment, but booming housing and equity markets.

This creates a strange situation. The "safe" rate that clears the market for funding new capital projects can fall toward zero. But the returns on owning existing assets - especially assets with market power, network effects, or scarcity value - stay elevated. The stock market delivers 7% real returns while government bonds yield nearly nothing.

Standard theory says arbitrage should close this gap. It didn't. Why? Because you can't arbitrage away Apple's market power by building more factories at the risk-free rate. The high returns on equities reflect rents - the payoff from owning something scarce and hard to replicate - not the return on reproducible capital.

This shift in where saving flows also shows up in an unexpected place: the plumbing of monetary policy itself.


The money story: QE and the limits of monetary plumbing

Around this time I started looking at money supply data, and found something curious.

The Reserve Bank of Australia began quantitative easing (QE) in March 2020 - buying government bonds and flooding the banking system with reserves. The monetary base exploded from around \$110 billion to over \$500 billion.

But here's the thing: broad money - the deposits and credit that actually matter for spending - kept growing on its own trajectory. When the RBA started unwinding QE in 2023-24 with quantitative tightening, draining reserves from the system, credit growth didn't collapse. M3 kept rising.

Reserves and credit are no longer tightly linked. Banks don't lend out reserves; they create deposits when they make loans, constrained by capital, collateral, and risk appetite - not by how many reserves they hold.

This matters because it shows how monetary policy actually transmits. QE didn't work by "giving banks money to lend." It worked by changing portfolios and prices: compressing term premia, boosting asset values, easing financial conditions through wealth effects and collateral channels. When the RBA reversed course, it tightened financial conditions but didn't restore some mythical reserve constraint on lending.

The textbook story - central bank sets rate, rate affects borrowing and spending through household optimisation - wasn't what the data showed. Policy was working through asset prices and balance sheets, not through the Euler equation in my DSGE model.


Why Australia makes this visible

Australia didn't invent this global low-rate, asset-heavy world. But it's a remarkably clean laboratory for seeing how it works.

Australian households carry debt around 120% of GDP, almost all of it mortgages. Bank balance sheets are dominated by property lending. Tax settings favour housing over productive investment. Immigration-driven demand collides with constrained land supply in major cities.

This means global yield compression - even before domestic QE - transmitted powerfully through house prices and borrowing capacity. When global QE pushed down long-term yields everywhere, Australian mortgage rates fell, house prices rose, and consumption got a wealth-effect boost. The "hot" channel was housing and collateral, not business investment responding to lower hurdle rates.

The global regime sets the prices; Australia's structure determines how powerfully those prices transmit.


The Phillips curve came back

Here's where the story gets more nuanced - and more interesting.

When I looked at Australian Phillips curves by decade, something jumped out. The 1990s and 2000s showed a clear negative relationship: low unemployment, higher inflation. The 2010s? Almost flat. Unemployment moved around and inflation barely budged.

But then came COVID. Supply chains broke. Energy prices spiked. Fiscal transfers pumped up household balance sheets. Labour markets tightened dramatically. And inflation roared back.

The Phillips curve wasn't dead. It was dormant. Dormant because demand shocks were small and financial conditions did most of the work. When shocks were big enough and labour markets tight enough, the old relationship reasserted itself. By 2025, with inflation coming back down and unemployment drifting up, Australia traced out a textbook-looking Phillips curve again.

This taught me something important: the 2010s were perhaps the anomaly, not the new normal. The flat Phillips curve and broken IS transmission were features of a specific regime - QE, zero lower bound, abundant reserves, asset-price dominance. That regime may return. But it's not a permanent state of the world.



But wait: Could AI change everything?

Here's where I need to be honest about what might come next.

The story I've told is about the 2010s - a decade where growth came from software, platforms, and network effects rather than factories and machines. But look at what's happening now with artificial intelligence.

Training a frontier AI model requires:

  • Chips: Billions of dollars worth of GPUs and custom silicon
  • Data centres: Massive buildings with specialised cooling and infrastructure
  • Electricity: Power generation capacity rivalling small cities

This is reproducible capital in the old-fashioned sense. You can't run ChatGPT on vibes and brand equity. You need physical stuff that depreciates, requires financing, and responds to interest rates.

If AI becomes the dominant driver of growth, we might see the traditional transmission mechanism snap back into relevance. Higher interest rates would genuinely discourage data centre construction. The marginal product of capital in AI infrastructure would once again discipline the natural rate.

The irony is rich: the technology that might finally understand DSGE models could also be the thing that makes them work again.

This doesn't mean I was wrong about the 2010s - that decade really was different. But it does mean DSGE's relevance is regime-dependent. The framework isn't permanently broken; it was designed for an economy of factories and machines. When growth comes from factories and machines again - even if they're computing factories - the old logic may return.


What I learnt

So what did building a failed DSGE model teach me?

First, model failure is informative. When your carefully specified model pushes parameters to crazy values, don't just add epicycles. Ask what the data is trying to tell you about the world.

Second, the deep structure of growth changed. The economy that DSGE models were built to describe - one where capital accumulation drives growth and interest rates allocate saving to investment - isn't quite the economy we have now. Growth increasingly comes from things that don't require traditional financing: software, platforms, market power, network effects.

Third, monetary policy works through channels the standard model doesn't capture well. Wealth effects, collateral values, risk-taking, portfolio rebalancing - these matter more than the textbook Euler equation when capital scarcity isn't binding.

Fourth, Australia is a useful case study precisely because its economic structure amplifies these dynamics. Housing-centric balance sheets and global financial integration make the transmission mechanism visible.

Fifth, the Phillips curve is alive - it just needed a big enough shock to wake up. The framework isn't useless; it's regime-dependent.

This isn't a claim that DSGE models are useless - only that they describe economies where capital scarcity is the binding constraint, which wasn't true for much of the 2010s.


What I'd build next

If I were starting over, I wouldn't build another representative-agent DSGE. I'd build something with:

  • Heterogeneous households - renters versus owners, hand-to-mouth versus wealthy - because the aggregate Euler equation hides distributional dynamics that matter for transmission
  • Credit spreads and collateral constraints - because the gap between the policy rate and the rates people actually face is central to understanding post-GFC macro
  • Asset prices that feed back into borrowing capacity - because that's how policy actually transmits now

This would probably be "semi-structural" - not derived from first principles optimisation, but disciplined by accounting identities and estimated with state-space methods. It would acknowledge what we can measure without imposing a theoretical structure the data rejects.

Would it be as elegant as a four-equation New Keynesian model? No. Would it fit the data better and tell us something true? I think so.



The model failed. I learnt more from the failure than I would have from success.

If you want to see more detailed and technical working notes on the challenges I faced, click here.

No comments:

Post a Comment