TORONTO -- North American stock markets eked out moderate gains Thursday as the price of gold and the Canadian dollar sank against a strengthening greenback.

The Toronto Stock Exchange's S&P/TSX composite index was ahead 21.13 points at 15,218.31, as metals and financials stocks offsetted losses from gold and materials stocks.

South of the border, the U.S. dollar has risen to its strongest level in 14 years following the Federal Reserve's announcement Wednesday that it was hiking interest rates.

The central bank said it was raising rates by a quarter of a point, and anticipated three more rate hikes in 2017 if the economy continues to grow and unemployment improves.

The increase, which was expected, sent the greenback rallying. On Thursday, the Canadian dollar weakened, losing 0.42 of a U.S. cent to 74.92 cents US.

The higher U.S. dollar also dragged down the February gold contract by $33.90 to US$1,129.80 an ounce, as investors saw less reason to hold the precious metal.

On Wall Street, the Dow Jones industrial average gained 59.71 points to 19,852.24 and the S&P 500 rose 8.75 points to 2,262.03. The Nasdaq composite advanced 20.18 points to 5,456.86.

Noman Ali, a portfolio manager at Manulife Asset Management, said markets seemed to have rebounded from Wednesday's losses after showing surprise about the Fed's updated plans to have three hikes in 2017, instead of the originally forecasted two from its September meeting.

The Fed announcement helped send bank and financial stocks higher, as this sector stands to benefit from higher interest rates.

Ali says the Fed's decision is actually good news because it indicates that the central bank has a rosy outlook on the economy.

"It indicates economic growth is picking up, unemployment is getting better," he said.

But Ali cautioned that the Fed will have to keep an eye out for the U.S. dollar and ensure that it "isn't going to appreciate too much or run away" like it did in December 2015, the last time rates rose. A higher dollar is a negative for companies that export goods.

Meanwhile, oil prices also retracted, falling for a second day in a row after setting a new record price this year following deals from OPEC and non-OPEC members to cap production starting in January.

On Saturday, Russia and 10 other nations agreed to scale back production by 558,000 barrels a day for six months, following a Nov. 30 decision by OPEC members to decrease supply by 1.2 million barrels a day over the same time period.

The January crude contract slipped 14 cents to US$50.90 per barrel.

In other commodities, January natural gas lost 11 cents US$3.43 per mmBTU and March copper contracts were unchanged at US$2.61 a pound.