;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
Topo
Notícias

Curva do DI segura Ibovespa, que cai 0,25%, aos 138,5 mil pontos

São Paulo, 29

29/05/2025 17h57

O Ibovespa teve um dia de variação contida, de cerca de 1,1 mil pontos entre a mínima (137.993,33) e a máxima (139.108,26) da sessão, em que fechou em leve baixa de 0,25%, aos 138.533,70 pontos, com novos dados sobre o mercado de trabalho doméstico, aquecido, colocando alguma pressão sobre a curva do DI desde a manhã, apesar do dia de recuo para os rendimentos dos Treasuries, nos Estados Unidos. Em Nova York, os principais índices de ações registraram alta entre 0,28% (Dow Jones) e 0,40% (S&P 500). Aqui, o dólar caiu 0,50%, a R$ 5,6670.

Na B3, o giro voltou a se enfraquecer nesta quinta-feira, a R$ 18,0 bilhões. Na semana, o Ibovespa avança 0,51% e, no mês, tem ganho de 2,57% - no ano, sobe 15,17%.

Mais cedo, a notícia de que o Tribunal de Comércio Internacional dos EUA anulou as ordens tarifárias "recíprocas" do presidente Donald Trump contribuía para embalar a abertura dos negócios, mas o entusiasmo global foi diluído ao longo do pregão, com os investidores ando a avaliar os impactos jurídicos e econômicos da decisão. Em Londres e Nova York, o petróleo cedeu em torno de 1,5% na sessão. No Brasil, depois do sólido Caged de abril, divulgado na tarde de ontem, o foco esteve concentrado em nova leitura forte sobre o mercado de trabalho doméstico, pela Pnad Contínua, nesta manhã, com efeito sobre a curva de juros futuros.

"A taxa de desemprego no trimestre até abril confirma que o mercado de trabalho segue aquecido, mas com sinais de desaceleração no ritmo de geração de vagas", avalia Sidney Lima, analista da Ouro Preto Investimentos. "A criação de empregos formais e a alta nos rendimentos reais são pontos positivos, mas a subutilização ainda elevada mostra que há folgas no mercado", acrescenta. "Para garantir um avanço mais robusto, será necessário maior previsibilidade fiscal, redução dos ruídos políticos e incentivo à formalização, com foco em produtividade."

"Apesar de alguns indicadores mostrarem uma leve desaceleração no ritmo de expansão no mês, seguem em patamares historicamente elevados, o que tende a sustentar o consumo e representa um desafio adicional à condução da política monetária, sobretudo diante da persistência inflacionária no setor de serviços", observa Rafael Perez, economista da Suno Research.

A taxa de desemprego no trimestre encerrado em abril de 2025 ficou em 6,6%, conforme a leitura da Pnad Contínua, abaixo das expectativas do mercado. "Trata-se de uma queda de 0,9 ponto porcentual em relação ao mesmo período de 2024 e do menor nível para o mês de abril desde o início da série histórica", diz Perez.

O segundo dia de pausa do Ibovespa - após a recente renovação de recordes, na casa dos 140 mil pontos - ocorreu a despeito da retração do dólar. Na B3, o dia foi negativo para carros-chefes como Petrobras (ON -0,12%, PN -0,60%), bem como para os principais bancos, com BB (ON -1,58%) ainda puxando a fila na sessão.

Por outro lado, Vale ON, a principal ação da carteira Ibovespa, reagiu e fechou pouco acima da estabilidade (+0,07%). As utilities também foram bem na sessão, com destaque para Eletrobras (ON +0,94%, PNB +1,41%). Na ponta ganhadora do índice, Petz (+2,38%), Marfrig (+2,13%) e Cosan (+2,07%). No lado oposto, Azul (-6,80%), Magazine Luiza (-4,92%) e Minerva (-3,83%).

"O mercado ainda está desconfiado com relação ao governo cumprir as metas fiscais. Isso faz com que os juros futuros subam, levando em especial as empresas varejistas, as small caps ações de menor capitalização de mercado, mais voláteis e construtoras a um desempenho pior no dia de hoje", diz Josias Bento, sócio da GT Capital.

Notícias