How the AI revolution and backward-looking central banks could trigger aggregate demand and interest rate overshooting: some model simulations

I have been thinking about the impact on the economy of an increase in productivity y*, for example, due to the AI revolution, and I assume that it takes time for the central bank to realize that the increase in y* has also increased the natural real interest rate r*.

I have tried to model this in a simple (New?) Keynesian style model.

I should stress this is preliminary work and is basically just an exercise in seeing how much modelling I can do using ChatGPT 4o (and Python), while at the same time gaining real insights into the macroeconomic process and obtaining new nuances in the relationship between productivity shocks, imperfect central banking, and inflation.

In the modelling I have done so far, I assume that the central bank forms expectations of r* through an adaptive process over four years.

The graphs below illustrate the dynamic response of the macroeconomic variables to a shock in potential output growth.

Initial Shock and Aggregate Demand

In the first year, the potential output growth rate increases from 2% to 2.5%. This represents an improvement in the economy’s productive capacity.

This surge occurs because the economy reacts positively to the higher productive capacity, leading to increased economic activity and higher aggregate demand.

However, notice in the graph that aggregate demand initially ‘overshoots’ the increase in potential output. This is a result of the actions of the central bank, as we will see below.

Central Bank’s Initial Response

Despite the immediate increase in potential output grow, the central bank does not immediately adjust its perception of the natural rate of interest. The central bank is, so to speak, backward-looking. And for good reason – the natural interest rate cannot be observed in real-time.

As a result, the central bank initially lags behind the curve, failing to recognize the new higher natural rate. Hence, we see in the graph that the natural rate (the orange line) increases in year 1, but the perceived natural rate (the green line) only moves up with a lag.

As the perceived rate increases, the central bank also starts to push up its policy rate (the blue line).

It is notable that while the central bank initially lags behind the increase in the natural rate, once it starts hiking interest rates, it will in fact increase rates more than the rise in the natural rate. This is due to the fact that the central bank is not only reacting to the perceived increase in the natural rate but also to aggregate demand growth outpacing potential GDP growth.

Furthermore, it is also notable that the central bank will have to keep its policy rate somewhat above the natural rate (both the perceived and the actual) for some time to push down aggregate demand and tame inflationary pressures.

Consequently, because the central bank only slowly recognizes the increase in the natural rate, it will later have to overshoot its policy rate as well. More on that below, but first, let’s have a look at the inflation dynamics.

Inflation overshooting despite disinflationary effects of higher productivity growth

Due to the output gap created by the increase in aggregate demand and the lag in the central bank’s response, inflation begins to rise. The Phillips curve relationship in the model explains this rise, as the economy’s aggregate demand temporarily exceeds the new potential output, putting upward pressure on prices.

This could be paradoxical as we would normally expect a positive supply shock to put downward pressure on prices (and inflation – at least for a period). This effect is also in play, as a higher growth rate of y* tends to push down the output gap, but this effect is smaller (in this parameterization) than the demand effect coming from an overly easy monetary policy.

Catching Up: Central Bank’s Aggressive Response

Realizing the inflationary pressures, the central bank responds aggressively. The monetary policy rule dictates that the nominal interest rate be adjusted based on the deviation of actual inflation from the target inflation. Given the parameters in the model, the central bank increases the interest rate significantly. This adjustment is necessary to combat the inflation spike and bring inflation back to the target as discussed above.

Interest Rate and Natural Rate Convergence

As the central bank reacts, it also begins to update its perception of the natural rate of interest. In the interest rate graph above, we see the green line starting to approach the orange line. The learning rate parameter in the model ensures that the central bank updates its perception relatively quickly, though initially, it had been behind the curve. Over time, the central bank’s perceived natural rate converges to the actual new natural rate, which aligns with the higher potential output.

Aggregate Demand Slowdown and Inflation Stabilization

To force aggregate demand and inflation down, the central bank pushes the interest rate above the new natural rate of interest. This aggressive stance is crucial to moderating economic activity and addressing the inflation overshoot.

