The loonie was trading 0.3% higher at 1.2695 to the greenback, or 78.77 U.S. cents, having touched its weakest level since Jan. 18 at 1.2782. The U.S. dollar lost ground against a basket of major currencies as demand for safe havens faded.

"It seems to be a fairly broad-based USD move," said Erik Nelson, a currency strategist at Wells Fargo in New York.

"Buoyant equity and commodity prices, particularly oil prices, may be helping support some relative CAD outperformance here as markets await tomorrow's FOMC announcement," Nelson said.

The S&P 500 notched a record high after a batch of upbeat earnings updates, including Johnson & Johnson's strong profit forecast and 3M's quarterly profit beat. The Federal Reserve kicked off its two-day policy meeting.

Canada will seek exemptions to a U.S. effort to ensure federal agencies buy American-produced goods, Prime Minister Justin Trudeau said, as business groups expressed concern about the potential impact.

Canada sends about 75% of its exports to the United States, including oil. U.S. crude oil futures settled 0.3% lower at $52.61 a barrel as global coronavirus cases continued to rise, but were not far off 11-month highs.

Canada will soon make foreign travel harder in a bid to clamp down on the coronavirus, Trudeau said without giving details, prompting major provinces to demand action.

Canadian government bond yields were higher across much of a steeper curve. The 10-year rose 1.1 basis points to 0.824%.

Canada's GDP data for November is due on Friday which could offer some clues on the interest rate outlook.

(Reporting by Fergal Smith; Editing by Alistair Bell and Richard Chang)

By Fergal Smith