The S&P 500 and the Dow have fallen after US President Donald Trump cast doubt on a trade deal with China and data showed US private employers laid off 20 million workers in April, underscoring the economic fallout of the coronavirus outbreak.

The tech-heavy Nasdaq ended higher, although indexes pulled back late in the session after Trump said China may or may not keep the trade deal.

Financials and other cyclical groups, which often outperform when the economic outlook improves, declined. Only two of the 11 major S&P sectors were positive, with tech leading.

Stocks have rebounded sharply since late March from the coronavirus-fuelled sell-off, helped by massive monetary and fiscal stimulus. Investors are now watching efforts by a number of states to spark their economies by easing restrictions put in place to fight the outbreak.

“We had the dramatic drop, we have had this pretty dramatic rebound and to me it wouldn’t be unusual if for the next three, six months we had a pretty choppy, sloppy, back-and-forth market,” said Chuck Carlson, chief executive officer at Horizon Investment Services in Hammond, Indiana. “Today might be a microcosm of that.”

The Dow Jones Industrial Average fell 218.45 points, or 0.91 per cent, to 23,664.64, the S&P 500 lost 20.02 points, or 0.70 per cent, to 2,848.42 and the Nasdaq Composite added 45.27 points, or 0.51 per cent, to 8,854.39.

US private employers laid off a record 20.236 million workers in April as mandatory business closures in response to the novel coronavirus outbreak savaged the economy.

The Labor Department’s more comprehensive report for April is due on Friday.

“It’s one thing to talk about big job losses…but to see it all in one spot, I think that has been some reason for pause,” said Willie Delwiche, investment strategist at Baird in Milwaukee.

Declining issues outnumbered advancing ones on the NYSE by a 2.31-to-1 ratio; on Nasdaq, a 1.42-to-1 ratio favoured decliners.

The S&P 500 posted six new 52-week highs and two new lows; the Nasdaq Composite recorded 56 new highs and 23 new lows.

About 9.7 billion shares changed hands in US exchanges, compared with the 11.8 billion daily average over the last 20 sessions.