Market coverage: bidding zones, auctions and products
38 European bidding zones across 24 countries, 13 bid-curve clusters over 4 auctions, Italy's 4 auctions published per zone rather than per cluster, and 23 continuous intraday market areas. Where a combination is not covered, this page says so rather than leaving the row out.
Bidding zones
Day-ahead prices, load and generation are collected for every zone below. Bid curves are published at cluster level, so a zone inherits its cluster’s coverage. Italy is the exception, and the reason its rows read “per zone” below rather than naming a cluster: its own exchange publishes a curve for each zone separately, read live at request time instead of captured nightly. Continuous intraday (SIDC) reaches a different set of areas again; the three deliberately do not line up.
| Zone | Name | Currency | Day-ahead | Bid curves | Continuous |
|---|---|---|---|---|---|
| Central Western Europe | |||||
| DE-LU | Germany-Luxembourg | EUR | yes | DE-LU | yes |
| FR | France | EUR | yes | FR | yes |
| NL | Netherlands | EUR | yes | NL | yes |
| BE | Belgium | EUR | yes | BE | yes |
| AT | Austria | EUR | yes | AT | yes |
| CH | Switzerland | EUR | yes | no | yes |
| Nordics | |||||
| DK1 | Denmark West | EUR | yes | DK | yes |
| DK2 | Denmark East | EUR | yes | DK | yes |
| NO1 | Norway NO1 (Oslo) | EUR | yes | NO | yes |
| NO2 | Norway NO2 (Kristiansand) | EUR | yes | NO | yes |
| NO3 | Norway NO3 (Trondheim) | EUR | yes | NO | yes |
| NO4 | Norway NO4 (Tromsø) | EUR | yes | NO | yes |
| NO5 | Norway NO5 (Bergen) | EUR | yes | NO | yes |
| SE1 | Sweden SE1 (Luleå) | EUR | yes | SE | yes |
| SE2 | Sweden SE2 (Sundsvall) | EUR | yes | SE | yes |
| SE3 | Sweden SE3 (Stockholm) | EUR | yes | SE | yes |
| SE4 | Sweden SE4 (Malmö) | EUR | yes | SE | yes |
| FI | Finland | EUR | yes | FI | yes |
| Baltics | |||||
| EE | Estonia | EUR | yes | BALTIC | yes |
| LV | Latvia | EUR | yes | BALTIC | yes |
| LT | Lithuania | EUR | yes | BALTIC | yes |
| Central Eastern Europe | |||||
| PL | Poland | EUR | yes | PL | yes |
| CZ | Czech Republic | EUR | yes | no | no |
| SK | Slovakia | EUR | yes | no | no |
| HU | Hungary | EUR | yes | no | no |
| SI | Slovenia | EUR | yes | no | no |
| South Eastern Europe | |||||
| RO | Romania | EUR | yes | RO | no |
| BG | Bulgaria | EUR | yes | BG | no |
| Italy | |||||
| IT-North | Northern Italy | EUR | yes | per zone | no |
| IT-Centre-North | Central-northern Italy | EUR | yes | per zone | no |
| IT-Centre-South | Central-southern Italy | EUR | yes | per zone | no |
| IT-South | Southern Italy | EUR | yes | per zone | no |
| IT-Sicily | Sicily | EUR | yes | per zone | no |
| IT-Sardinia | Sardinia | EUR | yes | per zone | no |
| IT-Calabria | Calabria | EUR | yes | per zone | no |
| Iberia | |||||
| ES | Spain | EUR | yes | no | no |
| PT | Portugal | EUR | yes | no | no |
| Great Britain | |||||
| GB | Great Britain | GBP | yes | no | yes |
Auctions
Aggregated supply and demand curves are published for each cluster across the day-ahead auction and three intraday auctions, in gate-closure order:
| Auction | Code | Gate closure (market time) |
|---|---|---|
| Day-ahead | NPSDA | 12:00 on D-1 |
| Intraday auction 1 | IDA1 | 15:00 on D-1 |
| Intraday auction 2 | IDA2 | 22:00 on D-1 |
| Intraday auction 3 | IDA3 | 10:00 on D |
Curves are served by the exchange for the current and next delivery day only. TradingSurv captures each one while it is still served and replays it from the raw archive afterwards.
Italy clears its own four: MGP, MI-A1, MI-A2, MI-A3. Its exchange answers an arbitrary past delivery day for all of them, so they are read live rather than captured, and their history reaches back further than anything in the archive.
Bid-curve clusters
Orders are aggregated into 13 clusters rather than published per zone. A cluster spanning several zones has one curve covering all of them:
| Cluster | Region | Bidding zones |
|---|---|---|
| AT | CWE | AT |
| BE | CWE | BE |
| DE-LU | CWE | DE-LU |
| FR | CWE | FR |
| NL | CWE | NL |
| PL | CWE | PL |
| DK | Nordic | DK1, DK2 |
| FI | Nordic | FI |
| NO | Nordic | NO1, NO2, NO3, NO4, NO5 |
| SE | Nordic | SE1, SE2, SE3, SE4 |
| BALTIC | Baltic | EE, LV, LT |
| BG | SEE | BG |
| RO | SEE | RO |
What is not covered
Named, because a gap that is not named reads as a gap nobody noticed:
- Great Britain has no bid curve. GB clears through its own day-ahead auction and a GB-exclusive half-hourly day-ahead product; aggregated curves are not published for either.
- These zones have no published order book at all: CH, CZ, SK, HU, SI, ES, PT. Their day-ahead prices are collected; no exchange we can reach publishes an aggregated curve for them. The list is derived from the same registry the table above reads, so a zone that gains a curve leaves it here in the same change.
- Cross-zonal capacity is not ingested. Allocated and available transfer capacity are on the roadmap. Until then, coupling is approximated from interconnection topology and neighbouring prices, which is weakest in congested hours.
- Balancing and reserve markets are out of scope, other than GB imbalance pricing.
- No unit-level generation or ownership data. Screens work at zone and technology level, so attributing an indicator to a named participant is an analyst’s step, not the product’s.