US stocks climbed sharply higher in late-afternoon trading on Monday, giving the Dow Jones industrial average a gain of more than 650 points and erasing some of the market's huge losses last week.
Banks also notched solid gains, benefiting from a pick-up in bond yields.
The rally was broad, lifting retailers, consumer goods companies and health care stocks, following the worst week for US stocks in two years.
The turnaround came as investors were encouraged by signs that the US and China are open to negotiating to avert a trade dispute.
"Certainly nothing's settled," said Rob Haworth, senior investment strategist at US Bank Wealth Management.
"Investors are still viewing this as a glass half-full market and a constructive economy, so it's not surprising to see them buy on value here, buy on dips to try to rebuild their positions."
The Standard & Poor's 500 index rose 63 points, or 2.5%, to 2,652. The Dow Jones industrial average gained 656 points, or 2.8%, to 24,192, after losing more than 1,400 points last week.
The Nasdaq added 200 points, or 2.9%, to 7,193, and the Russell 2000 index of smaller company stocks picked up 29 points, or 1.9%, to 1,539.
Global stock markets fell sharply last week amid fears of a trade war after President Donald Trump announced duties on 60 billion dollars of Chinese goods in a dispute over technology policy.
On Friday, Beijing released a 3 billion dollar list of US goods targeted for possible retaliation over an earlier US tariff hike on steel and aluminium imports. That prompted fears the spat might depress trade worldwide and set back the global economic recovery.
Those fears eased on Monday after Beijing said it was open to negotiating with Washington. That announcement followed a news report indicating US officials had submitted a list of market-opening requests.
China has yet to say how it might respond to Mr Trump's approval of possible higher duties in response to complaints of Beijing stealing or improperly pressuring foreign companies to hand over technology.
That did not appear to dampen investors' resurgent optimism on Monday.
"This declaration of tariffs on the president's part was his typical opening salvo into a negotiation process," said Randy Frederick, vice president of trading and derivatives at Charles Schwab.
"He's done these things in the past, and now it looks like the markets are telling us, 'Yep, that's what's happening'."
Technology companies recouped some of the sector's big losses last week. Microsoft rose 6.18 dollars, or 7.1%, to 93.36 dollars.
Financial stocks surged as bond yields rose. Higher yields are good for banks, because they drive up interest rates on mortgages and other loans, making them more profitable for lenders. Bank of America added 1.18 dollars, or 4%, to 30.35 dollars.
The yield on the 10-year Treasury rose to 2.84% from 2.81% late on Friday.
Lowe's climbed 6.3% after the home-improvement retailer said chairman and CEO Robert Niblock is retiring. The stock gained 5.25 dollars to 89.02 dollars.
Facebook continued to slide as the social media giant faced new questions about collecting phone numbers and text messages from Android devices.
The Federal Trade Commission confirmed on Friday that it was investigating Facebook's privacy practices, including whether the company engaged in "unfair acts" that cause "substantial injury" to consumers. The stock, which already took a big hit last week, slid 3.89 dollars, or 2.4%, to 155.50 dollars.
The latest corporate deal news also put investors in a buying mood on Monday.
Finish Line vaulted 3.21 dollars, or 30.4%, to 13.76 dollars after the sporting goods retailer agreed to be bought by JD Sports Fashion.
USG Corp jumped 6.54 dollars, or 19.5%, to 40.05 dollars after the building products company rejected an offer worth 42 dollars per share from Knauf.
Benchmark US crude fell 33 cents to settle at 65.55 dollars per barrel on the New York Mercantile Exchange. Brent crude, used to price international oils, shed 33 cents to close at 70.12 dollars in London.
In other energy futures trading, heating oil was little changed at 2.02 dollars a gallon, wholesale petrol lost 2 cents to 2.01 dollars a gallon, and natural gas added 3 cents to 2.62 dollars per 1,000 cubic feet.
Gold rose 5.10 dollars to 1,355 an ounce, silver gained 10 cents to 16.68 dollars an ounce, and copper slipped 2 cents to 2.97 dollars a pound.
The dollar rose to 105.22 yen from 104.82 on Friday. The euro strengthened to 1.2455 dollars from 1.2367.