;(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; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // 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(); })();
  • AssineUOL
Logo Pagbenk Seu dinheiro rende mais
Topo

Para JPMorgan, crise de vírus pode favorecer compra de ações

Ksenia Galouchko

27/01/2020 11h47

(Bloomberg) — O momento pode ser de turbulência para as ações globais em meio a temores sobre a propagação do coronavírus chinês, mas estrategistas do JPMorgan Chase dizem que a volatilidade pode se tornar uma oportunidade de compra.

Embora a onda vendedora de ações possa continuar antes que a situação sobre a infecção melhore, no ado esses grandes surtos apenas levaram a uma desvalorização das ações de cerca de 4,7%, em média, escreveram os estrategistas em relatório. A equipe mantem uma visão construtiva sobre as ações globais, acrescentando que, no ado, quanto mais ações as ações caíam puxadas por temores semelhantes, mais se recuperavam posteriormente.

"Temores sobre saúde, semelhantes às campanhas de guerra localizadas, bem como incidentes terroristas, foram historicamente oportunidades de compra, e não razões para vendas sustentadas", escreveram os estrategistas do JPMorgan Mislav Matejka, Prabhav Bhadani e Nitya Saldanha.

O número de mortes causadas pelo coronavírus aumentou para pelo menos 80, e a infecção se espalhou para a França e o Canadá, entre outros países. As ações dos setores de mineração e viagens foram especialmente afetadas, devido à queda dos preços dos metais e à decisão da China de suspender as vendas de pacotes turísticos na tentativa de conter o surto.

Os estrategistas do JPMorgan analisaram a reação do mercado acionário às pandemias adas, incluindo a SARS, em 2003, e os surtos da gripe suína, em 2009. Segundo a equipe, esses episódios não levaram a períodos prolongados de venda de ações e tornaram-se oportunidades de compra em questão "de semanas". Os índices subiram 23% em média nos três meses após o pico no interesse global devido aos temores sanitários.

Tanto o S&P 500 quanto o MSCI All-Country World atingiram recordes este mês, impulsionados pelo otimismo em relação ao acordo comercial EUA-China. A elevada exposição de fundos com foco em volatilidade em ações dos EUA, em níveis vistos pela última vez no período de alta até fevereiro de 2018, havia alimentado preocupações em alguns segmentos do mercado que, por enquanto, estão sendo confirmadas pelos eventos.

Para contatar o editor responsável por esta notícia: Daniela Milanese, [email protected]