The next hour is fairly predictable: log loss 4.9% lower than the benchmark, and picking a side earns 12.5 €/MWh (DM p < 0.001). Tomorrow only a little: log loss 1.5% lower, and picking a side earns 1.1 €/MWh, which is not significant (DM p = 0.275). Before the auction it is about the same, 1.4% lower log loss, and the day-ahead to imbalance test doesn’t pass its rule. So the edge is in the next hour, which is traded on the intraday market. Its prices aren’t public, so spot stands in for them here.
Backtest: each quarter forecast with only the data known at the time, but the forecasts were made afterwards. The live forecasts are on the main page.
Backtest 02 Nov 2025 to 10 Oct 2026, 343 days, all horizons on the same days.
Log loss 4.9% lower than the benchmark for the next hour (DM p < 0.001), 2.0% three to four hours ahead and 1.5% for tomorrow (DM p < 0.001). Imbalances are the errors in everyone’s plans, so most are surprises.
Spread: pinball loss 5.7% lower for the next hour and 2.3% for tomorrow. Knowing the direction would make it 39% lower, so most of the uncertainty is the direction.
Picking a side with the expected spread (1 MWh at the imbalance price or at spot) earns 12.5 €/MWh for the next hour (DM p < 0.001) and 1.1 €/MWh for tomorrow (DM p = 0.275). The benchmark earns 0.0 €/MWh and −0.4 €/MWh, knowing the direction 51.8 €/MWh. Spot stands in for the intraday price, which isn’t public.
| Horizon | Model | Log loss | Skill | DM p vs benchmark |
|---|---|---|---|---|
| 0–1 h | Ensemble | 0.947 | 4.9% | <0.001 |
| 0–1 h | XGBoost | 0.952 | 4.4% | <0.001 |
| 0–1 h | Multinomial lasso | 0.956 | 4.0% | <0.001 |
| 0–1 h | Benchmark (last 28 days) | 0.996 | 0.0% | |
| 1–2 h | Ensemble | 0.970 | 2.7% | <0.001 |
| 1–2 h | XGBoost | 0.975 | 2.1% | <0.001 |
| 1–2 h | Multinomial lasso | 0.975 | 2.1% | <0.001 |
| 1–2 h | Benchmark (last 28 days) | 0.996 | 0.0% | |
| 2–3 h | Ensemble | 0.974 | 2.2% | <0.001 |
| 2–3 h | XGBoost | 0.978 | 1.8% | <0.001 |
| 2–3 h | Multinomial lasso | 0.980 | 1.7% | <0.001 |
| 2–3 h | Benchmark (last 28 days) | 0.996 | 0.0% | |
| 3–4 h | Ensemble | 0.976 | 2.0% | <0.001 |
| 3–4 h | XGBoost | 0.981 | 1.6% | <0.001 |
| 3–4 h | Multinomial lasso | 0.981 | 1.5% | <0.001 |
| 3–4 h | Benchmark (last 28 days) | 0.996 | 0.0% | |
| Day-ahead | Ensemble | 0.979 | 1.5% | <0.001 |
| Day-ahead | Multinomial lasso | 0.983 | 1.2% | <0.001 |
| Day-ahead | XGBoost | 0.988 | 0.6% | 0.125 |
| Day-ahead | Benchmark (last 28 days) | 0.994 | 0.0% |
| Horizon | Pinball ensemble | Pinball benchmark | Skill | DM p | Value ensemble (€/MWh) | Value benchmark | DM p | Value, direction known |
|---|---|---|---|---|---|---|---|---|
| 0–1 h | 17.0 | 18.0 | 5.7% | <0.001 | 12.5 | 0.0 | <0.001 | 51.8 |
| 1–2 h | 17.5 | 18.0 | 3.0% | <0.001 | 4.3 | 0.1 | 0.001 | 51.7 |
| 2–3 h | 17.5 | 18.0 | 2.8% | <0.001 | 3.1 | 0.1 | 0.044 | 51.7 |
| 3–4 h | 17.5 | 18.0 | 2.6% | <0.001 | 2.6 | 0.0 | 0.060 | 51.7 |
| Day-ahead | 17.6 | 18.0 | 2.3% | <0.001 | 1.1 | -0.4 | 0.275 | 51.7 |
Can tomorrow’s imbalance be forecast well enough before the auction to be worth a position? Buy (or sell) 1 MW on the day-ahead auction for a quarter and don’t deliver it: the position is settled at the imbalance price, so it earns the imbalance price minus spot (or spot minus the imbalance price). The decision is made at about 10:45 the day before, before the auction, with imbalances up to 09:00 and the price forecast in place of the spot price. Long if the expected spread is above the fees, short if below minus the fees. Fees: Nord Pool 0.055 and eSett’s imbalance fee 0.133 €/MWh.
Backtest 02 Nov 2025 to 10 Oct 2026, 343 days. With 1 MW the forecast’s positions earned 37 € a day after fees (12,719 € in total, 1.6 € per MWh traded), p = 0.128 with Newey-West. It made 29 € a day more than the benchmark forecast, 57 € more than always long and 27 € more than always short, with Holm p = 0.56. By the rule set before running, that is not enough to call it worth trading. It runs live as paper trading anyway, as the real test. Knowing the direction in advance would earn 1,237 € a day, so nearly all the money is in the direction, which is hard to see the day before.
The rule was set and committed before the backtest was run: worth trading only if the mean daily P&L is above 0 with p < 0.05 and it beats the benchmark forecast, always long and always short with p < 0.05 (Holm).
| Strategy | € a day | Total | p (Newey-West) | Days in profit | Worst day | Best day | Quarters traded |
|---|---|---|---|---|---|---|---|
| Forecast | 37 | 12,719 | 0.128 | 54% | -2,085 | 1,885 | 99% |
| Benchmark forecast | 8 | 2,754 | 0.712 | 49% | -2,095 | 1,897 | 99% |
| Always long | -20 | -6,704 | 0.586 | 44% | -2,034 | 2,867 | 100% |
| Always short | 11 | 3,609 | 0.770 | 56% | -2,876 | 2,025 | 100% |
| Perfect foresight | 1,237 | 424,281 | 100% | 273 | 3,870 | 77% |
| Versus | € a day more | p | p (Holm) |
|---|---|---|---|
| Benchmark forecast | 29.1 | 0.236 | 0.557 |
| Always long | 56.6 | 0.186 | 0.557 |
| Always short | 26.6 | 0.546 | 0.557 |