ADVERTISEMENT

US stocks extend rally as bank earnings top estimates

Published Jul 18, 2023 11:34 pm
NEW YORK, United States -- Global stocks mostly rose Tuesday, with the Dow index in New York lodging its seventh straight gain, as solid banking earnings helped extend a market rally. Shares of Morgan Stanley, Bank of America and Charles Schwab all surged after their results topped estimates. Following a positive day on European bourses, Wall Street stocks had a muted start to the session on mixed US economic data. But for the second day in a row, US indices gained momentum as the session progressed. The S&P 500 finished 0.7 percent higher. "The theme for today with the banks is 'better than feared,'" said Steve Sosnick of Interactive Brokers. "Unless the news is actively disappointing, everything is being taken as good news." Sosnick described the market as in "a full-fledged rally mode." Data out Tuesday showed that US retail sales edged 0.2 percent higher last month, below analyst expectations. Craig Erlam, senior market analyst at trading platform OANDA, said an upward revision of May figures helped balance out the June underperformance. "I'm not convinced today's data really changes things as far as the consumer or economy is concerned, all things considered, nor has it really changed anything on interest rate expectations, with markets almost fully pricing in a hike next week and probably no more after that," he said. Meanwhile, US industrial output fell by a more-than-expected 0.5 percent last month. In Asia, trading was still dominated by Monday's disappointing Chinese GDP growth figures. "Traders are concerned about economic numbers from China and... remain on the edge," noted Zaye Capital Markets analyst Naeem Aslam. And while there is expectation that more stimulus measures are in the pipeline, other analysts warned that leaders were limited in how far they could go. The figures came after last week's reports showing inflation had flatlined, suggesting China was on the brink of a period of painful deflation, while exports plunged for a second straight month. Hong Kong led Asian losses on Tuesday, shedding more than two percent following a five-day rally, as it reopened a day after being shut because of a severe storm. Shanghai, Sydney, Seoul, Singapore, Manila, Jakarta, Wellington and Taipei also dropped, though Tokyo, Mumbai and Bangkok edged higher. \- Key figures around 2030 GMT \- New York - Dow: UP 1.1 percent at 34,951.93 (close) New York - S&P 500: UP 0.7 percent at 4,554.98 (close) New York - Nasdaq: UP 0.8 percent at 14,353.64 (close) London - FTSE 100: UP 0.6 percent at 7,453.69 (close) Paris - CAC 40: UP 0.4 percent at 7,319.18 (close) Frankfurt - DAX: UP 0.4 percent at 16,125.49 (close) EURO STOXX 50: UP 0.3 percent at 4,369.73 (close) Tokyo - Nikkei 225: UP 0.3 percent at 32,493.89 (close) Hong Kong - Hang Seng Index: DOWN 2.1 percent at 19,015.72 (close) Shanghai - Composite: DOWN 0.4 percent at 3,197.82 (close) Euro/dollar: DOWN at $1.1235 from $1.1236 on Monday Dollar/yen: UP at 138.87 yen from 138.71 yen Pound/dollar: DOWN at $1.3040 from $1.3073 Euro/pound: UP at 86.13 pence from 85.94 pence West Texas Intermediate: UP 2.2 percent at $75.75 per barrel Brent North Sea crude: UP 1.4 percent $79.63 per barrel
ADVERTISEMENT
.most-popular .layout-ratio{ padding-bottom: 79.13%; } @media (min-width: 768px) and (max-width: 1024px) { .widget-title { font-size: 15px !important; } }

{{ articles_filter_1561_widget.title }}

.most-popular .layout-ratio{ padding-bottom: 79.13%; } @media (min-width: 768px) and (max-width: 1024px) { .widget-title { font-size: 15px !important; } }

{{ articles_filter_1562_widget.title }}

.most-popular .layout-ratio{ padding-bottom: 79.13%; } @media (min-width: 768px) and (max-width: 1024px) { .widget-title { font-size: 15px !important; } }

{{ articles_filter_1563_widget.title }}

{{ articles_filter_1564_widget.title }}

