OrderFusion: An Open-Source Deep Neural
Network for Intraday Price Forecasting

Contributors for OrderFusion+: Runyao Yu1,2,4, Derek W. Bunn4

Contributors for OrderFusion: Runyao Yu1,2,4, Yuchen Tao3, Fabian Leimgruber2, Tara Esterl2, Jochen Stiasny1, Derek W. Bunn4, Qingsong Wen5,6, Hongye Guo7, Jochen L. Cremer1,2

Affiliations: 1Delft University of Technology, 2Austrian Institute of Technology, 3RWTH Aachen, 4London Business School, 5Squirrel AI, 6University of Oxford, 7Tsinghua University

Overview

Structure of OrderFusion+ with seven blocks: calendar feature embedding, buy-side and sell-side order embedding, buy-sell fusion, dynamic mask sampling, aggregation, and trajectory forecasting.
The structure of OrderFusion+. The computation follows the sequence: (a) (b) (c) embed input features → (d) fuse buy and sell features → (f) aggregate fused features → (e) sample dynamic masks → (d) recompute cross-attention using sampled masks → (f) aggregate updated features → (g) produce probabilistic buy-sell price trajectory forecasts.
Trade prices of three delivery products on 23 July 2024, shown as bubbles sized by traded volume, buy-side and sell-side.
Three example delivery products traded on 23 July 2024 in the German market. (a) Delivery at 18:00: the price declines as delivery approaches. (b) Delivery at 19:00: the price rises, falls, and rises again as delivery approaches. (c) Delivery at 20:00: the price rises and then falls as delivery approaches. Traders can submit orders for several delivery products in parallel.
Seasonality of the intraday price trajectory across time of delivery, day of week and month of year.
Seasonality of the intraday price trajectory, aggregated over sides during the final 180 minutes before delivery in 2024. (a) Across the time of delivery, the price level is highest in the evening hours, shows a secondary peak in the morning, and is lowest in the early afternoon. (b) Across the day of the week, the price level is high on working days and decreases towards the weekend. (c) Across the month of the year, the price level is highest in winter and lower in the other months.

Features

Key feature comparison of OrderFusion and OrderFusion+.

FeatureOrderFusionOrderFusion+
Input Historical trades for
the target product
Trades for the target and neighboring
products, and dummy features
Output Price index (ID3 / ID2 / ID1)
with uncertainty
Buy-sell price trajectory
with uncertainty
Adaptiveness Fixed historical window, exhaustive
tuning of the trade cutoff
Dynamic historical window and neighboring
products, no trade cutoff tuning

Results

Testing performance of OrderFusion+ and the baselines. The testing is aggregated from the three folds, covering the full year 2024, and from the three forecasting origins of −180 min, −120 min, and −60 min. AQCE is reported in percentage (%). Lower values are better for AQL, AQCE, and MAE, while higher values are better for R². The best result is shown in bold, and the second-best is marked with underline.

ModelAQLAQCEMAE

Forecasts

Micro-level buy-sell trajectories. Pick a delivery product and a forecasting origin, then add the models you want to compare. Each model gets its own figure. Every 15-minute forecasting interval is drawn as a bar: the vertical line spans the 0.1 to 0.9 quantiles and the dot marks the 0.5 quantile. All times are delivery start times.

Models

Macro-level buy-sell indices. A single trajectory shows one product. To see how the market expectation moves as time goes by, from one delivery time to the next over a whole week, each product is summarized by one index per side: the mean VWAP over the forecasting window, and for the forecast the mean of each quantile over the same window. Following the indices along the delivery time shows whether a model tracks the daily price pattern, its turning points, and the spread between the buy and sell sides, and how wide its uncertainty is. The shaded bars span the 0.1 to 0.9 quantiles and the dark lines mark the 0.5 quantile.

Models

The download is one compressed file with the forecasts of all models for the full test year 2024. The Python reader retrieves any forecast with one line and needs only NumPy.

from read_forecasts import Forecasts
f = Forecasts("orderfusion_forecasts_2024.npz")
f.get("OrderFusionPlus", "2024-07-23 18:00", origin=-180)

Disclaimer. The forecasts and extracted VWAPs are derived information, impacted by missing sides, and not raw data from the commercial orderbook. The orderbook and any index sold by EPEX SPOT cannot be reproduced from them. The forecasts are AI-generated and do not represent data published by EPEX SPOT. The forecasts can only be used for research purpose and the usage must be approved by the authors of OrderFusion. The raw orderbook data cannot be provided by us and can be purchased from EPEX SPOT.

Cite

If you find our work useful or use our forecasts, please cite us.

OrderFusion+

Placeholder. The reference will be added once the paper is public.

OrderFusion

@article{YU2026105131,
  title   = {OrderFusion: Encoding orderbook for end-to-end probabilistic intraday electricity price forecasting},
  journal = {Advanced Engineering Informatics},
  volume  = {76},
  pages   = {105131},
  year    = {2026},
  issn    = {1474-0346},
  doi     = {https://doi.org/10.1016/j.aei.2026.105131},
  url     = {https://www.sciencedirect.com/science/article/pii/S1474034626008232},
  author  = {Runyao Yu and Yuchen Tao and Fabian Leimgruber and Tara Esterl and Jochen Stiasny and Derek W. Bunn and Qingsong Wen and Hongye Guo and Jochen L. Cremer},
}

We will keep upgrading OrderFusion by adding more features. If you have ideas to improve OrderFusion and want to contribute, please contact ryu@london.edu. If you are interested in other market price forecasting and want to know more, please visit our website www.deepprior.com.