Back Portfolio Strategy

Macro Data Failing to Corroborate Rallies

SUMMARY: There is no real signal from FOMC commentary right now; whether or not financial conditions need to tighten more depends on data. The prices component of the preliminary PMIs isn’t encouraging, but the breadth of data is declining and there is evidence of less pricing power in earnings releases, which, as we discussed yesterday, suggests financial conditions WILL NOT need to tighten much more from here. Internals are shifting away from tightening/easing financial conditions and towards if companies can maintain pricing power.

Retail earnings continue to tell a similar story; demand is slowing and cost pressures are driving margins lower. BBY gave similar macro commentary this morning. Companies that miss estimates continue to be treated harshly while beats, particularly revenue beats, are rewarded more than normal. Earnings will remain under pressure over the next few quarters as the Fed continues its assault on pricing power. That makes screening for pricing power (quant reports on that topic here, here) and Earnings Quality (+90bp MTD) increasingly important.

The cost of calls relative to puts is back to its COVID-era 25th percentile. This is consistent with the S&P down ~-20%, driven by a PE drawdown, but while options skew in the overall market is better, it’s still extreme in sectors most impacted by cost pressures. The cost of downside protection in Discretionary is at its 95th percentile.

Chart

Description automatically generated

It’s tough to chase rallies that coincide with higher rates and inflation expectations. We’re looking for both to stop increasing as a signal slower growth is priced in, implying the Fed won’t have to push for tighter financial conditions. Even including yesterday’s +7bp increase, the WoW change in the 10yr was -3bps, a mundane event. A mundane decrease is a lot different than the 90th percentile+ increases consistently realized this year. If yields retrace yesterday’s increase without the market falling again, it’ll be progress towards finding a bottom. When sentiment is this low, there will be rallies. But chasing rallies is risky until macro data corroborates price action.

MARKET VIEWS: Preliminary PMIs were released overnight and activity continues to decelerate in Japan, France, Germany, and the UK (UK services PMI was particularly bad). Aggregate pricing notched lower, but at an extremely high level. Central banker commentary is fluid – Villeroy says a 50bp rate hike isn’t consensus, Bostic mentioned a pause in September, Esther George says 2% by August, and Daly doesn’t foresee a recession. While pricing power remains this strong, don’t expect central bankers to take a dovish turn. Whether or not financial conditions need to tighten further depends on data. As we discussed yesterday, slowing data suggests financial conditions WILL NOT need to tighten much more from here, and market internals should be less driven by financial conditions and more by pricing power/earnings.

Best Buy missed earnings and cut their revenue forecast to reflect worsening macro conditions, another big retailer with a set of comments similar to Walmart and Target. BBY beat its topline estimates, lifting the stock in initial pre-market trading, but it has given all those gains back. BBY missed earnings due to a more than 1pp decline in margins y/y. Retail earnings continue to tell the same story; demand is slowing and cost pressures are driving margins lower.

SNAP, which missed topline and earnings last night is down -30%, dragging much of the rest of social media lower as well, while ZM beat numbers and is up 4%. Companies that miss estimates continue to be treated harshly while beats, particularly Revenue beats, are rewarded more than normal. Earnings will remain under pressure over the next few quarters as the Fed continues its assault on pricing power. That makes screening for pricing power (quant reports on that topic here, here) and earnings quality (+90bp MTD) increasingly important.

Chart, bar chart, waterfall chart

Description automatically generated

Skew in the market has improved. The cost of calls relative to puts is back to its COVID-era 25th percentile. This is consistent with the S&P down ~-20%, driven by a PE drawdown, but while skew in the overall market is down…

… it’s still extreme in sectors most impacted by cost pressures. The cost of downside protection in Discretionary is at its 95th percentile.

Chart

Description automatically generated

It’s tough to chase rallies that coincide with higher rates and inflation expectations. We’re looking for both to stop increasing as a signal slower growth is priced in, implying the Fed won’t have to push for tighter financial conditions. Even including yesterday’s +7bp increase, the WoW change in the 10yr was -3bps, a mundane event. A mundane decrease is a lot different than the 90th percentile+ increases consistently realized this year. If yields retrace yesterday’s increase without the market falling again, it’ll be progress towards finding a bottom.

CDX have blown out – HY and IG spreads are their 95th percentiles. Spreads should be wider than 2021 to reflect slower economic growth and more restrictive financial conditions, but the current levels are in-line with a recessionary outcome. We’d like to see stabilization in CDX too before calling for a bottom.

When sentiment is this low, there will be rallies. But chasing rallies is risky until macro data corroborates price action.

Factor rotations have remained rapid and violent over the past few months and that trend has continued during the May selloff (S&P is down -3.8% mtd). Despite the market moving lower and volatility spiking, Low Vol (risk-off) stocks have failed to gain relative to Earnings Turbulence (risk-on) names. Trends between these two factors are usually long, making the recent volatility unusual (85th %tile). If growth continues to slow and inflation appears to be on a path to ~3% by early 2023, expect to see Earnings Turbulence names to rally relative to Low Vol.

Chart

Description automatically generated