Canada’s main stock index rallied on the strength of resource stocks Friday, but shares in BlackBerry plunged after its first-quarter revenue failed to meet expectations.

The Toronto Stock Exchange’s S&P/TSX composite index moved up 99.66 points to 15,319.56, with base metals, gold, materials and energy sectors leading the broad-based advance.

Stephen Carlin, head of equities at CIBC Asset Management, said it was “refreshing” to see energy and mining get a lift.

“While those sectors are performing well today, they certainly haven’t been strong performers on a year-to-date basis,” he said.

“It goes without saying that energy has lagged given where oil prices are and given high inventories of the commodity.”

Crude prices have declined about 20% this year amid fears of a growing global supply glut, but Carlin doesn’t believe there’s an oil inventory problem.

“Market participants are looking to get those inventory levels down, so we’re not really looking for the commodity to run away for us,” he said. “We think it’s in a reasonably tight trading band between that $45 to $55 range.”

The August crude contract was up US27¢ at US$43.01 per barrel.

On the corporate front, Blackberry shares retreated $1.80, or 12.28%, to $12.86 after the company announced a profit of US$671 million in its latest quarter, despite revenue falling to $235 million compared with $400 million a year ago.

Analysts had expected revenue to come in at about $264.39 million for what was BlackBerry’s first quarter, according to Thomson Reuters.

“The company continues to transition and the market is still trying to figure out what this company is going to look like,” said Carlin.

South of the border, New York indexes were mixed. The Dow Jones industrial average shed 2.53 points to 21,394.76, while the S&P 500 edged up 3.80 points to 2,438.30 and the Nasdaq composite gained 28.56 points at 6,265.25.

In currencies, the Canadian dollar was trading 0.15 of a cent lower to an average price of US75.37¢.

Elsewhere in commodities, the July natural gas contract advanced US4¢ at US$2.93 per mmBTU, the August gold contract gained US$7 at US$1,256.40 an ounce, and the July copper contract added US3¢ at US$2.62 a pound.