Expiration Dates

Futures instruments will be rolled over on the expiration dates as per the table below.

Expiration Dates Upcoming Holidays Trading Conditions Trading Hours

Stay informed when weekly expiration dates are near

  • Positions open at 21:00 GMT on the expiration date will be adjusted via a swap charge or credit to reflect the difference in price between the expiring and new contracts
  • To avoid rollovers, clients can close their futures positions before the expiration date.
  • Any existing pending order(s) (i.e. Stop Loss, Take Profit, Entry Stop or Entry Limit) placed on an instrument will be adjusted to symmetrically (point-for-point) reflect the price differences between the expiring contract and the new contract.

Instrument

Rollover Date

CFD

Spain35

11/04/2025

COPPER

18/04/2025

Amsterdam25

11/04/2025

VIXX

11/04/2025

HongKong45

18/04/2025

COTTON

11/04/2025

BrentOil

25/04/2025

SilverSI

18/04/2025

France40

11/04/2025

WHEAT

18/04/2025

SUGAR

18/04/2025

NaturalGas

18/04/2025

Oil

11/04/2025

CORN

18/04/2025

COCOA

11/04/2025

COFFEEC

11/04/2025

SettingsRequest history8.1.18PHP Version1.17sRequest Duration4MBMemory UsageGET {slug}/{slug2}
status
200 OK
full_url
https://web-qa.staging.markets.com/trade/expiration-dates
controller_action
App\Http\Controllers\DynamicContentController@getPageFromCollection
Theme
Open Button Position
Hide Empty Tabs
Autoshow
Reset to defaults
status
200 OK
full_url
https://web-qa.staging.markets.com/trade/expiration-dates
action_name
controller_action
App\Http\Controllers\DynamicContentController@getPageFromCollection
uri
GET {slug}/{slug2}
controller
App\Http\Controllers\DynamicContentController@getPageFromCollection
file
app/Http/Controllers/DynamicContentController.php:311-368
middleware
web, SetDomain, GoMarkets, setlocale, trackingparams, redirects, Logout, pagecache, setrisk, gettranslations, getglobalsettings, urlstructure, saveReferral
duration
1.17s
peak_memory
4MB
response
text/html; charset=UTF-8
request_format
html
request_query
[]
request_request
[]
request_headers
0 of 0
array:15 [ "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
[]
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 => "Sun, 06 Apr 2025 02:58:07 GMT" ] ]
session_attributes
0 of 0
array:1 [ "_token" => "KXtxFmQFeOHezfCuECsLyoJ25Xu02vt3Kn3uDJCE" ]
  • warninglog[02:58:06] LOG.warning: explode(): Passing null to parameter #2 ($string) of type string is deprecat...
  • infolog[02:58:06] LOG.info: api_619a74ac952334a520f55cd4c83ada3e [ "\/trade\/expiration-dates\/", 3...
  • infolog[02:58:06] LOG.info: api_3e58e8b59d4df0eeee5559686fed7a6a [ "\/trade\/expiration-dates\/", 3...
  • warninglog[02:58:07] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:58:07] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:58:07] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:58:07] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:58:07] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:58:07] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • infolog[02:58:07] LOG.info: api_bd42749c33ce5aef1c557549817c9bfa [ "\/trade\/expiration-dates\/", 3...
  • warninglog[02:58:07] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:58:07] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:58:07] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:58:07] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:58:07] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:58:07] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:58:07] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:58:07] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:58:07] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:58:07] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:58:07] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:58:07] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:58:07] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:58:07] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:58:07] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:58:07] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:58:07] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:58:07] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:58:07] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:58:07] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:58:07] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:58:07] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:58:07] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:58:07] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • infolog[02:58:07] LOG.info: page_6cf9be35dd9fc5d43f6ec5cf97568aae [ "\/trade\/expiration-dates\/", ...
  • Booting (22.61ms)time
  • Application (1.15s)time
  • Routing (13.48ms)
  • 1 x Application (98.07%)
    1.15s
    1 x Booting (1.93%)
    22.61ms
    1 x Routing (1.15%)
    13.48ms
    69 templates were rendered
    • 1x dynamic-contentdynamic-content.blade.php#?blade
    • 11x repeatable._include-blocks_include-blocks.blade.php#?blade
    • 3x components.spacerspacer.blade.php#?blade
    • 1x components.center-textcenter-text.blade.php#?blade
    • 1x components.tabstabs.blade.php#?blade
    • 2x components.stylesstyles.blade.php#?blade
    • 2x components.text-editortext-editor.blade.php#?blade
    • 2x components.blur-animationblur-animation.blade.php#?blade
    • 1x components.expiration-datesexpiration-dates.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 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
    • 27x components.strapi-imgstrapi-img.blade.php#?blade
    • 1x scripts.functionalfunctional.blade.php#?blade
    • 1x scripts.trackingtracking.blade.php#?blade
    uri
    GET {slug}/{slug2}
    middleware
    web, SetDomain, GoMarkets, setlocale, trackingparams, redirects, Logout, pagecache, setrisk, gettranslations, getglobalsettings, urlstructure, saveReferral
    controller
    App\Http\Controllers\DynamicContentController@getPageFromCollection
    file
    app/Http/Controllers/DynamicContentController.php:311-368
    0 statements were executed0μs
          _token
          KXtxFmQFeOHezfCuECsLyoJ25Xu02vt3Kn3uDJCE
          ClearShow all
          Date ↕MethodURLData
          #12025-04-06 02:58:07GET/trade/expiration-dates/3569