Brazilian stocks rebounded on Friday from two straight days of declines, boosted by bottom fishing for cheap shares and firm US markets.
Traders said weaker-than-expected jobs growth in the United States also helped lift spirits at the bourse amid bets the soft data would lead the Federal Reserve to hold interest rates at record lows a little while longer.
Worries that the Fed would raise rates sooner than thought and thus lure investment away from emerging markets like Brazil, had weighed on shares the past days.
"The market reacted positively to the US data," said Alvaro Bandeira, a director at Agora Senior CTVM investment firm in Rio de Janeiro.
"A lot of shares ended up with attractive prices, but that's no guarantee that the market is back on the upswing."
The Sao Paulo Stock Exchange's benchmark Bovespa index finished 4.16 percent higher at 21,968 points, up 0.54 percent in the week, but still down 1.2 percent since the start of the year.
A strong rally by market bellwether Tele Norte Leste Participacoes (Telemar) helped underpin the market's rise after the telephone company announced it had won a court case to claim 370 million reais in debt.
The company's shares, which account for about 14 percent of the Bovespa index, finished 5.57 percent higher at 45.50 reais.
Steel companies Usiminas and Gerdau also posted strong gains after falling the past two days. Usiminas rose 7.60 percent to 29.60 reais and Gerdau closed up 6.32 percent at 58.50 reais.
Expectations that President Luiz Inacio Lula da Silva will announce Friday that he is cutting 4 billion reais from this year's budget also helped the market, said Eduardo Fornazier, a stock trader at Santos Asset Management in Sao Paulo.
Brazilian markets had been unnerved by news reports that Lula's finance minister, Antonio Palocci, was facing opposition to the cuts from within the government.
That they are now expected to pass was seen as a reaffirmation of his influence on Lula, Fornazier said.
"It shows the strengthening of Palocci among Lula's top ministers," he said.
In the currency market, Brazil's real finished flat at 2.932 per US dollar.