US stocks rallied a day after the Thanksgiving holiday, buoyed by retailers as consumers shopped on Black Friday.
The S&P 500 and the Dow Jones Industrial Average both posted weekly gains for the first time in three weeks.
In a shortened session, the Dow Jones Industrial Average ended up 0.15% at 23,557.9 points.
The S&P 500 rose 0.2% to 2,602.4, while the Nasdaq added 0.3% to 6,889.1.
Macy's closed 2.1% higher. The department store operator's chief executive told CNBC the company was better off this year than last and was seeing very robust online demand.
Rival retailers Kohl's, Gap and J.C. Penney all made modest gains.
US retailers make up to 40% of their annual sales during the holiday season.
Analysts and retailers said crowds at stores around the country this year were strong.
"Retail spending and online shopping news is looking good, spurring hopes for strong retail sales," said Peter Cardillo of First Standard Financial.
US shoppers had spent more than $2.8bn online by Thanksgiving evening, a 17% jump over the same period last year, according to Adobe Analytics.
However, Target ended 2.8% lower, with analysts noting that it closed its stores for several hours overnight while rivals stayed open.
Meanwhile, US oil prices hit a two-year high as North American markets tightened on the partial closure of a key pipeline linking Canada and the US.
Source: BBC