The Canadian bond prices firmed across the curve on Friday as market players opted to focus on the softer-than-expected GDP figure, and shrugged off the relatively stronger headline numbers found in consumer sentiment and Midwest factory production.
"It's a pretty cut-and-dried story today. The headline GDP figure was considerably below expectations, but personally I think the details were nowhere near as weak as the headline would suggest," said Doug Porter, senior economist at BMO Nesbitt Burns.
US gross domestic product climbed at a weaker-than-expected 3 percent annual rate in the April-June period after an upwardly revised 4.5 percent clip at the start of the year.
The market ignored the University of Michigan's final reading of its July index of consumer sentiment, which showed a gain for the month. Data on factories in the Chicago area pointed to an increase in production for July but also showed a decline in manufacturers' willingness to hire.
That surprising detail raised doubts for next week's US non-farm payrolls report for July, likely the major focus of the week. Canada is also due to assess its July labour market next Friday.
The two-year bond gained 10 Canadian cents to C$99.69 to yield 3.174 percent, while the 10-year bond popped up 40 Canadian cents to C$103.50 to yield 4.758 percent.
The yield spread between the two-year and 10-year bond moved to 158.4 basis points from 158.3 basis points.
The 30-year bond, due 2029, jumped 61 Canadian cents to C$106.43 to yield 5.281 percent, while the US 30-year treasury yielded 5.202 percent.
The three-month when-issued T-bill yielded 2.12 percent, unchanged from the previous close.
The Canadian dollar finished on a sour note on Friday as players sought to close out trades before month-end and economic news worked in favour of the benchmark US currency.
Bonds gained, meanwhile, as traders focused on a soft headline figure for US second-quarter growth.
The Canadian currency finished at C$1.3295 to the US dollar, or 75.22 US cents, up from C$1.3265 to the US dollar, or 75.39 US cents, at Thursday's close.