The Toronto Stock Exchange's S&P/TSX composite index edged up 4.91 points, or 0.02%, to 20,595.89 but that closing level was 1.6% below its intraday high.

"The story of the day has been the huge intraday swings around the Bank of Canada and, more importantly for the U.S. markets, around the Fed," said Colin Cieszynski, chief market strategist at SIA Wealth Management.

The Bank of Canada said it will soon start hiking interest rates from record lows to combat inflation, while the Federal Reserve signaled it is likely to hike in March.

"Anybody that was holding out that maybe they'll delay, it's pretty clear they're not going to delay," Cieszynski said.

Tightening monetary policy typically hurts riskier assets, such as equities.

Major U.S. benchmark index the S&P 500 ended lower, taking an abrupt nosedive that reversed earlier solid gains.

On the Toronto market, heavily weighted financials rose 0.4%, while the energy sector ended 0.3% higher as oil prices climbed.

U.S. crude oil futures settled 2% higher at $87.35 a barrel as rising political tensions between Russia and Ukraine added to concerns about further disruption in an already tight oil market.

Weighing on the TSX was the materials group, which includes precious and base metals miners and fertilizer companies. It lost 1.2% as the Fed's hawkish stance pressured gold.

(Reporting by Fergal Smith; Additional reporting by Ambar Warrick; Editing by Sandra Maler)

By Fergal Smith