Canada's main stock index was up over 200 points in late-morning trading, driven by strength in energy, industrials and financials.
The S&P/TSX composite index was up 203.52 points at 19,064.88.
U.S. stock markets are closed for the Independence Day holiday.
The Canadian dollar traded for 77.66 cents US compared with 77.60 cents US on Thursday.
The August crude contract was up US$2.06 at US$110.49 per barrel and the August natural gas contract was up 11 cents at US$5.84 per mmBTU.
The August gold contract was up US$9.30 at US$1,810.80 an ounce and the September copper contract was down one cent at US$3.59 a pound.