The Dow Jones industrial average failed to hold intraday attempts at gains as Chevron, Exxon Mobil and Nike weighed.
Oil remained near multi-year lows, but extended recent gains. U.S. crude oil futures settled up 60 cents, or 1.60 percent, at $38.10 a barrel, for a 9 percent weekly gain. Brent was last trading just below $38 a barrel. Natural gas inventories declined slightly from the previous week, according to the EIA.
The stock market closed at 1 p.m., ET, for Christmas Eve and remains closed Friday for Christmas Day. Oil settled early at 1:30 p.m., and the bond market was scheduled for a 2 p.m. close.
Read MoreCashin: Concerned about economy; oil to retest lows
"I think today's really about retail. It's really the last day for (investors) to focus on the Christmas season," said JJ Kinahan, chief strategist at TD Ameritrade. He noted unseasonably warm weather in most of the United States may encourage more shopping on Dec. 26, a day he said has recently become more important for retail.
The SPDR S&P Retail ETF (XRT) closed down nearly 1 percent but held gains of more than 2 percent for the week.
"I think a lot of people were short coming into this week. (They're) positioning before the end of the year," Sarhan said. "Investors are looking for the next bullish catalyst out there."
Read MoreStocks struggling to squeak out gain for year
In economic news, weekly jobless claims came in at 267,000.
Treasury yields were little changed, with the 2-year yield near 0.99 percent and the 10-year yield around 2.24 percent.
The U.S. dollar index was about 0.4 percent lower against major world currencies, with the euro near $1.095 and the yen at 120.27 yen against the greenback.
As of Thursday's close, the S&P 500 was up 0.1 percent for the year so far, while the Nasdaq composite was up about 6.6 percent year-to-date. The Dow Jones industrial average was 1.5 percent lower for 2015.