About TradingSurv
TradingSurv is a surveillance console for European wholesale power markets. Its output is read by someone deciding whether to escalate a delivery hour to a regulator, which is the fact that determines almost everything about how it is built.
The problem it exists for
European power markets publish a great deal of data and very little explanation. A day-ahead price is one number standing in for an order book nobody outside the exchange sees, and the aggregated curves that do get published disappear within a day or two.
So the question a compliance analyst actually has — why did this hour clear where it did — has no direct answer available. TradingSurv exists to construct one from data that is published, and to be specific about the hours where the construction fails.
What it is honest about
Every finding is an indicator for human review, never a determination that abuse occurred. A price a reconstruction cannot explain is usually a price with an explanation the model cannot see: an unpublished outage, a constraint, a hedge. A tool that asserted otherwise would be wrong most of the time it fired, and the analyst relying on it would find that out in front of a regulator.
So model error is reported alongside every finding, calibrated walk-forward rather than fitted on the data it is evaluated against. A gap inside that error is reported as inside it. Zones without enough history to calibrate say so instead of returning a confident number.
How it is built
- Store what cannot be re-fetched. Raw payloads are archived before parsing, because most upstreams serve a narrow window and the day you need is always outside it.
- Derive status, never declare it. A flag no code reads is a lie waiting to happen — so “this source is collecting” is computed from what the scheduler expects, including on this website.
- “Ran successfully” is not “collected something.” A job that succeeds with zero rows is the loudest alarm in the system, not a quiet one.
- Say which kind of empty it is. Not-published, collecting, missing, expired, unavailable and retired are six different situations, and only one of them is a fault.
Scope, as of today
The product covers the published market: day-ahead, the three intraday auctions, and continuous intraday across EU and UK bidding zones. It does not see a firm’s own order and trade feed, so post-trade algo controls — orders per second, price and volume collars, T+1 verification — are roadmap rather than product.
Regions beyond EU and UK power are also roadmap. Describing either in the present tense would be the exact failure this product is built to avoid.