Welcome to the great rotation, earnings beat, stocks hesitate
|- Earnings are doing their jobs, investors & traders react.
- The tape continues to show Rotation no Recession.
- Eco data is strong, PPI surprised to the upside.
- Politics are noisy, volatility creates opportunity.
- Oil down, Gold steady, Bonds up, Yields down.
- Try the Orecchiette w/Sausage and Peas.
Another day, another data dump, another earnings run — and the scoreboard keeps lighting up. Tuesday we went 3-for-3. Yesterday? 4-for-4. That makes it a perfect 7-for-7 to start earnings season. Now, yes — there were some ‘issues’ under the sheets, but nothing to suggest a ‘weak performance’ - Every one of them beat expectations on the bottom line while some left questions unanswered and others were cautious in their guidance – which by the way is OK, cautious can be good – you try to not make promises you can’t keep, but you leave the door open to outperform.
Remember, expectations for this earning season are high, so when they don’t meet or they leave us wanting more – then the path of least resistance is down not up – especially when the market is already priced for perfection. This causes trader types to react one way, while long term investors react a different view.
Now, ok – it is early days, but so far, earnings are doing exactly what was expected…..yet – stocks put in a mixed performance – plunging once again on the opening only to work out the kinks as the day wore on. At 4 pm - this is what the scoreboard looked like.
The Dow lost 42 pts, (it was down 340 pts at 11:30), the S&P lost 38 pts or 0.5%, the Nasdaq got whacked over the head again – losing 238 pts or 1%, the Russell bucked the trend and rose 18 pts or 0.7%, the Transports rose 3 pts, the Equal Weight S&P rose 32 pts or 0.4% while the Mag 7 gave up 536 pts or 1.6%.
Again, note the divergence between the S&P and the Equal Weight S&P.
The economic data crushed it. Mortgage applications surged 28.5% versus +0.3% last week. Retail sales came in at +0.6%, with ex-autos and gas up +0.4%, both better than expected. And existing home sales? They blew straight through the +2.2% estimate, printing a very strong +5.1%.
Now — before you start celebrating — there is a caution flag and a reason for the tech weakness we saw. The November PPI report also came in stronger than expected, and that’s not what you want to see. Just like CPI, you want PPI to come in weaker — because weaker suggests that inflation is easing, cooling, or fading. A stronger-than-expected print suggests inflation pressures are building, firming, or re-accelerating — and that is not what the doctor ordered.
And then soon after that report – we heard from Atlanta FED President Raffi Bostic – and he wasn’t being dovish at all…in fact he struck a decidedly cautious tone, making it clear that the Fed is in NO RUSH to cut rates. He said the inflation fight is not over, that price pressures remain too high relative to the Fed’s 2% target, and that a still-resilient economy could actually keep upward pressure on inflation. (Did someone say a 2027 rate HIKE? – yes, but it wasn’t Raffi it was Jamie).
His message was simple and consistent with what we’ve been hearing: policy needs to remain restrictive for now, (is 3.5% REALLY restrictive?), cuts are not imminent, and the Fed wants to see clear, sustained progress on inflation before even thinking about further easing. Translation — the holding pattern remains very much in play.
Which means that whole “policy pivot” thing that the algo crowd and fast-money traders have been hoping for? NOT HAPPENING. Can we put that to bed now?
In fact, Fed Funds futures are now pricing in just a 5% chance of a rate cut in January, a 23% chance in March, an 18% chance in April, and a 50% chance in June. For now, June represents the high-water mark—beyond that, the probabilities of a cut actually decline as the year goes on.
For your reference, here are the Federal Open Market Committee (FOMC) meeting dates for 2026, so you can mark your calendar:
January 27–28, March 17–18, April 28–29, June 16–17, July 28–29, September 15–16, October 27–28, and December 8–9.
So, the rotation out of ‘richly’ priced tech into a more appropriately valued, economically sensitive names sent the Nasdaq, the Mag 7, Semi’s, Cyber, etc. into a tailspin, marking the worst decline in a month, but it’s not all bad….. 300 of the S&P 500 names ended the day higher, SMIDS (small & mid-caps) ended higher and has now beaten the S&P for 9 straight days. The Value Trade (SPYV) was up 0.3% while the Growth trade (SPYG) lost 1.2%. In fact, the value trade is up 2.5% so far this year while the growth trade is up just 0.1% this year. Again, it’s early, I get it, but it just might be worth paying attention to!
7 of the 11 major sectors ended UP…. Energy up 2.2%, Consumer Staples up 1.4% (puts them up 5.9% ytd), Real Estate up 1.1%, Healthcare up 0.7%, Utilities up 0.7%, Industrials + 0.2% while Basic Materials ended 0.1% higher. Tech lost 1.22%, Consumer Discretionary lost 1.6%, Communications -0.2% and Financials lost 0.15%.
And so, the K-shaped economy continues. Now for those of you that are unclear about what that means – let’s make it easy…. One part of the economy is doing just fine — asset owners, large corporations, and well-capitalized investors. (That’s the top half of the K – it goes up). The other part is struggling — households squeezed by higher prices and smaller businesses fighting higher costs. (That’s the bottom half of the K – it goes down).
This divergence is one of the defining features of this cycle. K-shaped recoveries aren’t the historical standard — but in a world of massive shocks -think financial crisis, pandemic, global shutdown and massive aggressive policy intervention and uneven access to capital, they’re becoming more frequent and more persistent.
That divergence is a defining feature of this cycle. Both realities can and do exist at the same time. And so, the hope is that the bottom leg of the “K” eventually catches up — that wage growth broadens (it is), inflation continues to cool (it is), and opportunity spreads beyond asset owners so this recovery becomes more inclusive and durable.
Eco data today includes the usual Initial Jobless Claims of 215k and Cont. Claims of 1.897 mil…both in line. What we want to see are claims going lower…. We’ll get that read at 8:30 am.
Earnings are expected from GS, BLK & MS. GS and BLK are trading a bit lower in the pre-mkt as we wait for earnings while MS is trading up 0.9%.
Bonds rose after the data suggested no cut coming…. (see above). The TLT gained 0.6%, the TLH gained 0.5% and that sent yields a bit lower. The 10 yr is now yielding 4.13% while the 30 yr is yielding 4.78%.
Oil – which had spiked higher over the last week – due to the massive protests in Iran and the unrest it created for Iranians and the global oil markets is lower this morning, down $2.73, or just over 4%, trading at $59.28.
The pullback comes after President Trump warned Iran that if they followed through on hanging – Erfan Soltani – the 26-yr old young man who was protesting against the regime or continued killing their own citizens, there would be “hell to pay.”
The Ayatollah initially pushed back, (poking Trump in the eye) briefly turning up the geopolitical temperature — and that was enough to send oil spiking on fear of potential military escalation. But that defiance was short-lived. The Iranians ‘saw the light’ and cooler heads prevailed causing tensions to ease — at least for now. The rumor is that the current regime is changing their address to somewhere in Moscow.
As a result, oil is retreating back to the defined range of $55/$60 as the markets refocus on the supply/demand equation.
Gold remains closer to their highs…this morning it is down $12 at $4,610 – just $30 off of yesterday’s high of $4,640. No change in the narrative – momentum buying, safe haven buying and central bank buying.
European markets are mixed, TSMC reports a 35% increase in 4th qtr. profit – beating all the estimates as demand for AI is NOT abating. TSMC is up 5% in trading. ASML is up 9%, BE Semiconductor is up 5.6% on the back of the positive TSMC news.
U.S. futures are all higher this morning — Dow +40, S&P +25, Nasdaq +180, Russell +6. GS and BLK are trading a bit lower in the pre-mkt as we wait for earnings while MS is trading up 0.9%.
We’re still waiting on the Supreme Court — nothing yet on tariffs, so for now, it’s a game of ‘hide and seek’.
Trump says he is NOT firing JJ –so, stop the histrionics!
At the same time, global investors are watching a high stakes meeting today between the U.S., Denmark, and Greenland. Recall that Trump views the territory as strategically critical to U.S. national security. The Danes may not see it quite the same way — but geopolitics has a way of surprising people. Time will tell.
Big picture: this isn’t something that reprices stocks over the long term. But in the short term, it can matter. Why? Because it raises the political temperature in the room — and whenever politics heat up, volatility usually follows and it’s the volatility that creates the opportunity.
The S&P 500 closed yesterday at 6,926, down 38 points. This morning’s action suggests a bit bargain hunting – especially in the tech space on the back of the TSMC news as well as the pullback the sector has seen over the past couple of weeks.
For now, the index remains comfortably within a well-defined trading range, with trendline support near 6,820 and resistance around 7,000 — more psychological than technical. If earnings continue to beat expectations and economic data remains supportive, the likely path remains advance, backfill, then advance again.
In the end, the message is unchanged: stay disciplined, stay focused, stick to your plan — and don’t get drawn into the fray.
Orecchiette with sweet sausage and peas
Simple, but so good.
For this you need – 1 lb. of Orecchiette Pasta (little ears), Olive Oil, sweet sausage, a big Vidalia onion, garlic, frozen peas, s&p, white wine (or chicken broth) and plenty of fresh grated Parmegiana cheese.
Begin by bringing a pot of salted water to a rolling boil.
In a large sauté pan – add a splash of Olive oil – now add the sweet sausage meat (you took it out of the casing) – brown. When done – remove and set aside.
In the same pot – add a bit more olive oil, slice garlic (3 cloves) and the chopped onion. Sauté until softened (5 – 8 mins). Add back the sausage – hit it with a splash – like 1 cup - of wine (or the chicken stock – which ever you are using). Bring to a boil – allow the alcohol to burn off if using wine.
Now add in the frozen peas, season with s&p, turn heat to med low and cover. Cook for 10 mins.
Add the pasta to the water and cook until aldente. About 8 mins. Then add the pasta directly to the sauté pan and mix well. Be sure to add a handful or two fresh grated parmegiana cheese.
sliced garlic (3 cloves), and the.
Information on these pages contains forward-looking statements that involve risks and uncertainties. Markets and instruments profiled on this page are for informational purposes only and should not in any way come across as a recommendation to buy or sell in these assets. You should do your own thorough research before making any investment decisions. FXStreet does not in any way guarantee that this information is free from mistakes, errors, or material misstatements. It also does not guarantee that this information is of a timely nature. Investing in Open Markets involves a great deal of risk, including the loss of all or a portion of your investment, as well as emotional distress. All risks, losses and costs associated with investing, including total loss of principal, are your responsibility. The views and opinions expressed in this article are those of the authors and do not necessarily reflect the official policy or position of FXStreet nor its advertisers.