Back to overview

Bachelor's thesis · Aarhus University · 2026 · Grade 10

Electricity Price Forecasting in the Era of Foundation Models

A comparative analysis of classical econometrics, machine learning and zero-shot foundation models in European day-ahead markets

Full thesis available on request

The question

Renewables have changed how European power prices behave. With wind and solar at the bottom of the merit order, prices swing harder, spike more often and regularly go negative. Classical forecasting models struggle with that. Meanwhile, a new generation of pretrained "foundation" models promises forecasts without any training on your own data. The thesis asks a practical question: for a trader or utility bidding into the day-ahead auction, which generation of models actually forecasts best, and why does the answer differ from market to market?

Key findings

−43%

RMSE, CatBoost vs. best classical model (Germany)

Non-linear models win. Gradient-boosted trees (CatBoost) and a deep neural network (NHITS) beat every classical model in all six zones. Linear models can't capture the price spikes that the merit order creates.

38.8 → 21.8

Chronos RMSE in Germany, without vs. with market data

Market data beats model size. Foundation models that only see past prices (Chronos t5, Lag-Llama) lose everywhere; Lag-Llama does worse than a naïve benchmark. Give the same model family load, wind, solar, gas and CO₂ data and the error almost halves.

6 / 6

zones where Chronos V2 had the best prediction intervals

Risk matters as much as the point forecast. Classical models assume normal errors and get punished in the fat tails. Quantile-based ML models and multivariate foundation models map the real uncertainty far better, with the caveat that pretrained models may have seen parts of the test period.

DK1

hardest zone for 9 of 12 models

Market structure drives difficulty. Wind-heavy West Denmark is the hardest market for 9 of the 12 models. Hydro-based Norway gives most models their lowest errors, yet is hard to beat with anything smarter than yesterday's price.

Explore the results

Out-of-sample results for all 12 models, January 2023 to September 2024. Pick a bidding zone and a metric. Lower is better for every metric; the dashed line marks the daily naïve benchmark ("same as yesterday").

Bidding zone
Metric

  • Classical & benchmarks
  • Machine learning
  • Foundation models

Show as table

Source: thesis Table 6.1.

Six markets, six price regimes

The bidding zones were chosen to cover the main ways Europe generates power, so each model is tested against very different price dynamics.

DK1 West Denmark
Wind. Volatile supply shocks; the link between the Nordics and Germany.
DE-LU Germany/Luxembourg
Mixed, with large wind and solar. Europe's most liquid market and the regional price setter.
FR France
Nuclear baseload. Electric heating makes demand a strong driver.
PL Poland
Coal. Most exposed to gas and CO₂ prices.
ES Spain
Solar. Strong daily cycle; weakly interconnected.
NO2 Southern Norway
Hydro. Storable water smooths prices; almost no solar.

How it was done

Data

Hourly day-ahead prices from January 2020 to September 2024, covering the 2021–2023 energy crisis. Covariates: forecasted load, wind and solar, plus TTF gas and EU CO₂ prices. Everything is pulled through APIs (ENTSO-E, yfinance) for reproducibility, then cleaned and transformed in Python/pandas.

No look-ahead

Bids for tomorrow close at 12:00 today, so every model only gets information a trader would actually have at gate closure. Gas and CO₂ settlement prices are lagged a day, and afternoon hours are forecast two steps ahead.

Models

Benchmarks and classical models: daily and weekly seasonal naïve, ETS, SARIMAX, MSTL-ARIMAX. Machine learning: CatBoost (gradient-boosted trees) and NHITS (deep neural network). Foundation models, used zero-shot: TimeGPT, Chronos t5, Chronos V2, TimesFM 2.5, Lag-Llama.

Evaluation

Rolling-window out-of-sample forecasts from January 2023. Point accuracy via RMSE, MAE, WAPE and MASE; uncertainty via Winkler scores on 95% intervals; Diebold-Mariano tests to check that differences between models are statistically significant, not noise.

What to keep in mind

Pretrained foundation models are a black box when it comes to training data. TimeGPT, Chronos V2 and TimesFM may have seen European price data from the test period, which could flatter their results. The thesis flags this explicitly, and it's why the locally trained CatBoost and NHITS results are the most trustworthy evidence.

Tools

  • Python
  • pandas
  • statsforecast
  • statsmodels
  • CatBoost
  • ENTSO-E API
  • yfinance