.mb-article-details { position: relative; } .mb-article-details .article-body-preview, .mb-article-details .article-body-summary{ font-size: 17px; line-height: 30px; font-family: "Libre Caslon Text", serif; color: #000; } .mb-article-details .article-body-preview iframe , .mb-article-details .article-body-summary iframe{ width: 100%; margin: auto; } .read-more-background { background: linear-gradient(180deg, color(display-p3 1.000 1.000 1.000 / 0) 13.75%, color(display-p3 1.000 1.000 1.000 / 0.8) 30.79%, color(display-p3 1.000 1.000 1.000) 72.5%); position: absolute; height: 200px; width: 100%; bottom: 0; display: flex; justify-content: center; align-items: center; padding: 0; } .read-more-background a{ color: #000; } .read-more-btn { padding: 17px 45px; font-family: Inter; font-weight: 700; font-size: 18px; line-height: 16px; text-align: center; vertical-align: middle; border: 1px solid black; background-color: white; } .hidden { display: none; }
function initializeAllSwipers() { // Get all hidden inputs with cms_article_id document.querySelectorAll('[id^="cms_article_id_"]').forEach(function (input) { const cmsArticleId = input.value; const articleSelector = '#article-' + cmsArticleId + ' .body_images'; const swiperElement = document.querySelector(articleSelector); if (swiperElement && !swiperElement.classList.contains('swiper-initialized')) { new Swiper(articleSelector, { loop: true, pagination: false, navigation: { nextEl: '#article-' + cmsArticleId + ' .swiper-button-next', prevEl: '#article-' + cmsArticleId + ' .swiper-button-prev', }, }); } }); } setTimeout(initializeAllSwipers, 3000); const intersectionObserver = new IntersectionObserver( (entries) => { entries.forEach((entry) => { if (entry.isIntersecting) { const newUrl = entry.target.getAttribute("data-url"); if (newUrl) { history.pushState(null, null, newUrl); let article = entry.target; // Extract metadata const author = article.querySelector('.author-section').textContent.replace('By', '').trim(); const section = article.querySelector('.section-info ').textContent.replace(' ', ' '); const title = article.querySelector('.article-title h1').textContent; // Parse URL for Chartbeat path format const parsedUrl = new URL(newUrl, window.location.origin); const cleanUrl = parsedUrl.host + parsedUrl.pathname; // Update Chartbeat configuration if (typeof window._sf_async_config !== 'undefined') { window._sf_async_config.path = cleanUrl; window._sf_async_config.sections = section; window._sf_async_config.authors = author; } // Track virtual page view with Chartbeat if (typeof pSUPERFLY !== 'undefined' && typeof pSUPERFLY.virtualPage === 'function') { try { pSUPERFLY.virtualPage({ path: cleanUrl, title: title, sections: section, authors: author }); } catch (error) { console.error('ping error', error); } } // Optional: Update document title if (title && title !== document.title) { document.title = title; } } } }); }, { threshold: 0.1 } ); function showArticleBody(button) { const article = button.closest("article"); const summary = article.querySelector(".article-body-summary"); const body = article.querySelector(".article-body-preview"); const readMoreSection = article.querySelector(".read-more-background"); // Hide summary and read-more section summary.style.display = "none"; readMoreSection.style.display = "none"; // Show the full article body body.classList.remove("hidden"); } document.addEventListener("DOMContentLoaded", () => { let loadCount = 0; // Track how many times articles are loaded const offset = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; // Offset values const currentUrl = window.location.pathname.substring(1); let isLoading = false; // Prevent multiple calls if (!currentUrl) { console.log("Current URL is invalid."); return; } const sentinel = document.getElementById("load-more-sentinel"); if (!sentinel) { console.log("Sentinel element not found."); return; } function isSentinelVisible() { const rect = sentinel.getBoundingClientRect(); return ( rect.top < window.innerHeight && rect.bottom >= 0 ); } function onScroll() { if (isLoading) return; if (isSentinelVisible()) { if (loadCount >= offset.length) { console.log("Maximum load attempts reached."); window.removeEventListener("scroll", onScroll); return; } isLoading = true; const currentOffset = offset[loadCount]; window.loadMoreItems().then(() => { let article = document.querySelector('#widget_1690 > div:nth-last-of-type(2) article'); intersectionObserver.observe(article) loadCount++; }).catch(error => { console.error("Error loading more items:", error); }).finally(() => { isLoading = false; }); } } window.addEventListener("scroll", onScroll); });

Sign up by email to receive news.