Canada's main stock index pushed higher on Friday, led by modest gains for its heavyweight financial and energy sectors in a broad rally that helped it notch a 0.7 per cent gain on the week.

The Toronto Stock Exchange's S&P/TSX composite index ended the session up 33.79 points, or 0.21 per cent, at 16,108.09.

The energy group, which accounts for almost a fifth of the index's weight, rose 0.2 per cent, while the financials group, which accounts for more than a third, gained 0.1 per cent.

The smaller consumer discretionary group rose 0.6 per cent, echoing gains for U.S. retail stocks as the holiday shopping season appeared to get off to a strong start, especially online.

Discount retailer Dollarama Inc (DOL.TO) rose 1.2 per cent to $162.03 after RBC raised its price target on the stock to $161 from $143.

U.S. crude prices hit their highest in more than two years as a shutdown at TransCanada Corp's Keystone pipeline continued to cut deliveries to storage facilities.

TransCanada shares (TRP.TO), which had fallen sharply earlier in the week, ended up 0.9 per cent at $63.48.

Nine of the index's 10 main sectors were higher, with the materials group, which includes precious and base metals miners and fertilizer companies, down 0.3 per cent.

Barrick Gold Corp (ABX.TO) fell 1.5 per cent to $18.06 and Goldcorp Inc (G.TO) lost 1.2 per cent to $16.76 as gold prices dipped.