U.S. stocks ended a volatile trading session slightly higher after Treasury yields retreated from multiyear highs and expectations for another rate hike this month subsided.
The S&P 500 rose 14.91 points, or 0.19%, to 7666.45, the Dow Jones Industrial Average ticked up 20.51 points, or 0.04%, to 50926.56. The Nasdaq also edged up 0.04%, or 10.53 points, 26871.60.
Shares traded down in the early part of the day as the 10-year Treasury yield hit a 24-year high of nearly 5.34%, but reversed when the benchmark yield pulled back. It ended the day down 0.059 percentage point at 5.233%, its biggest drop in over a month.
The 30-year Treasury, which reached its highest level since June 2002 yesterday, pulled back by 0.036 percentage point to 5.6302%. The policy-sensitive two-year fell for the third session in a row, this time by 0.1 percentage point to 4.785%.
Stocks may have also gotten a lift from another high-profile Federal Reserve member suggesting that the central bank isn't rushing to raise rates again this month.
Fed governor Philip Jefferson said at an event in Virginia the Fed may need more time to assess the direction of the economy before making any additional policy adjustments. The comments echoed remarks from New York Fed President John Williams earlier this week that indicated the Fed might wait until at least December to raise rates.
The probability of a hike at the October Fed meeting dropped to less than a quarter on Thursday, down from 68% earlier this week, according to CME's FedWatch tool.
U.S. crude futures were up 2.7% at $92.87 a barrel while international benchmark Brent crude climbed 4.4% to $102.31. The move higher came as the Pentagon sent a third aircraft-carrier strike group and more troops to the Middle East while President Trump considers renewed strikes on Iran.