Day-ahead auction surveillance and merit-order reconstruction

A day-ahead price is a single number standing in for thousands of orders nobody outside the exchange sees. Reconstruction is the attempt to explain that number from data that is published — and to be specific about the hours where the attempt fails.

The problem

European day-ahead markets clear once a day, per bidding zone, through market coupling. The result published is the clearing price and volume. The order book that produced it is not public, and for most zones the aggregated curves are published only briefly or not at all.

So an analyst looking at an unusual hour has the outcome and no mechanism. The question “why did this hour clear at that price” has no direct answer available, which is why it usually gets escalated on intuition or not at all.

How reconstruction works

01

Assemble the fundamentals

Load, generation by production type, installed and available capacity, and the day's outage notices for the zone — read from ENTSO-E and, for GB, Elexon BMRS.

02

Build the merit order

Each generation technology is placed by short-run marginal cost, with must-run and zero-marginal-cost output at the base. Net imports enter as a modelled block priced at a coupling reference derived from interconnected neighbours.

03

Clear against demand

Residual demand for the hour is met from the stack. The block that meets the last megawatt sets the reconstructed price.

04

Calibrate walk-forward

Cost parameters for a delivery day are fitted only on days that precede it. The residual distribution from that fit is the model's error, and it is out-of-sample by construction.

05

Screen, with the error attached

The gap between reconstructed and cleared price is compared against that error. A gap inside it is reported as inside it — not as a finding with a smaller number.

Counterfactual simulation

A reconstructed stack can be re-cleared with a change applied: a desk’s orders removed, re-priced, or re-sized. The output is the price the hour would have reached without that conduct.

This is the step that turns “the price was high” into a quantity — how much of the outturn is attributable to a specific position. It is also the step most easily over-read, so the same calibrated error applies to the counterfactual price as to the reconstructed one, and a difference inside that band is reported as no difference.

Where the reconstruction is weakest

Being honest about this is more useful than a headline accuracy figure, because it tells an analyst which findings to discount:

Hydro-dominated zones
Reservoir hydro has an opportunity cost, not a fuel cost. Its marginal price is a scheduling decision the model cannot observe, so Nordic and Alpine zones carry wider error.
Scarcity hours
Near the top of the stack, price is set by willingness to pay rather than by cost. Reconstruction has least to say exactly where prices are most extreme.
Cross-border constraints
Net imports are modelled from a coupling reference price over interconnected neighbours. Actual cross-zonal capacity — JAO and ENTSO-E ATC — is not yet ingested, so congested hours are approximated.
Unpublished outages
Capacity unavailable for a reason nobody published looks, to the model, like withholding. This is the most common cause of a false indicator and the reason findings are never determinations.

Bid curves, where they exist

Nord Pool publishes aggregated supply and demand curves for its clusters, covering day-ahead and the three intraday auctions. They are served for the current and next delivery day only — ask for the day before and the API returns 401.

TradingSurv captures them daily while they are still served and replays them from the raw archive afterwards, so the curve behind a delivery day remains readable long after the exchange stops answering for it. Where a real curve exists, the screens read it instead of the reconstruction.

Read next

Day-ahead auction surveillance and merit-order reconstruction — TradingSurv