As the higher interest rates take effect, aggregate demand gradually declines as we see in the first graph above. In fact, we see that for a period, actual GDP growth y drops below the growth of potential GDP y*. This is necessary to bring inflation back to the assumed 2% inflation target in the model.

While the initial ‘boom’ that pushes actual GDP growth above potential growth only lasts 1-2 years and is followed by a fairly long period of growth below potential growth (but still above the 2% potential prior to the productivity boost), inflation remains elevated for a much longer period. In this parameterization of the model, it takes around seven years to get back to 2%, even though inflation is only slightly above the 2% target for most of this period.

I should, of course, stress that the actual parameterization of the model affects the size and length of the movements in GDP growth, inflation, and interest rates. I would not place too much emphasis on the scale of the shocks, but I fundamentally believe the model provides some important insights.

I would particularly highlight the following points:

Aggregate Demand and Potential Output

The model shows an initial spike in aggregate demand above the new potential output level, followed by a gradual convergence as the central bank’s policies take effect.

Interest Rates

The nominal interest rate initially lags behind the new natural rate but then adjusts significantly, overshooting the natural rate to combat inflation before eventually converging to the new natural rate.

Inflation

Inflation initially overshoots the target due to the central bank’s initial lag in response but gradually returns to the target as the central bank’s aggressive policies bring aggregate demand and inflation under control.

And again, even though I would caution against taking the numbers in this simulation too literally, I think there is an important insight that comes from the simulations. That is, we probably should not expect the AI revolution to be hugely deflationary if the central bank is slow to recognize that the natural interest rate has increased. This is due to the fact that demand-side inflation will likely more than offset the disinflationary effects of high productivity growth.

Is this what we are seeing now?

I do, in fact, think that we are seeing some of that right now in the US economy. At least, that could help explain why the US economy continues to grow robustly and why global stock markets and commodity markets continue to inch up while market interest rates have also increased.

The reason that market expectations of long-term inflation haven’t risen may reflect the fact that markets are indeed more forward-looking than central bankers. Markets realise that sooner or later r will have to move towards r*. That does not necessarily imply rate hikes but at least suggests that r might not be cut anytime soon.

The policy conclusion from all this is that central bankers should be forward-looking (we knew this), but it might be difficult given the uncertainty regarding the size of the shock to productivity and therefore to the natural interest rate. This underscores that the focus should be on nominal demand growth rather than short-term developments in inflation (which might either increase or decrease).

This means that central banks ideally should introduce nominal GDP targets rather than inflation targets. This is particularly important in periods of high uncertainty regarding the supply side of the economy.

PS: I certainly encourage any economist (or aspiring economist) to use ChatGPT 4o or other large language models to help with writing code for macroeconomic modelling. It is a great tool, but never forget to think. After all, you are the economist – not the LLM. If you want to play around with the model – see the appendix for more on the theoretical model as well as the entire Python code.

Contact:

Lars Christensen

+45 52 50 25 06

LC@paice.io


Appendix

Python code:

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

Initial conditions

y_0 = 0.02
y_star_0 = 0.02
r_0 = 0.02
r_star_0 = 0.02
pi_0 = 0.02
tilde_r_star_0 = 0.02
pi_star = 0.02

Parameters

alpha = 4.5 # Increased responsiveness to inflation overshooting
beta = 0.5
lambda_ = 0.7 # Increased learning rate for faster convergence
gamma = 1.0
kappa = 0.3 # Increased sensitivity of inflation to the output gap

Simulation parameters

years = 40
y_star_path = [0.02]1 + [0.025](years – 1) # y* changes to 2.5% at year 1

Initialize arrays to store results

y = np.zeros(years)
y_star = np.zeros(years)
r = np.zeros(years)
r_star = np.zeros(years)
pi = np.zeros(years)
tilde_r_star = np.zeros(years)

Set initial values

