The Dow Jones industrial average, Standard & Poor's 500 index and the Russell 2000 index of small-company stocks closed at all-time highs on Friday.
The modest pickup in stocks, which gave the Dow its seventh consecutive gain, came on a day of relatively light trading following the holiday break for U.S. markets.
Utilities stocks were among the biggest gainers.
Oil prices continued to decline. That made traders hopeful for stronger consumer spending heading into next year, since drivers won't need to pay as much to fill up their cars.
"Holiday sales look good. The consumer is in good shape," said David Chalupnik, head of equities at Nuveen Asset Management. "We're ending the year strong and my guess is the market continues to trend higher through year-end and January is probably going to be a good month as well."
The Dow gained 23.50 points to close at 18,053.71. That's up 0.1 per cent from its previous record high on Wednesday.
The Standard & Poor's 500 index added 6.89 points, or 0.3 per cent, to 2,088.77. That's up 0.3 per cent from the S&P 500's most-recent all-time high recorded on Tuesday.
The Nasdaq composite rose 33.39 points, or 0.7 per cent, to 4,806.86. The last time the index was higher was March 28, 2000, during the heady days of the dot-com bubble.
The Russell 2000 climbed 8.42 points, or 0.7 per cent, to 1,215.21. That's an increase of 0.5 per cent from the Russell's previous all-time high on March 4.
U.S. government bond prices rose. The yield on the 10-year Treasury note dipped to 2.25 per cent.
The stock market has been mostly climbing since hitting a recent low of 17,069 on Dec. 16 on worries about plunging oil prices and a sharp drop in Russia's currency.
Since then, investors have been encouraged by signs of a strengthening U.S. economy, which the government estimates grew in the July-September quarter at the fastest pace in 11 years. Consumer spending and personal incomes have been rising. The economy has been creating more jobs.
The markets also have history on their side.
December is typically the best month of the year for stocks, while January is the second-best, Chalupnik noted.
The stock market opened higher Friday and held steady the rest of the day. There wasn't any major U.S. economic or corporate news.
Major European markets were closed for the holiday. Markets in Asia posted slight gains.
Investors kept an eye on oil prices, which have been a major focus in over the past few weeks. Benchmark U.S. crude oil fell $1.11 to close at $54.73 a barrel.
Oil prices have fallen by about a half since the summer as traders worry that there won't be enough global demand for the abundant supplies of oil being produced.
Eight of the 10 sectors in the S&P 500 index rose, led by utilities stocks. The sector is up 27.9 per cent this year. Energy posted the biggest decline, deepening its slide this year to 9 per cent.
Celgene notched the biggest gain among individual stocks in the S&P 500, adding $3.75, or 3.4 per cent, to $113.35. Newfield Exploration declined the most, shedding 89 cents, or 3.2 per cent, to $26.97.
Most metals prices rose. Gold gained $21.80 to $1,195.30 an ounce. Silver rose 44 cents to $16.15 an ounce, and copper fell four cents to $2.81 an ounce.
In other energy trading, Brent crude, a benchmark for international oils used by many U.S. refineries, fell 79 cents to close at $59.45 a barrel in London.
On the NYMEX, wholesale gasoline fell 0.4 cent to close at $1.509 a gallon, heating oil fell 1.6 cents to close at $1.908 a gallon and natural gas fell 2.3 cents to close at $3.007 per 1,000 cubic feet.
Among other stocks making big moves Friday:
— Virgin America rose 5.9 per cent after several financial firms issued bullish recommendations for the airline company's stock. Its shares added $2.42 to $43.42.
— Cytokinetics gained 4.6 per cent on news the company will continue advancing development of a muscle-weakness treatment with its partner, Astellas Pharma. The stock rose 27 cents to $6.14.
— Juno Therapeutics climbed 21.9 per cent. The biotech company closed its initial public offering on Wednesday. The stock gained $8.74 to $48.73.