MBS & US Treasury Markets
4/29 8:45:59AM EST : Delayed Data

WARNING: once you get past the 1st paragraph here, things start to get a bit "mathy" and esoteric.  The takeaway is that there's an actual way to reconcile today's 0.3 vs 0.3 monthly core PCE result against yesterday's 3.7 vs 3.4 annual result. 

Yesterday's GDP data included the Core PCE Price Index, which came in at 3.7% vs 3.4% forecast.  It suggested that today's Core PCE Price Index reported in the Incomes/Outlays report would also be higher than forecast since it comes from the exact same underlying data.  Surprisingly enough, the monthly change in March was right in line with the 0.3% expectation (.317% before rounding).  This came down to a few issues with the most important change being upward revisions to January and February. 

Those accounted for most of yesterday's big beat. Today's new number for March also contributed but that's not reflected in the monthly headline due to rounding. It may seem like a big discrepancy given between forecasts and reality, but that is due to Q1's numbers being annualized to get the year over year number (3.7%) as opposed to simply looking at March 2024 vs March 2023 (2.8%).

In other words, the core PCE price index for Jan-Mar is used to calculate a percent change from Oct-Dec 2023.  That change is then annualized (multiplied by 4).  So if Q4 was on the soft side and Q1 saw some acceleration, it makes for a bigger number than the actual year-over-year change.  We now know the actual year over year change due to today's monthly release (the 2.8 vs 3.7 thing in the past paragraph). 

As for the size of the beat in yesterday's numbers, here's how it probably went down:

Forecasters are trying to guess a number that would be just a bit higher than 121.165, which was February's core PCE index.  They would then add that to Feb and Jan to get a quarterly total and multiply by 4 (annualize the quarter) to get Thursday's PCE forecast of 3.4%.  Here's the data they knew before yesterday:

20240426 open2.png

If one were to take an average of the last 4 increases in line 6, it would be .2875.  Let's add that to February to arrive at 121.4525.

Now we take our hypothetical March number and add that to the rest of Q1 to arrive at 363.4665.  We can divide that by the sum of Oct/Nov/Dec 2023, which is 360.442.   The answer is ultimately a forecast of 3.35643%, which rounds up nicely to yesterday's 3.4% forecast.  Boom, now you're an economist.  Congrats.

Now here's the issue. Not only was March's actual number higher than expected, but Jan and Feb were both revised up.

20240426 open3.png

The new Q1 total is 363.755.  If we calculate the percent change versus the same Q4 of 360.442, we do indeed arrive at number that rounds up to yesterday's 3.7% shocker (3.67659706693449, if you must know).

So how was today's monthly number of 0.3% an accurate forecast?  This is partly due to February's upward revision and partly to the fact that 0.3167 rounds down to 0.3%.  In reconciling the importance of annualizing shorter-term numbers and rounding issues, consider an example of two different 0.3% monthly readings where one comes from an unrounded number of 0.251 and another from 0.349.  One of those adds up to 3% annual inflation and the other to 4.2%, but both would be reported as 0.3% month over month.  

Long story short, all the math works out and the forecasts even make sense between Thursday and Friday.  The only new information (apart from March's PCE numbers, which were completely unknown), was the revision to the previous 2 months.  It is true that traders were smart to expect a worse number on Friday based on the quarterly surge, but if they had known that Jan/Feb would both be revised up as much, they may not have been as panicked yesterday.  This doesn't mean we just got good news on inflation, only that reality is not quite as scary as yesterday made it seem. 

Trading levels reflect this as MBS and Treasuries are still a hair weaker than they were before yesterday's data, but much stronger versus yesterday's close.

20240426 open.png