US stocks fought their way to a mixed finish as drug makers rallied, which mostly cancelled out losses for industrial companies.
For the second straight day, stocks started with substantial losses. Industrial companies, which have climbed lately, fell the most as UPS tumbled after a weak fourth-quarter report.
Banks also slipped, but investors bought safe-play assets like gold, government bonds, and high dividend payers.
Drug companies also rallied after President Donald Trump met industry executives and discussed ideas including faster drug approvals and lower taxes.
Jim Paulsen, chief investment strategist for Wells Capital Management, said investors are looking for safer investments because the change from Barack Obama's administration to Mr Trump's has created so many changes in government.
"More than anything right now, it's just the pace of news," he said. "It is so dramatic."
The stock market made huge gains after Mr Trump was elected last autumn, and Mr Paulsen said it is not a surprise that investors would sell some of their holdings, take some profits, and move to lower-risk investments at some point.
The Dow Jones industrial average sank 107.04 points, or 0.5%, to 19,864.09 as companies like Goldman Sachs and Boeing returned some of their recent gains.
The S&P 500 lost 2.03 points, or 0.1%, to 2,278.87. It fell as much as 13 points early on. The S&P 500 has fallen for four days in a row. While that is its longest losing streak since before the presidential election, the losses have been small.
The Nasdaq composite gained 1.07 points to 5,614.79. The Russell 2000 index of small-company stocks rose 9.49 points, or 0.7%, to 1,361.82. On the New York Stock Exchange, more stocks rose than fell.
Athletic apparel maker Under Armour plunged after investors were disappointed with its fourth-quarter report, which included higher expenses. Under Armour also issued a weak full-year forecast and said its chief financial officer is leaving.
The stock tumbled 7.45 dollars, or 25.7%, to 21.49 dollars. It dropped 30% last year and is now trading at its lowest price in two years.
United Parcel Service sank after the package delivery company forecast an annual profit that was far smaller than analysts expected. UPS expects to earn no more than 6.10 dollars a share this year while FactSet says experts expected 6.15 dollars.
UPS gave up 7.90 dollars, or 6.8%, to 109.13 dollars, and FedEx fell 4.14 dollars, or 2.1%, to 189.11 dollars. That helped pull industrial companies lower.
Drug companies jumped after Mr Trump said he wants less regulation on prescription drugs because that could speed up drug approvals. While he again said he wants to reduce drug prices, investors seemed pleased with proposals that could reduce drug makers' costs and boost their profits, as well as with the tone of the meeting.
Just three weeks ago Mr Trump said drug makers were "getting away with murder" on prices.
The Nasdaq Biotech index climbed 2.8%. Companies that make both generic and name-brand drugs traded higher, as did prescription drug distributors.
Bond prices rose. The yield on the 10-year Treasury note fell to 2.46% from 2.49%. That hurt financial stocks, as lower bond yields reduce interest rates and the profits banks make from lending.
Investors who want income also bought stocks that pay outsize dividends, including real estate investment trusts and utility companies. Shopping mall operator Simon Property Group and GGP both traded higher after their quarterly reports. Simon gained 6.03 dollars, or 3.4%, to 183.77 dollars, and GGP rose 88 cents, or 3.7%, to 24.84 dollars.
The price of gold and silver made their biggest jumps in two weeks. Gold rose 15.40 dollars, or 1.3%, to 1,211.40 dollars an ounce. Silver gained 39 cents, or 2.3%, to 17.54 dollars an ounce. Copper picked up 7 cents, or 2.7%, to 2.73 dollars a pound. That was its largest move in three weeks.
Another day of protests against parts of Mr Trump's agenda and challenges for some of his cabinet nominees who have not been confirmed by Congress made investors a bit more nervous early in the day.
The VIX, an index known as Wall Street's "fear gauge", jumped 9% around midday, but finished only 1% higher. It had climbed on Monday.
US crude oil rose 18 cents to 52.81 dollars a barrel in New York. Brent crude, the benchmark for international oil prices, added 47 cents to 55.70 dollars a barrel in London.
However energy companies continued to decline. After big gains over the last year, especially in November and early December, they have done worse than the rest of the market. Exxon Mobil lost 97 cents, or 1.1%, to 83.89 dollars.
Natural gas companies fell as the price of the fuel fell 12 cents, or 3.6%, to 3.12 dollars per 1,000 cubic feet. In other energy trading, wholesale gasoline rose 2 cents to 1.53 dollars a gallon. Heating oil picked up 1 cent to 1.61 dollars a gallon.
The dollar fell to 112.76 yen from 113.67 yen. The euro rose to 1.0803 dollars from 1.0695.