Stocks rose broadly on Tuesday, following five days of losses, as data showed the economy's services sector grew for a sixth straight month in June and on signs of strength in Europe's banking system.
Bank stocks were among the top gainers, with Bank of America Corp (BAC.N) up 2.5 percent at $14.18 and the KBW bank index (.BKX) up 2.6 percent. Financial stocks (.GSPF), up 2.2 percent, were the best performing sector on the S&P 500.
The U.S. services sector grew in June for a sixth straight month but the growth rate slowed more than expected and hit its lowest since February, according to an industry report.
"It's consistent with the general tone of data, suggesting that the pace of growth is a little more moderate," said Charles Lieberman, chief investment officer of Advisors Capital Management LLC in Paramus, New Jersey.
"It's certainly not suggestive of the double-dip scenario that some people are pushing," Lieberman said.
The S&P 500 fell every day last week as signs of weakness in the labor and housing markets as well as a potential slowdown in manufacturing worried investors.
The Dow Jones industrial average (.DJI) gained 159.16 points, or 1.64 percent, to 9,845.64. The Standard & Poor's 500 Index (.SPX) rose 18.81 points, or 1.84 percent, to 1,041.39. The Nasdaq Composite Index (.IXIC) added 42.68 points, or 2.04 percent, to 2,134.47.
Despite Tuesday's advance, the S&P 500's 50-day simple moving average confirmed its break below the 200-day simple moving average, an occurrence known by chartists as a "death cross" and a harbinger of further downward pressure.
French banks are likely to pass Europe-wide stress tests, Bank of France head and European Central Bank Governing Council member Christian Noyer said on Tuesday, relieving some concerns about the health of the sector ahead of the tests later this month.
The pan-European FTSEurofirst 300 (.FTEU3) index of top shares was up 2.8 percent, led by bank shares.
In the United States, retailer Walgreen Co (WAG.N) said June sales rose 8.4 percent to $5.67 billion. Walgreen's stock rose 2.7 percent to $27.08.(Agencies)