It’s been a tough two months for investors. US stock markets have endured 8 straight weeks of losses. The S&P 500 flirted with bear market territory as it made a fresh low for the year but managed to eke out a tiny gain on Friday to sit down 18% this year. The Nasdaq fell again by 0.3% on Friday and is more than 27% lower for the year. The UK market has proved a lot more resilient – 19th century stocks doing well in 2022 as the real world bites back against the tech froth. The FTSE 100 is marginally higher this year. The run of losses in the US is stunning – the Dow Jones has not fallen for eight weeks in a row since 1923.

Risk is reasonably well bid this morning with gains for the main European indices and US stock futures are higher. The FTSE 100 rose about 1%, whilst the DAX added around 1.5% in early trade. Oil prices moved up with the broad risk bid and the dollar softer. Bonds were

Mixed bag in Asia overnight, where Joe Biden is on a tour and indicated he could look at easing China trade tariffs and announced a major new economic deal with Asian partners. Meanwhile, Australia’s new PM Albanese headed straight to Tokyo for a ‘Quad’ summit with the leaders of the US, Japan and India.

German Ifo business climate data showed rising price pressures are weighing on sentiment, albeit the headline reading of 93 was not as bad as feared. Last Friday we noted that German producer inflation had surged to 33.5% in April, levels that the ECB can no longer ignore.

US noises in Asia, particularly comments about the tariffs, maybe kindled some fleeting optimism in the market but it’s going to take more than this to reset the bear market, albeit the S&P 500 is now trading below its 10-year average PE for the first time since March 2020 and cash levels are extremely high. Vix is still snoozy under 30 and not evidencing severe stress and capitulation – everyone’s fear is that this doesn’t materialise and it’s just a 1970s grind lower.

Companies

Kingfisher rose as it reiterated profit guidance and said it was effectively managing inflation pressures. Reporting £3.2bn in sales for Q1, in line with expectations, management stuck to the 22/23 adjusted pre-tax profit guidance of c.£770m. The company also said it would return a further £300m in surplus capital via a share buyback programme. Sales momentum from the pandemic DIY boom seems to be following through and inflation is not proving as big a headache as it is for some retailers.

Kainos jumped 17% after reporting a 3% rise in profits on +26% organic revenue growth. The company said bookings rose 35% and it has a contracted backlog almost £260m, up 26%,

Zoom reports earnings after the close. Consensus EPS estimate is $0.9, down a third year-on-year, on revenues of $1.07B (+11.9%). Shares are down 50% YTD.

Charts

The US dollar was offered at the start of the week with risk currencies rising to their highest levels since the start of May. Risk is generally bid, which is lifting the likes of the Aussie, Kiwi and Sterling. The unwind in excessively long dollar positioning continues with majors notching gains this morning, building on last week’s rally. Clearance of the long-term 61.8% Fib level creates an opening back to 1.2640 area.

EURUSD still with bullish momentum, needs to clear the 1.0640 area.

