The euro neared parity with the dollar for the first time since 2002. It’s been on the slide for months, but the euro took a fresh low as fears mount Russia could cut off gas supplies to Europe this winter. French Economy and Finance Minister Bruno Le Maire warned over the weekend that there is a strong chance Moscow pulls the plug. This is further stoking recession fears in the bloc and the currency just cannot catch a bid. At this level there is a lot of interest so expect a robust defence before it eventually goes and then it gets messy. At some point the bears are just going to drive this right through the parity level and be done with it. When does the ECB act – fragmentation risks or not, the ECB is fiddling while the currency burns, causing worse inflation and more misery for the population. Time for an emergency inter-meeting hike to show they are serious – the market just doesn’t believe in the ECB any more. Inflation above 8% and interest rates remain negative….it’s madness. ZEW economic survey due up shortly…

There is not much relief for peers – sterling dipped to a new two-year low against the dollar, with GBPUSD below 1.1850. USDJPY rose clear of 137.750, a new 24-year low for the yen. At least the pound made a two-month high against the euro. The dollar continues to act as a haven, whilst the better-than-expected payrolls report on Friday lifted sentiment – the US economy is nowhere near where the UK or Eurozone are. The US also has a serious central bank, one that is far more credible than the disastrous ECB or BoE. Dollar index north of 108 this morning, new 20-year high.

The pressure on the euro and sterling reflects grave concern about the economic outlook. With inflation soaring and no plan to get it under control, the currencies are sitting ducks. UK retail sales fell at the fastest pace since the worst of the pandemic, all due to inflation. It’s this weird stagflation environment – you have a job but are generally just anxious and looking at rising costs with concern. 

European stock markets fell on Tuesday with just about every sector in the red – only utilities and telecoms managing to stay green. US stocks broke their 5-day win streak, the S&P 500 down over 1% and the Nasdaq sliding by more than 2%. After a decent ramp in the last week, we’re just starting to get the kind of earnings jitters we can expect. I’d anticipate the outlook will not be good. Overnight Asian stocks fell to a 2-year low. Oil also fell amid the risk-off tone – energy crisis in Europe, fresh covid outbreaks in China and central banks tightening all combining to sour investor mood. Treasury yields are lower, with the benchmark 10yr note under 2.94% having traded above 3% yesterday, recession fears driving inflation expectations lower. Push-pull of inflation vs recession continues to move markets….my bet is that inflation proves stickier than markets think. 

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 Version966msRequest Duration4MBMemory UsageGET news/{slug}
status
200 OK
full_url
https://web-qa.staging.markets.com/news/euro-near-parity-ecb-fiddles-currency-burns
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/euro-near-parity-ecb-fiddles-currency-burns
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
966ms
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 10:47:45 GMT" ] ]
session_attributes
0 of 0
array:1 [ "_token" => "88YzWQWHxEWOtfhBG6bxmIb9Gb4UMD5dMIuAaAfW" ]
  • infolog[10:47:45] LOG.info: api_6824a6effffeaa85d286433275045639 [ "\/news\/euro-near-parity-ecb-fiddle...
  • infolog[10:47:45] LOG.info: api_335e8a2077a63848a40b4fcdfe112c10 [ "\/news\/euro-near-parity-ecb-fiddle...
  • warninglog[10:47:45] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[10:47:45] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[10:47:45] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[10:47:45] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[10:47:45] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[10:47:45] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • infolog[10:47:45] LOG.info: api_1e43fd708c91b05e18e40a342dc597e1 [ "\/news\/euro-near-parity-ecb-fiddle...
  • infolog[10:47:45] LOG.info: api_8d05a1c65c20521a9c06cd8da403368c [ "\/news\/euro-near-parity-ecb-fiddle...
  • warninglog[10:47:45] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[10:47:45] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[10:47:45] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[10:47:45] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[10:47:45] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[10:47:45] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[10:47:45] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[10:47:45] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[10:47:45] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[10:47:45] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[10:47:45] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[10:47:45] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[10:47:45] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[10:47:45] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[10:47:45] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[10:47:45] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[10:47:45] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[10:47:45] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[10:47:45] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[10:47:45] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[10:47:45] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[10:47:45] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[10:47:45] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[10:47:45] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • infolog[10:47:45] LOG.info: page_7170861ebfb5841756561a6560af3f2e [ "\/news\/euro-near-parity-ecb-fiddl...
  • Booting (10.78ms)time
  • Application (955ms)time
  • Routing (1.15ms)
  • 1 x Application (98.88%)
    955ms
    1 x Booting (1.12%)
    10.78ms
    1 x Routing (0.12%)
    1.15ms
    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
          88YzWQWHxEWOtfhBG6bxmIb9Gb4UMD5dMIuAaAfW
          ClearShow all
          Date ↕MethodURLData
          #12025-04-26 10:47:45GET/news/euro-near-parity-ecb-fiddles-currency-burns/35102