Germany - quasi money and cpi
16 May 2025 - Written by ML
This report examines whether a change in Germany quasi money (monetary aggregate M2 - M1) impacts changes in consumer price inflation (cpi).
It serves as a building block in our understanding of German financial and socioeconomic statistics. We hope the approach may have salience for examining other facets of the economy.
The data for monetary aggregates M1 and M2 is from the Bundesbank (Deutsche Bundesbank, 2025) while the cpi index is from the statistics office (Statistisches Bundesamt (Destatis), 2025).
Our aim is to test whether a relationship between quasi money and inflation exists. We examine whether and to what degree changes in quasi money precedes a pickup in bank lending that could lead to higher prices. Intuitively we seek to prove that as firms invest, hire workers or increase wages consumer spending rises which may drive higher demand and so lead to higher prices.
Quasi money largely reflects time deposits and money market balances which are vehicles for savers storing cash‐equivalents and is calculated as the difference between deposits (M2 balances) and cash or transactional balances (M1). Rising quasi money vs. M1 can indicate that agents expect lower marginal utility from keeping funds in transactional balances (e.g. in anticipation of inflation or higher interest rates or expectations of rising returns elsewhere) and so reallocate funds to interest‐bearing near money (M2).
A rising M2 is a hallmark of credit expansion. It is the mechanism through which banks gain lending capacity which, through subsequent loan issuance, drives aggregate demand and inflation. By focusing on quasi money, we hone in on the monetary “fuel” that banks convert into loans.
The report first describes the raw data and how it is transformed into usable form. It then examines the characteristics of the data to determine its utility for subsequent modelling and predictive forecasting. And then regression is applied to the data to establish what relationship exists between quasi money and inflation.
The time series are combined into a single data frame and then transformed into the natural log of the cpi index and natural log of quasi money. The natural log is used for analysis to conform with standard economic practice.
Natural logs help to identify linear relationships between the variables by stabilizing variance in the data. Transformed in this way we create a log-log model and compute year on year differences in both cpi and quasi money series which are then regressed using regression.
The following charts provide a sense of why natural logged series are used in our analysis as opposed to raw data (shown separately for both cpi and quasi money).
Observations: For both cpi and quasi money the logged transformed data appear to be flat lines for both series. That contrasts sharply with the trend in the raw series for each that show an upward drift in terms of inflation and a more volatile series for quasi money.
The justification for using logged data is underscored when looking at the year on year changes. And below we show the raw and logged changes in year on year inflation for example.
Observation: Differences in year on year change in log cpi show relatively stable variance compared to raw cpi differences.
To better appreciate how the logged year on year change in inflation and quasi money series move together we combine these onto one chart with common x and y axis.
Observations: The year on year changes in log cpi (red line) and quasi money (blue line) are plotted with a common time and value axis.
The marked difference in volatility is clear with the range of changes in log year on year cpi between -0.6% and 8.5% compared to -22% and 27% for quasi money.
Periods in which that was especially notable include the 2008–09 crisis and the 2020 pandemic. In quieter stretches (say 2012–2019), modest upticks in money growth are mirrored by mild bumps in inflation. Throughout the period there are moments where money appears to lead a turn up in inflation (2004, 2012) but also where it appears to lag cpi (2009, 2022). In addition there are periods where it is hard to clearly see any leading effect from the charts.
Given our aim to make forecasts of inflation changes based on quasi money changes the quality of stationarity is sought in each data series. Stationary series ensure reliable regression results, while non-stationary series may generate misleading correlations.
A time series is stationary if its statistical properties (mean, variance, autocovariance and autocorrelation) are constant over time. Stationary series lack persistent trends or random walks (called unit roots), making them suitable for many statistical models like regression.
Stationarity does not mean low volatility. A stationary series can still have fluctuations, but these fluctuations occur “around a stable mean with consistent statistical properties” (Grok).
A common test for stationarity is called the Augmented Dickey-Fuller (ADF) test1. The ADF test checks whether a time series has a unit root (non-stationary) or is stationary. It models whether the growth rate of quasi-money or inflation reverts to a mean or persists, using the lagged level and past changes to capture the dynamics of acceleration and deceleration over time.
We first perform the ADF test and then separately examine more closely the rolling means, variance and autocovariance and autocorrelation for each series separately to bolster the ADF test result.
##
## Augmented Dickey-Fuller Test
##
## data: de_regmod_clean$dlog_quasi_yoy
## Dickey-Fuller = -6.3826, Lag order = 7, p-value = 0.01
## alternative hypothesis: stationary
##
## Augmented Dickey-Fuller Test
##
## data: de_regmod_clean$dlog_cpi_yoy
## Dickey-Fuller = -3.7017, Lag order = 7, p-value = 0.02412
## alternative hypothesis: stationary
Observations: The ADF tests for both inflation and quasi money reject the null hypothesis of non-stationarity. That means both series appear stationary at conventional significance levels.
For the quasi money series since p = 0.01 is below 1%, you can reject the null hypothesis of a unit root at the 1% level.
In other words, the year‐on‐year change in quasi‐money shows no persistent trend or drift—its mean and autocovariances appear stable over time. For CPI inflation (cpi_yoy) with p ≈ 0.02412 the null hypothesis is rejected at the 5% level (though not quite at 1%). This still supports the idea that the cpi series is stationary and shows no trend.
The ADF test results suggest the two series (quasi money growth and cpi) are stationary. However, the volatility shown in the quasi-money series encourages us to look deeper into that series. And so have computed and plotted the rolling mean, variance, autocovariance and autocorrelations to allow a better understanding of each series.
The rolling mean is defined as the average of the year-on-year quasi money and inflation series taken over 60 months. That is generated by creating a window of 60 data points which is used to compute the rolling mean. The window then shifts to the next data point and the mean recomputed. The rolling mean is the series of these computed window computations. The data we are using is the year on year changes in log inflation and quasi money.
Observations: The expectation (for stationarity) is that the rolling means should stay roughly flat (and not show any drift) and constant. That condition is largely satisfied in the case of CPI (blue) which from 1997 through much of 2022 was broadly flat and since then rising to around 4 percent. But the condition is violated by contrast for quasi money (red) which has been jumpy. In the seven years from 1997 through 2004 year on year growth fell from over 5% to 0%. Growth then picked up in the four years to 2009 rising from 0% to 6%. The rate of growth fell in the five years to 2013 where it was contracting at a 4% year on year rate. For the next 9 years between 2013 and February 2022 year on year change in quasi money was generally contractionary. And only since 2022 has growth accelerated sharply to the present where it is running at a year on year rate above 7% (3 years).
Variance is a measure of how “spread-out” the data is around the average. It is computed by squaring each data point’s deviation from the mean then averaging those squared deviations. Squaring makes all deviations positive (so that high and low values are not cancelled out as they would be without squaring) and gives extra weight to larger ‘outlier’ deviations. A rolling (or moving-window) variance applies that same variance formula over a fixed-length window (say, 60 months). At each time point you drop the oldest point, add the newest point, and recompute the variance of those 60 values. Plotting that versus time shows how the local spread (volatility) changes over time.
Observation: the expectation for stationarity is that rolling variances should not trend up or down and so indicate roughly constant volatility. Once again for CPI (blue line) the condition of flatness is satisfied for much of 1997 through 2022 and rising in the past three years. But again the condition is violated for quasi money that after falling between 1997 and 2007 then rose from 0 to around 0.015 by 2012. Variance then fell back toward zero and remained there to 2022. It has since climbed once more and stands at 0.013 in 2025. Once again the volatility result for quasi money at least is at odds with the ADF result. And perhaps suggests that the ADF test result (which suggests stationarity) is more heavily influenced by the periods of low volatility outside of major shocks from 1997–2007 and 2012–2021 which makes overall average variance seem nearly constant.
Autocovariance and autocorrelation are next examined to find if points in a series relate to other points in the series at another point in time. It looks to answer the question: “If there is a shock (or unusually high/low value) today, how strongly—and with what sign—will that affect the series in future periods from now. Autocovariance measures how a series co varies with its own lagged values. And autocorrelation is the normalized covariance with values between -1 and 1.
In this context a stationary series that exhibits a constant mean (with no trend) and constant variance should also exhibit autocorrelation that decays quickly (so that there is no persistent dependence on past values). In contrast a non stationary series (such as a random walk or a series with trends) would exhibit a slow decaying autocorrelation with correlations that remain significant for many lags.
Observations: The expectation for stationarity is that rolling autocovariances at several lags should fluctuate around a stable level (rather than drifting toward 0 or growing without bound). That would imply that the dependence structure depends only on the lag and not on calendar time. In the chart the case for stationarity is only shown with a 12-month lag with covariance between points close to zero. For both 1 month and 3 months lags the rate of growth is close and suggests positive covariance.
Autocorrelation measures how similar a time series is to itself at specific lags (here, 1 month, three months and 12 months).
Observations: The expectation for stationarity is that rolling autocorrelations at several lags should fluctuate around a stable level.
A value close to 1 for the one-month lag (around 0.95) shows that quasi money year on year growth one month are highly positively correlated. The same is true for the 3-month lag (around 0.76). The results show that if growth in quasi money is above its mean in one month it is highly likely to be above the mean in the next month, and vice versa. When the lags increase to 12 months however autocorrelation oscillates around zero suggesting little impact between points at that interval and that the condition of stationarity is satisfied.
We plot the autocovariance and auto correlation for inflation below.
Observations Flat for much of the period there was a sharp increase registered since 2022. But the overall covariances are small.
Observations: As for quasi money the year on year change in inflation exhibits greatest stationarity with 12 month lags.
So let us recap. For both cpi and quasi-money the ADF test shows stationarity. For cpi that is further confirmed by the plots of stable rolling means and variance. In terms of autocovariance we find for inflation that the condition of stationarity is best satisfied with lags of 12 months. The picture for quasi-money is less clear. While the ADF test showed that the series was strongly stationary a look at the mean, volatility and autocovariance reveal a more complex picture. Means and variance were variable while autocovariance appeared best satisfied at the 12 month lag interval. That being said there are long periods outside of economic shocks where the condition of stationarity appears more closely satisfied.
The cross‐correlation function (CCF) is a way of measuring, for every possible lead and lag between two stationary time-series, how tightly one “moves with” the other. The goal here is to try and narrow down the timing in the relationship between the two series and in particular how many lags are suggested between when a change in quasi money may impact inflation data.
Observation: For each integer lag Pearson correlations are computed. By convention positive values indicate that quasi money is leading the change in inflation. Negative numbers signal that changes in inflation lead the change in quasi money. The vertical axis on the CCF plot is the “cross-correlation function or coefficient” at each lag that correlate the two series with a range of 1 to -1. 0 represents no linear relationship at that lag.
The chart shows that there are a handful of bars at the far left (around –18 to –24 months) that sit below the lower dashed blue line which indicates that CPI leads quasi-money by around 18-24 months. At lag 0 however the correlation between the two standardized series (quasi-money and CPI in the same month) is already positive. Then, as you shift quasi-money forward (positive lags), that correlation grows—peaking around lags 6–10.
The chart suggests that quasi-money changes lead changes in CPI rather than the other way around. The maximal contemporaneous correlation occurs when CPI is lagging quasi-money by about 6–10 months. And given that the correlations are well outside the white noise bounds it is unlikely to be random chance.
Now that the characteristic of both series has been understood we then use regression to model how changes in inflation (treated as the observed or dependent variable) move in relation to changes in money supply (predictor variable series).
In the first instance we model the level data of log quasi money and log cpi. We then model the year on year log change in quasi month with the year on year log change in cpi. After that we examine whether the model is strengthened when considering the suggested 6-10 lag interval of quasi money from the cross correlation function.
In this model the dependent variable is the logged cpi index and the predictor variable is logged quasi money. And so the regression examines the linear relationship between logged quasi money and inflation.
##
## Call:
## lm(formula = log_cpi ~ log_quasi, data = de_regmod_lm)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.21716 -0.05165 -0.01319 0.03877 0.24627
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -6.3285 0.3107 -20.37 <0.0000000000000002 ***
## log_quasi 0.7942 0.0229 34.68 <0.0000000000000002 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.08261 on 409 degrees of freedom
## Multiple R-squared: 0.7463, Adjusted R-squared: 0.7457
## F-statistic: 1203 on 1 and 409 DF, p-value: < 0.00000000000000022
Result: The regression suggests a strong and statistically significant positive relationship between log_quasi and log_cpi, with the model explaining a substantial portion of the variability in log_cpi.
Coefficients: Intercept (-6.32) which is the expected value of log_cpi when log_quasi is zero. log_quasi (0.7942): This coefficient indicates that for a 1% increase in log_quasi, log_cpi is expected to increase by approximately 0.7942%, holding other factors constant. This suggests a positive relationship between quasi money and CPI.
Statistical Significance: The p-values for both the intercept and log_quasi are extremely small (denoted by ***), indicating that both coefficients are statistically significant at the 0.001 level. This implies that there is strong evidence that log_quasi has a significant effect on log_cpi.
Model Fit: Multiple R-squared (0.746): This value indicates that approximately 75% of the variability in log_cpi is explained by the model. This suggests a good fit of the model to the data. Adjusted R-squared (0.745): This value adjusts the R-squared value for the number of predictors in the model. It is very close to the Multiple R-squared, indicating that the model’s fit is robust even after adjusting for the number of predictors.
F-statistic: 1203 on 1 and 409 DF with a very small p-value indicates that the overall regression model is statistically significant. This means that the model provides a better fit than a model with no predictors.
Residuals: The residuals represent the differences between the observed and predicted values of log_cpi.
The next regression analysis examines the relationship between year-on-year changes in logged quasi money and year-on-year changes in logged CPI.
##
## Call:
## lm(formula = dlog_cpi_yoy ~ dlog_quasi_yoy, data = de_regmod_lm2)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.022391 -0.007472 -0.002455 0.003766 0.049465
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.0169093 0.0006979 24.23 <0.0000000000000002 ***
## dlog_quasi_yoy 0.1144796 0.0087972 13.01 <0.0000000000000002 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.01315 on 397 degrees of freedom
## Multiple R-squared: 0.299, Adjusted R-squared: 0.2972
## F-statistic: 169.3 on 1 and 397 DF, p-value: < 0.00000000000000022
Results: The model suggests a statistically significant positive relationship but the strength of the relationship is less than that for level data.
Coefficients: Intercept (0.0169093): This is the expected value of dlog_cpi_yoy when dlog_quasi_yoy is zero. In practical terms, this intercept suggests that, on average, the year-on-year change in logged CPI is about 1.69% when the year-on-year change in logged quasi money is zero.
dlog_quasi_yoy (0.1144796): This coefficient indicates that for a 1% increase in dlog_quasi_yoy, dlog_cpi_yoy is expected to increase by approximately 0.1145%, holding other factors constant. This suggests a positive relationship between year-on-year changes in logged quasi money and year-on-year changes in logged CPI.
Statistical Significance: The p-values for both the intercept and dlog_quasi_yoy are extremely small (denoted by ***), indicating that both coefficients are statistically significant at the 0.001 level. This means there is strong evidence that dlog_quasi_yoy has a significant effect on dlog_cpi_yoy.
Model Fit: Multiple R-squared (0.299): This value indicates that approximately 29.9% of the variability in dlog_cpi_yoy is explained by the model for a moderate fit.
F-statistic: The F-statistic (169.3 on 1 and 397 DF) with a very small p-value indicates that the overall regression model is statistically significant. This means that the model provides a better fit than a model with no predictors.
Residuals: The residuals seem to be randomly distributed but just below zero.
We show below the equation of the line that the regression of year on year changes in quasi money to inflation has derived. And below that a visualization of the point at which the sum of squared errors was was minimized.
Observations: Ideally, residuals should be randomly distributed around zero (horizontal red line). This indicates that the model’s predictions are unbiased and that the model is capturing the underlying patterns in the data well. If there are noticeable patterns or trends in the residuals (e.g., clusters of positive or negative residuals, or a systematic increase or decrease), it may suggest that the model is missing some important predictors or that there is a non-linear relationship that the model is not capturing. By visual inspection the residuals for year over year model fluctuate generally below zero.
Observations: The box represents the interquartile range (IQR), which contains the middle 50% of the data. The horizontal line inside the box represents the median of the residuals. The “whiskers” extend to 1.5 times the IQR from the quartiles, and any points beyond this range are considered potential outliers. The box plot shows the median of the residuals as close to zero which indicates that the model’s predictions are unbiased on average and so favorable. However the presence of outliers is clearly shown.
A Q-Q (Quantile-Quantile) plot is used to assess whether the residuals follow a normal distribution.
Observations: The points on the Q-Q plot represent the quantiles of the residuals compared to the quantiles of a normal distribution. If the residuals are normally distributed, the points should lie approximately along the red reference line. In this plot many points follow the red line, but there are deviations at the tails. That suggests that while the residuals are approximately normally distributed, there are some deviations, particularly in the tails, indicating potential outliers or slight departures from normality.
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## -0.022391 -0.007472 -0.002455 0.000000 0.003766 0.049465
## [1] "Skewness: 1.4744"
## [1] "Kurtosis: 5.66345"
Observations: the histogram plot of residuals shows the general distribution with a peak around the center indicating that most residuals are close to zero. The red curve represents a density estimate which helps visualize the distribution’s shape. The distribution appears to be slightly right-skewed, with a longer tail on the right side, which aligns with the positive skewness value. The presence of heavier tails, as indicated by the high kurtosis, suggests that there are more extreme values in the residuals.
Descriptive Statistics show that the range of residual data (difference between observed and predicted values) is between -0.022391 and 0.049465. The first quartile is -0.007472 that means 25% of the residuals are less than approximately -0.0075. The median residual is -0.0025, indicating that half of the residuals are below this value and half are above. This suggests that the model’s predictions are slightly biased towards overestimating the actual values. The mean is 0 that suggests the model’s predictions are unbiased on average. The 3rd Quartile is 0.003766 which suggests 75% of the residuals are less than approximately 0.0038.
Skewness (1.474): Skewness measures the asymmetry of the distribution and a value of 1.474 indicates that the distribution of residuals is positively skewed. That means that the right tail of the distribution is longer or fatter. In the context of residuals, this suggests that there are more extreme positive residuals than negative ones.
Kurtosis (5.663): Kurtosis measures the “tailedness” of the distribution. A kurtosis value of 5.663 indicates that the distribution has heavier tails compared to a normal distribution (which has a kurtosis of 3). High kurtosis suggests that there are more outliers or extreme values in the residuals than would be expected in a normal distribution.
In this regression analysis the relationship between the lagged year-on-year changes in logged quasi money and year-on-year changes in logged CPI is examined.
##
## Call:
## lm(formula = dlog_cpi_yoy ~ lag6_dlog_quasi_yoy, data = de_regmod_lm3_complete)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.026885 -0.008111 -0.002463 0.002423 0.064906
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.0185003 0.0008057 22.963 < 0.0000000000000002 ***
## lag6_dlog_quasi_yoy 0.0540763 0.0101663 5.319 0.000000175 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.01517 on 397 degrees of freedom
## Multiple R-squared: 0.06653, Adjusted R-squared: 0.06418
## F-statistic: 28.29 on 1 and 397 DF, p-value: 0.0000001745
Results: The model suggests a statistically significant positive relationship but the strength of the relationship is poor.
Coefficients: Intercept (0.0185003): This is the expected value of dlog_cpi_yoy when lag6_dlog_quasi_yoy is zero. In practical terms, this intercept suggests that, on average, the year-on-year change in logged CPI is about 1.85% when the year-on-year change in logged quasi money is zero.
dlog_quasi_yoy (0.054): This coefficient indicates that for a 1% increase in dlog_quasi_yoy, dlog_cpi_yoy is expected to increase by approximately 0.054%, holding other factors constant. This suggests a positive relationship between year-on-year changes in logged quasi money and year-on-year changes in logged CPI.
Statistical Significance: The p-values for both the intercept and dlog_quasi_yoy are extremely small (denoted by ***), indicating that both coefficients are statistically significant at the 0.001 level.
Model Fit: Multiple R-squared (0.066): This value indicates that approximately 6.6% of the variability in dlog_cpi_yoy is explained by quasi money growth six months earlier.
F-statistic: The F-statistic (28 on 1 and 397 DF) with a very small p-value indicates that the overall regression model is statistically significant.
Residuals: The residuals seem to be randomly distributed but just below zero.
Interpretation: A 1% rise in quasi money growth that is lagged six months translates into only a 0.05 percent increase in inflation growth today. And while money growth has a positive effect on inflation, when a delay is introduced to quasi money growth, the model’s explanatory power is modest.
Moreover testing for different lags of 6,7,8,9,10 months respectively in year on year change in quasi money the explanatory power of the model became worse. And as the lags reduced nearer to 1 month the explanatory power increased. Both ChatGpt and Deep Seek consider that this pattern is suggestive of an autoregressive (AR) structure2 in the inflation series.
To investigate that a correlogram and partial correlogram on the log year on year change in inflation was performed.
Observation: In a series with autoregression shocks at a point in time reverberate into the future and decay slowly. And that is shown in the case of the change in inflation where a slowly falling ACF suggests strong inertia.
Observation: Partial autocorrelations measure the incremental contribution of different lags after accounting for all nearer lags. And what is common in a series with an autoregressive characteristic is a significant spike in lag 1 and nothing beyond. And that pattern holds in the inflation series for Germany.
The combination of the visual patterns in the correlograms, the regression results at different lags, and economic theory suggest inflation growth is an AR process and that quasi money growth changes have a positive but minor explanatory impact.
Overall our results show that the change of inflation is only slightly sensitive to changes in quasi money. Far more significant to the change in inflation growth is the rate of growth in its immediate preceding period. It seems likely that there are other factors that may offer greater explanatory power in predicting inflation though the most significant factor appears to be inflation itself.
In subsequent research we hope to have more success in prediction and forecasting of other variables including residential property prices. For that we will include changes in quasi money as well as other factors that may have influence and examine the combination of these factors using the methodology and analysis carried out here.
The Augmented Dickey-Fuller (ADF) test examines whether the lagged level of the growth rate in quasi money or inflation influences the current change in the growth rate. Key Components of the Test include: Lagged Level Term – The test checks if the lagged year-on-year growth rate (of quasi money or inflation) has a significant effect on its current change. A significant negative coefficient beyond Mackinnon’s (MacKinnon, 2010) critical values (e.g.: -2.86 at 5% probability or less than -3.43 at a probability of 1%) suggests stationarity (mean reversion), meaning higher growth today leads to future deceleration. A coefficient below Mackinnon’s critical values (for example zero or a number above the Mackinnon critical value e.g. less negative than -2.86 at 5%) implies non-stationarity, meaning the series may follow a random walk or trend. Lagged Differences (1 to 7 months) – These account for past changes (accelerations/decelerations) in the growth rate, ensuring that the test properly isolates the effect of the lagged level. Interpretation: If the coefficient on the lagged level is negative and statistically significant, the series is stationary (reverts to a mean). If the coefficient is insignificant or close to zero, the series is non-stationary, suggesting persistent growth or drift. By including lagged differences, the ADF test controls for serial correlation in the changes of the growth rate, improving the accuracy of the stationarity assessment. (Grok definition edited by Deep Seek)↩︎
An autoregressive structure is one in which the current value of a series depends linearly on its own past values plus a random “shock”.↩︎