Gold looking solid having recaptured the 200-day SMA, a bullish MACD crossover can be observed.

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.26sRequest Duration4MBMemory UsageGET news/{slug}
status
200 OK
full_url
https://web-qa.staging.markets.com/news/risk-bid-at-the-start-of-the-week
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/risk-bid-at-the-start-of-the-week
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.27s
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 => "XSRF-TOKEN=eyJpdiI6InFlLzFmTWRtK2tRbkozY2MyMkcwaWc9PSIsInZhbHVlIjoiVGJmcFIwcTZyeTJQOEJXaC9kZlJ3L3lXWGdrNUxkK2RHMWpkTmNRYTltamtjM3VTdFBQOXFuMWJSckduR2JJeFNBd1o4NWNnRlFJVHRiSVhZUEk2NU1Ya3oxYzArTjc1OEozSTVCYjVJd1NUVXl1cGh2SWxVUjkyV2NDTUplT1UiLCJtYWMiOiJkMDA2ZmFmNWY0ZTJkMzQ3N2NlZmFjYTFmMDRjOGMzNzcwODU3YThlMmE0NjgxNzQzMjVlMDA1ODNkZmM0OWYzIiwidGFnIjoiIn0%3D; laravel_session=eyJpdiI6IkVqK0NMZ2xOWExyMGRnMFdKNFBncWc9PSIsInZhbHVlIjoiR0J4dGhuV0lLaHduejAvTkgwSFlmbndWNEVmRkpMQnBRQnpBK3pMeXpvN01KcUdSb052Wmllei9MUTFoS0tTWmVQZU5kbUZYTUhGK1dTY2Y4RXp5QlpMWmVIMWxnbEk1L3FPY2IzN0FDUzdwRHdSZzFWWDdWNm5XemhQY04vOU0iLCJtYWMiOiJlZDI5ZjM0Y2QyNGZlNDZhYTllNjI0YmZiM2NhMjBlNmFjOTkxNzYxODAwZDI2MzdmOGEwZGEzMzFmMWU4YjM3IiwidGFnIjoiIn0%3D; mktloc=eyJpdiI6IjcxRTllWklXRVJJQ2xpbVNncjFxd2c9PSIsInZhbHVlIjoiOWM2N2FwQmZnMndpaGQzS2xQUXJ5dnlJZTA5WS9NT1NibWxzVHhPUThhV25USHpGSWtvSVNWUk5BbHFtbUhPRiIsIm1hYyI6IjE5NDI2ODZjNWQ1NTEzMDQ1ZWM4YzZkMTkyMzI0YmI0MzhkYTAwMDBjNTE4MGJkNDNiNzVlNDI3OWFkZWNmOWYiLCJ0YWciOiIifQ%3D%3D; firstURL=https://web-qa.staging.markets.com/da/about/faqs/deposits-and-withdrawals/; lastURL=https://web-qa.staging.markets.com/da/about/faqs/deposits-and-withdrawals/; intent_group=%252Fth%252Fabout%252Ffaqs%252Faccount-and-verification%252F; mktv4_ip_override=euXSRF-TOKEN=eyJpdiI6InFlLzFmTWRtK2tRbkozY2MyMkcwaWc9PSIsInZhbHVlIjoiVGJmcFIwcTZyeTJQOEJXaC9kZlJ3L3lXWGdrNUxkK2RHMWpkTmNRYTltamtjM3VTdFBQOXFuMWJSckduR2JJeFNBd1o4N" ] "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:7 [ "XSRF-TOKEN" => "t2Mi58Gnboe7ijkGN4hdLEh2TkzoqKoXOqjPVEmM" "laravel_session" => "d0IwKBF91D5oO6wgpxM8HKMDzdC0KWuzk0e0lvQ7" "mktloc" => "us,us" "firstURL" => null "lastURL" => null "intent_group" => null "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 00:58:28 GMT" ] ]
session_attributes
0 of 0
array:4 [ "_token" => "t2Mi58Gnboe7ijkGN4hdLEh2TkzoqKoXOqjPVEmM" "PHPDEBUGBAR_STACK_DATA" => [] "_previous" => array:1 [ "url" => "https://web-qa.staging.markets.com/csrf" ] "_flash" => array:2 [ "old" => [] "new" => [] ] ]
  • infolog[00:58:27] LOG.info: api_d34c285ff0659d3b1159ba50a97c6e5c [ "\/news\/risk-bid-at-the-start-of-th...
  • infolog[00:58:28] LOG.info: api_51c969dc386152ef0d2c45499ab70d66 [ "\/news\/risk-bid-at-the-start-of-th...
  • warninglog[00:58:28] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[00:58:28] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[00:58:28] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[00:58:28] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[00:58:28] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[00:58:28] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • infolog[00:58:28] LOG.info: api_567efdb316a8bf8198df5bbee0324cef [ "\/news\/risk-bid-at-the-start-of-th...
  • warninglog[00:58:28] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[00:58:28] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[00:58:28] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[00:58:28] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[00:58:28] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[00:58:28] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[00:58:28] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[00:58:28] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[00:58:28] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[00:58:28] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[00:58:28] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[00:58:28] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[00:58:28] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[00:58:28] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[00:58:28] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[00:58:28] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[00:58:28] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[00:58:28] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[00:58:28] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[00:58:28] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[00:58:28] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[00:58:28] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[00:58:28] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[00:58:28] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • infolog[00:58:28] LOG.info: page_a183ce6762441877e0531145dac9cbf1 [ "\/news\/risk-bid-at-the-start-of-t...
  • Booting (13.07ms)time
  • Application (1.25s)time
  • Routing (9.27ms)
  • 1 x Application (98.97%)
    1.25s
    1 x Booting (1.03%)
    13.07ms
    1 x Routing (0.73%)
    9.27ms
    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
          t2Mi58Gnboe7ijkGN4hdLEh2TkzoqKoXOqjPVEmM
          PHPDEBUGBAR_STACK_DATA
          []
          _previous
          array:1 [ "url" => "https://web-qa.staging.markets.com/csrf" ]
          _flash
          array:2 [ "old" => [] "new" => [] ]
          ClearShow all
          Date ↕MethodURLData
          #12025-04-26 00:58:28GET/news/risk-bid-at-the-start-of-the-week/34102