Configure trading calendars
Give a market an IANA timezone, a weekly session template, and dated exceptions so it opens through a preopen auction and closes on schedule, and override the calendar when a session must move.
A trading calendar turns a continuously trading market into a session-aware one. You give the market an IANA timezone, a weekly template with preopen, open, and close times per traded weekday, and dated exceptions for holidays and half-days. From then on, the platform runs the sessions automatically. Orders collect during preopen with a live indicative price, the book opens through a call auction at a randomized instant inside the published window, and the session closes with an official closing price. A market without a calendar trades continuously around the clock.
Before you start
- You hold the venue-operator role: platform administrator or organization owner.
- The market is listed. Continuous and auction-only markets both take calendars; an auction-only market needs one to trade at all.
What the calendar drives
| Phase | Trigger | What the market does |
|---|---|---|
| Preopen | The template's preopen time | Orders collect with reservations, no matching. The indicative auction price and matchable quantity publish live. |
| Open | A randomized instant within the venue's published window after the scheduled open time | The book uncrosses once at the uniform clearing price. The remainder rests at its original price-time priority, and continuous matching begins. |
| Closed | The template's close time | New orders are refused. The official closing price is computed and published. Good-till-cancelled orders and their reservations persist to the next session. |
Session transitions behave like a halt at the boundary: they stop matching and new order acceptance, cancel nothing, and let already-staged settlement batches complete. The trading screen shows traders the session state and the next scheduled transition.
The exact opening instant is deliberately unpredictable. The calendar publishes the scheduled open time and the width of the uncross window; the drawn instant inside that window is never disclosed, so nobody can game the last moment before the uncross.
Set the calendar
Open the calendar editor
Go to Venue operations, open the market, and open Trading calendar.
Choose the timezone
Pick the market's IANA timezone, for example Europe/Brussels. All template times are wall-clock times in this zone, and they stay at the same wall-clock hour across daylight-saving changes.
Fill the weekly template
For each traded weekday, set the preopen, open, and close times, for example preopen 08:00, open 09:00, close 17:30. A weekday without a row has no session, so leave the weekend empty for a five-day market. Times must satisfy preopen before or at open, and open before close.
Add dated exceptions
Add a closed exception for each holiday: that date has no sessions at all. Add an open exception with its own times for a half-day: those times replace the weekday template for that date.
Save
Save the calendar. Upcoming sessions materialize from it, and the market detail shows each occurrence with its scheduled boundaries and, after the close, the session's official closing price.
Override a session
Overrides are calendar edits that take effect from now. There is no separate override object to manage or clean up.
| Goal | Edit |
|---|---|
| Delay today's open | Add an open exception for today with a later open time. |
| Extend today's session | Add an open exception for today with a later close time. |
| Close early | Add an open exception for today with an earlier close time. |
| Cancel today's sessions | Add a closed exception for today. |
Sessions that have not started re-materialize from the edited calendar, and an in-progress session is re-bounded. Manual halt and resume stay available in every session state as a separate control; a halt never touches the calendar.
The official closing price
At each close, the market computes an official closing price by the methodology set on the market's settings. The methodology is the last settlement-confirmed trade of the session, or a volume-weighted average price over a configured window before the close. Busted trades are excluded. The close publishes to the platform's price-feed infrastructure as a new observation marked as the official close, and it anchors the next session's static price band. A session without trades publishes no close.
Troubleshooting
| Issue | What to check |
|---|---|
| The market never leaves closed | The weekly template has no row for today's weekday, or a closed exception covers today. |
| The open happened later than the open time | That is the design: the uncross happens at an undisclosed instant within the published window after the scheduled open. |
| A holiday session still ran | The exception date must be the market's local date in its timezone, not your own. |
| Orders are refused outside the session | That is the design: a closed market refuses new orders. Resting good-till-cancelled orders persist and their expiries keep running. |
Related operations
- Trading venue market structure for the session and auction model behind the calendar
- Run private markets for auction-only markets with restricted participation
- Set price bands and thresholds for the static band the session anchors
- Trade through sessions and auctions for the API view of sessions and the calendar
List a Trading Venue market
Request a new market with the new-market wizard, then complete the listing ceremony: custodian-role grants from each issuer, feed-writer registration, and fee-account eligibility.
Run auction-only private markets on the Trading Venue
Create an auction-only private market, administer its approved-participant list, and understand what non-members can and cannot see, including the market's intentionally public on-chain footprint.