European stock markets fell in early trading Wednesday as the major indices continued to dance around some pretty well-worn ranges ahead of the Jackson Hole event. The FTSE 100 edged down 30pts or so but has not moved more than 100pts in the last four sessions. A weaker pound and rally for oil prices has helped. Declines on Wall Street have been starker in recent days after a more imposing bear market rally since June ran into near-term overbought territory and key moving average resistance. Bearish MACD crossovers in overbought territory on the daily charts point to near-term weakness. Zoom shares plunged…a top ARKK holding of course. It’s a light session today with just US durable goods and pending home sales on offer, as well as the usual weekly US crude inventories report.

Wall Street notched a third-straight daily decline as weaker services and housing reports pointed to a slowdown in activity that just trimmed rate hike expectations on the margins a touch. The S&P flash US PMI Composite reading plunged by the most since May 2020 to a 27-month low at 45. UK and EU PMIs were similarly underwhelming. Meanwhile new home sales in the US declined 12.6% month-on-month. Asian shares were weaker overnight and US futures are lower.

Some relief for sterling and the euro emerged from the weaker US services number, too. After earlier sinking to a fresh 20-year low around 0.990, EURUSD rallied back to parity before again edging under to around the 0.9950 area this morning. GBPUSD put up a better fight and has rallied off the two-and-a-half-year low at 1.1720 to 1.1880 before edging down to 1.1810 this morning.

Crude retains a bullish bias with WTI front month futures near a two-week high close to $94. Unwinding of Russian invasion speculative bets has been the main driver of the pullback since June and doesn’t really reflect the fundamental tightness in the market. The fact that OPEC signalled it could actually cut output again shows the precarious nature of the bear case right now. On a technical basis the bullish MACD crossover supports the case for further gains.

All anyone is really talking about is Jackson Hole and what Jay Powell says…it’s hard to see him doing anything different – underling the case to fight inflation, that policy rates will need to stay restrictive for longer etc… quite how the market reads it is anyone’s guess. But the market, as evidenced by nominal Treasury yields and breakevens, is still underappreciative of just how much inflation-busting is required.

Latest news

Sunday, 29 December 2024

Indices

Stock market today: Most Asian stocks fell after US equities declined

Sunday, 29 December 2024

Indices

MicroStrategy joins Nasdaq-100 index: MSTR stock performance analysis 2024

Sunday, 29 December 2024

Indices

Morning Note: Key Levels & Data Driving the Last Monday of 2024

Closing 2024

Thursday, 26 December 2024

Indices

Week ahead: Closing 2024 and First Economic data from 2025

