Industrial companies and chipmakers were among the biggest winners in a choppy day of trading Thursday. General Electric jumped 5.2 percent and aircraft maker Boeing rose 2.6 percent. Macy's took a nosedive after reporting a very weak holiday season, taking investors by surprise. The stock plunged 17.7 percent.
American Airlines fell 4.1 percent after issuing a disappointing forecast. The S&P 500 rose 11 points, or 0.5 percent, to 2,596. The Dow Jones Industrial Average rose 122 points, or 0.5 percent, to 24,001. The Nasdaq added 28 points, or 0.4 percent, 6,986.
The yield on the 10-year Treasury edged up to 2.73 percent.
Stocks clawed back from an early slide and were slightly higher in midday trading on Wall Street.
Gains for industrial stocks and banks were mostly outweighing losses elsewhere in the market, particularly among retailers.
Macy's plunged 18 percent after surprising investors with a very weak report on holiday sales. Other retailers including Kohl's also fell.
Airlines slumped after American gave a disappointing revenue forecast. American lost 7.4 percent.
The market is coming off a four-day winning streak, its longest since September.
The S&P 500 index rose less than 1 point to 2,585.
The Dow Jones Industrial Average rose 35 points, or 0.1 percent, to 23,913. The Nasdaq slipped 3 points to 6,953.
The yield on the 10-year Treasury note held steady at 2.72 percent.
Stocks are slumping in early trading on Wall Street led by steep drops in Macy's and other retailers after several of the companies reported weak holiday sales.
Macy's plunged 18 percent in early trading Thursday and Kohl's dropped 10 percent.
Airlines were also taking a hit after American Airlines released a weak forecast for its fourth-quarter results.
The losses, if they hold, would end a four-day winning streak for the market, its longest since September.
The S&P 500 index fell 15 points, or 0.6 percent, to 2,569.
The Dow Jones Industrial Average lost 111 points, or 0.4 percent, to 23,773. The Nasdaq gave up 50 points, or 0.7 percent, to 6,906.
Bond prices rose. The yield on the 10-year Treasury fell to 2.70 percent.