US stocks Thursday finished a volatile trading session higher following improved jobless claims data and a mixed bag of corporate earnings.

The Dow Jones Industrial Average added 24.50 (0.17 percent) to 14,700.80. After touching close to break-even, the index rallied in the final minutes for a gain.

The broad-based S&P 500 rose 6.37 (0.40 percent) to 1,585.16, while the tech-rich Nasdaq Composite Index jumped 20.33 (0.62 percent) to 3,289.99.

New claims for US unemployment benefits fell last week to the lowest level since mid-March. Initial claims came in at 339,000, down from the prior week's revised reading of 362,000.

Despite a few weak earnings reports, the corporate first quarter results have been "pretty constructive," said Michael James of Wedbush Morgan Securities.

Stocks have seen a "continuation of the same theme" since the beginning of 2013 when "any pullback in the market continues to be a buying opportunity," James said.

Dow Chemical jumped 5.6 percent after it reported a 33 percent rise in net income and said it had enacted strong pricing increases in most operating segments and geographic areas.

Package shipper UPS added 2.3 percent after reporting a 6.9 percent increase in quarterly earnings and disclosing the purchase of a Hungary-based pharmaceutical logistics company for an undisclosed sum.

ExxonMobil fell 1.5 percent after reporting earnings slightly above last year's level but an oil and gas production drop of 3.5 percent.

Industrial conglomerate 3M lost 2.8 percent after it trimmed its profit forecast for 2013. The company's chief executive cited the "stronger U.S. dollar and softer demand in some end markets" as factors in the revision.

Pharmaceutical giant Bristol-Myers Squibb fell 3.0 percent after reporting sharply lower earnings due in part to the expiration of patents on some key medicines.

Airline United dipped 1.6 percent after reporting a $417 million quarterly loss, which included an $11 million charge related to the grounding of its Boeing 787 jets.

Bond prices fell. The yield on the 10-year Treasury rose to 1.71 percent from 1.70 percent Wednesday afternoon, while the 30-year bond moved to 2.91 percent from 2.89 percent.