SettingsRequest history8.1.18PHP Version1.54sRequest Duration4MBMemory UsageGET news/{slug}
status
200 OK
full_url
https://web-qa.staging.markets.com/news/stocks-drop-with-little-on-the-calendar
controller_action
App\Http\Controllers\DynamicContentController@getNewsFromCollection
Theme
Open Button Position
Hide Empty Tabs
Autoshow
Reset to defaults
status
200 OK
full_url
https://web-qa.staging.markets.com/news/stocks-drop-with-little-on-the-calendar
action_name
controller_action
App\Http\Controllers\DynamicContentController@getNewsFromCollection
uri
GET news/{slug}
controller
App\Http\Controllers\DynamicContentController@getNewsFromCollection
file
app/Http/Controllers/DynamicContentController.php:370-421
middleware
web, SetDomain, GoMarkets, setlocale, trackingparams, redirects, Logout, pagecache, setrisk, gettranslations, getglobalsettings, urlstructure, saveReferral
duration
1.54s
peak_memory
6MB
response
text/html; charset=UTF-8
request_format
html
request_query
[]
request_request
[]
request_headers
0 of 0
array:16 [ "cookie" => array:1 [ 0 => "mktv4_ip_override=eu" ] "accept-encoding" => array:1 [ 0 => "gzip, deflate, br, zstd" ] "sec-fetch-dest" => array:1 [ 0 => "document" ] "sec-fetch-user" => array:1 [ 0 => "?1" ] "sec-fetch-mode" => array:1 [ 0 => "navigate" ] "sec-fetch-site" => array:1 [ 0 => "none" ] "accept" => array:1 [ 0 => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" ] "user-agent" => array:1 [ 0 => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" ] "upgrade-insecure-requests" => array:1 [ 0 => "1" ] "sec-ch-ua-platform" => array:1 [ 0 => ""Windows"" ] "sec-ch-ua-mobile" => array:1 [ 0 => "?0" ] "sec-ch-ua" => array:1 [ 0 => ""HeadlessChrome";v="129", "Not=A?Brand";v="8", "Chromium";v="129"" ] "cache-control" => array:1 [ 0 => "no-cache" ] "pragma" => array:1 [ 0 => "no-cache" ] "connection" => array:1 [ 0 => "keep-alive" ] "host" => array:1 [ 0 => "web-qa.staging.markets.com" ] ]
request_cookies
0 of 0
array:1 [ "mktv4_ip_override" => null ]
response_headers
0 of 0
array:3 [ "content-type" => array:1 [ 0 => "text/html; charset=UTF-8" ] "cache-control" => array:1 [ 0 => "no-cache, private" ] "date" => array:1 [ 0 => "Sat, 26 Apr 2025 02:45:55 GMT" ] ]
session_attributes
0 of 0
array:1 [ "_token" => "kcBP42571Z6oXgctRVd2Gpc71EjxFwBeP81FSxyK" ]
  • infolog[02:45:54] LOG.info: api_01347ed89b22f0d103adb7e24f214f15 [ "\/news\/stocks-drop-with-little-on-...
  • infolog[02:45:54] LOG.info: api_b57ed265073579a77738e2e15f26f931 [ "\/news\/stocks-drop-with-little-on-...
  • warninglog[02:45:55] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:45:55] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:45:55] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:45:55] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:45:55] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:45:55] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • infolog[02:45:55] LOG.info: api_62336c465a811c6b10f7c01adedd4f1b [ "\/news\/stocks-drop-with-little-on-...
  • warninglog[02:45:55] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:45:55] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:45:55] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:45:55] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:45:55] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:45:55] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:45:55] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:45:55] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:45:55] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:45:55] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:45:55] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:45:55] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:45:55] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:45:55] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:45:55] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:45:55] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:45:55] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:45:55] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:45:55] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:45:55] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:45:55] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:45:55] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:45:55] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:45:55] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • infolog[02:45:55] LOG.info: page_02fb466147af65d53edca26d5cc5605b [ "\/news\/stocks-drop-with-little-on...
  • Booting (25.53ms)time
  • Application (1.52s)time
  • Routing (16.64ms)
  • 1 x Application (98.35%)
    1.52s
    1 x Booting (1.65%)
    25.53ms
    1 x Routing (1.08%)
    16.64ms
    102 templates were rendered
    • 1x news-contentnews-content.blade.php#?blade
    • 1x components.news-landingnews-landing.blade.php#?blade
    • 1x components.news-singlenews-single.blade.php#?blade
    • 1x components.article-navigationarticle-navigation.blade.php#?blade
    • 1x components.text-editortext-editor.blade.php#?blade
    • 1x components.share-listshare-list.blade.php#?blade
    • 1x repeatable.trading-tabletrading-table.blade.php#?blade
    • 6x repeatable.trading-table-labelstrading-table-labels.blade.php#?blade
    • 24x repeatable.trading-table-rowtrading-table-row.blade.php#?blade
    • 3x components.page-advertpage-advert.blade.php#?blade
    • 38x components.strapi-imgstrapi-img.blade.php#?blade
    • 1x components.news-columnnews-column.blade.php#?blade
    • 3x components.spacerspacer.blade.php#?blade
    • 1x components.news-rownews-row.blade.php#?blade
    • 1x layouts.mainmain.blade.php#?blade
    • 1x csscss.blade.php#?blade
    • 1x scripts.hrefmaphrefmap.blade.php#?blade
    • 1x layouts.headerheader.blade.php#?blade
    • 1x layouts.header.mobile-login-buttonsmobile-login-buttons.blade.php#?blade
    • 1x layouts.header.mobile-searchmobile-search.blade.php#?blade
    • 2x repeatable.languageslanguages.blade.php#?blade
    • 1x layouts.header.menumenu.blade.php#?blade
    • 1x layouts.header.search-togglesearch-toggle.blade.php#?blade
    • 1x layouts.header.login-buttonslogin-buttons.blade.php#?blade
    • 1x components.search-resultssearch-results.blade.php#?blade
    • 1x components.blur-animationblur-animation.blade.php#?blade
    • 1x layouts.floating.cookiescookies.blade.php#?blade
    • 1x scripts.breadcrumbsbreadcrumbs.blade.php#?blade
    • 1x components.corner-advertcorner-advert.blade.php#?blade
    • 1x layouts.footerfooter.blade.php#?blade
    • 1x scripts.functionalfunctional.blade.php#?blade
    • 1x scripts.trackingtracking.blade.php#?blade
    uri
    GET news/{slug}
    middleware
    web, SetDomain, GoMarkets, setlocale, trackingparams, redirects, Logout, pagecache, setrisk, gettranslations, getglobalsettings, urlstructure, saveReferral
    controller
    App\Http\Controllers\DynamicContentController@getNewsFromCollection
    file
    app/Http/Controllers/DynamicContentController.php:370-421
    0 statements were executed0μs
          _token
          kcBP42571Z6oXgctRVd2Gpc71EjxFwBeP81FSxyK
          ClearShow all
          Date ↕MethodURLData
          #12025-04-26 02:45:55GET/news/stocks-drop-with-little-on-the-calendar/34102