U.S. stocks shook off a midday stumble to finish slightly higher Friday, though the modest rebound was not enough to keep the S&P 500 from breaking its longest stretch of weekly gains in two years.

Banks, health care stocks and companies that rely on consumer spending powered much of the rebound, outweighing losses in technology, real estate and other sectors. Oil prices fell.

Markets around the world churned this week on uncertainty about whether the U.S. and China can soon halt their trade dispute, or at least stop it from escalating. New U.S. tariffs are set to hit Dec. 15 on many Chinese-made items on holiday shopping checklists, such as smartphones and laptops.

Tariffs already put in place have hurt manufacturing around the world, and businesses have held back on spending given all the uncertainty about where the rules of global trade will end up.

President Donald Trump said a deal between the world’s largest economies is “potentially very close” after Chinese President Xi Jinping said Beijing is working to “try not to have a trade war,” but will nevertheless fight back if necessary.

Even with the run of selling this week, major indexes remained close to the all-time highs they set during steady, six-week upward move. The benchmark S&P 500 ended the week within 0.4% of its record high set on Monday.

“Investors are basically saying the market is overbought and they’ll wait to step back in after we see some sort of resetting of prices,” said Sam Stovall, chief investment strategist at CFRA.

The S&P 500 rose 6.75 points, or 0.2%, to 3,110.29. It had earlier been up 0.3% and then down 0.1%.

The Dow Jones Industrial Average gained 109.33 points, or 0.4%, to 27,875.62. The Nasdaq composite added 13.67 points, or 0.2%, to 8,519.88.

Traders favored smaller company stocks, giving the Russell 2000 index a gain of 4.98 points, or 0.3%, to 1,588.94.

Welcome to the discussion.

Keep it Clean. Please avoid obscene, vulgar, lewd, racist or sexually-oriented language.
PLEASE TURN OFF YOUR CAPS LOCK.
Don't Threaten. Threats of harming another person will not be tolerated.
Be Truthful. Don't knowingly lie about anyone or anything.
Be Nice. No racism, sexism or any sort of -ism that is degrading to another person.
Be Proactive. Use the 'Report' link on each comment to let us know of abusive posts.
Share with Us. We'd love to hear eyewitness accounts, the history behind an article.