The Dow Jones industrial average rose 80 points to close at 15,040 points Thursday, a gain of 0.5 per cent. Indexes slumped at midday, then rose through the afternoon.
Trading was volatile as investors reacted to market declines in Europe and looked ahead to the Labor Department's monthly jobs report, which comes out Friday.
Retail stocks mostly rose after several store chains, including Costco, reported higher sales for May.
The Standard & Poor's 500 index rose 13 points to 1,622, a gain of 0.9 per cent. The Nasdaq composite rose 22 points to 3,424 points, up 0.7 per cent.
Four stocks rose for every one that fell on the New York Stock Exchange. Trading volume was average at 3.5 billion shares.