y[0] = y_0
y_star[0] = y_star_0
r[0] = r_0
r_star[0] = r_star_0
pi[0] = pi_0
tilde_r_star[0] = tilde_r_star_0

Run simulation

for t in range(1, years):
y_star[t] = y_star_path[t]
r_star[t] = gamma * y_star[t]
tilde_r_star[t] = tilde_r_star[t-1] + lambda_ * (r_star[t-1] – tilde_r_star[t-1])
r[t] = tilde_r_star[t] + alpha * (pi[t-1] – pi_star)
y[t] = y_star[t] – beta * (r[t] – r_star[t])
pi[t] = pi[t-1] + kappa * (y[t] – y_star[t])

Convert to DataFrame and multiply values by 100 to display percentages

df = pd.DataFrame({
‘Year’: np.arange(years),
‘y’: y * 100,
‘y_star’: y_star * 100,
‘r’: r * 100,
‘r_star’: r_star * 100,
’tilde_r_star’: tilde_r_star * 100,
‘pi’: pi * 100
})

Plot the results up to year 10

plot_years = 10
df_short = df[df[‘Year’] < plot_years]

plt.figure(figsize=(12, 8))

plt.subplot(2, 2, 1)
plt.plot(df_short[‘Year’], df_short[‘y’], label=’y (Aggregate Demand)’)
plt.plot(df_short[‘Year’], df_short[‘y_star’], label=’y* (Potential Output)’, linestyle=’–‘)
plt.title(‘Aggregate Demand and Potential Output’)
plt.xlabel(‘Year’)
plt.ylabel(‘Growth Rate (%)’)
plt.legend()

plt.subplot(2, 2, 2)
plt.plot(df_short[‘Year’], df_short[‘r’], label=’r (Interest Rate)’)
plt.plot(df_short[‘Year’], df_short[‘r_star’], label=’r* (Natural Rate)’, linestyle=’–‘)
plt.plot(df_short[‘Year’], df_short[’tilde_r_star’], label=’~r* (Perceived Natural Rate)’, linestyle=’-.’)
plt.title(‘Interest Rates’)
plt.xlabel(‘Year’)
plt.ylabel(‘Rate (%)’)
plt.legend()

plt.subplot(2, 2, 3)
plt.plot(df_short[‘Year’], df_short[‘pi’], label=’π (Inflation)’)
plt.axhline(pi_star * 100, color=’r’, linestyle=’–‘, label=’π* (Inflation Target)’)
plt.title(‘Inflation’)
plt.xlabel(‘Year’)
plt.ylabel(‘Rate (%)’)
plt.legend()

plt.tight_layout()
plt.show()

Create a humorous illustration based on a blog post about the AI revolution and central banks. The scene should include a central banker, looking even more confused and stressed, holding a magnifying glass, trying to find the 'natural interest rate' amidst a chaotic landscape of economic variables represented as quirky characters (like inflation, aggregate demand, and potential output growth). These characters should be engaging in even more exaggerated activities - inflation blowing up a balloon that is about to burst, aggregate demand on a crazier rollercoaster, and potential output growth lifting heavier weights. The AI revolution should be represented as a more advanced futuristic robot presenting a graph with even higher skyrocketing productivity growth, while the central bank's 'lagging response' is shown as a turtle moving even slower, possibly with an exaggerated snail's trail behind it. The overall vibe should be even more playful and exaggerated, capturing the complexity and humor of the economic dynamics described in the blog post.
Leave a comment

1 Comment

  1. Interesting! What happens in your model, if the central bank uses something more sensible that interest rates to implement its policies?

    Eg foreign exchange rates like they do in Singapore? Or they can directly use something like M2 as their policy lever to hit their inflation target?

    (Of course, they could also use the TIPS spread. Then I guess what happens depends on market prices and expectations?)

    Reply

Leave a Reply

Discover more from The Market Monetarist

Subscribe now to keep reading and get access to the full archive.

Continue reading