Flagship 02 · Quantitative Energy Alpha · Time-Series Econometrics

Power Price Alpha Forecaster

A day-ahead forecaster for Great Britain half-hourly electricity settlement prices, validated walk-forward across 4.5 years of out-of-sample market data (77,109 settlement periods) with conformalized uncertainty intervals and simulated battery storage arbitrage.

Source on GitHub → Elexon BMRS · NESO · Open-Meteo 77,109 Out-of-Sample Periods 205 Tests Passing
MAE vs Strongest Baseline
+22.2%
vs same period two days ago
MAE vs Naive Baseline
+29.9%
vs same period last week
Out-of-Sample Size
77,109
730d train, 30d refit
Battery P&L Lift
+53.8%
£130.9k vs £85.1k naive schedule
Statistical Reconciliations: Why 22.2% vs 29.9%. The declared naive baseline in the codebase was same_period_last_week, against which XGBoost achieves a 29.9% MAE improvement (MAE 27.20 vs 38.80 £/MWh). However, the toughest persistence baseline is same_period_two_days_ago (MAE 34.95 £/MWh), yielding an honest 22.2% MAE improvement. Furthermore, the weather ablation experiment (re-running the entire 4.5-year walk-forward without weather features) yields MAE 30.22 £/MWh, also matching the 22.1% bracket.

1. Mathematical Validation & Statistical Significance

Time-series model comparisons cannot rely on plain paired t-tests due to serial autocorrelation. We evaluate model superiority using the rigorous Diebold-Mariano test:

Diebold-Mariano Loss Differential Hypothesis Test

For loss differential \(d_t = |e_{t, \text{naive}}| - |e_{t, \text{XGB}}|\), the test statistic accounts for autocorrelation:

\[ DM = \frac{\bar{d}}{\sqrt{\hat{\sigma}_d^2 / N}} \xrightarrow{d} \mathcal{N}(0, 1) \]

Empirical evaluation over 76,536 paired periods: \(DM = -28.39\) (\(p = 2.82 \times 10^{-177}\)), conclusively rejecting the null hypothesis of equal forecast accuracy in favor of XGBoost.

Conformal Prediction Interval Calibration

Raw quantile loss (\(\text{P10}\)–\(\text{P90}\)) optimizes the asymmetric pinball loss:

\[ \mathcal{L}_q(y, \hat{y}) = \max(q(y - \hat{y}), (1 - q)(\hat{y} - y)) \]

Because uncalibrated pinball intervals achieve only 50.2% empirical coverage during high-volatility regimes, we wrap predictions in a 60-day rolling conformal calibrator that restores empirical coverage to 75.6% on a nominal 80% interval.

2. Out-of-Sample Day Explorer & Battery Arbitrage Simulator

Inspect real out-of-sample days across market regimes. Every settlement price is what the GB market settled at; every forecast was generated at gate closure with zero look-ahead bias.

Half-Hourly Dispatch & Spread Explorer

Examines settled vs forecast prices across 48 half-hour settlement periods

Sampling Context
—
Market Regime
—
Day MAE
—
Simulated P&L
—

Half-Hourly Settlement Price vs Model Forecast

Settled Price (£/MWh) XGBoost Point Forecast Seasonal Naive Baseline

Battery Arbitrage Actions (1 MW / 2 MWh Battery)

Charges in the 4 cheapest forecast settlement periods, discharges in the 4 dearest — accounting for 85% round-trip efficiency, degradation, and £0.75/MWh transaction friction.

Charging (Energy Inflow) Discharging (Power Export)

3. Complete Baseline Matrix & Regime Breakdown

Performance audited across three distinct economic regimes: calm pre-crisis, the 2021–2022 European gas spike, and the post-crisis normalization.

Model Architecture MAE (£/MWh) RMSE (£/MWh) Bias (£/MWh) Improvement vs Baseline
XGBoost Walk-Forward (Full Weather) 27.20 51.34 -4.30 +29.9% vs Naive / +22.2% vs Strongest
Weather Ablation (No Meteorology) 30.22 55.61 -3.45 +22.1% vs Naive
Same Period Two Days Ago (Strongest Persistence) 34.95 65.31 +0.04 +9.9% vs Naive
Same Period Last Week (Declared Naive Baseline) 38.80 70.80 -0.05 0.0% (Declared Baseline)
Last Known Morning Shape 39.68 70.22 +1.94 -2.3% (Worst Persistence)