The epftoolbox is the first open-access library for driving research in electricity price forecasting. Its main goal is to make available a set of tools that ensure reproducibility and establish research standards in electricity price forecasting research.
The library has been developed as part of the following article:
- Jesus Lago, Grzegorz Marcjasz, Bart De Schutter, Rafał Weron. "Forecasting day-ahead electricity prices: A review of state-of-the-art algorithms, best practices and an open-access benchmark". Applied Energy 2021; 293:116983. https://doi.org/10.1016/j.apenergy.2021.116983.
The library is distributed under the AGPL-3.0 License and it is built on top of scikit-learn, tensorflow, keras, hyperopt, statsmodels, numpy, and pandas.
Website: https://epftoolbox.readthedocs.io/en/latest/
Download the repository and navigate into the folder
$ git clone https://github.com/jeslago/epftoolbox.git
$ cd epftoolbox
[Optional] Create an environment to avoid conflicts, e.g. using conda:
conda create --name epftoolbox python=3.10
conda activate epftoolbox
Install using pip
$ pip install .
Navigate to the examples folder and check the existing examples to get you started. The examples include several applications of the two state-of-the art forecasting model: a deep neural net and the LEAR model.
The installation will fail if tensorflow requirements are not met. As of 2023/11/13, they require a python version between 3.9 and 3.11 and a 64bits python version.
For any other problem, open an issue.
The documentation can be found here. It provides an introduction to the library features and explains all functionalities in detail. Note that the documentation is still being built and some functionalities are still undocumented.
The library provides easy access to a set of tools and benchmarks that can be used to evaluate and compare new methods for electricity price forecasting.
The library includes two state-of-the-art forecasting models that can be automatically employed in any day-ahead market without the need of expert knowledge. At the moment, the library comprises two main models:
- One based on a deep neural network
- A second based on an autoregressive model with LASSO regulazariton (LEAR).
Standard evaluation metrics for electricity price forecasting including:
- Multiple scalar metrics like MAE, sMAPE, or MASE.
- Two statistical tests (Diebold-Mariano and Giacomini-White) to evaluate statistical differents in forecasting performance.
Easy access to five datasets comprising 6 years of data each and representing five different day-ahead electricity markets:
- The datasets represents the EPEX-BE, EPEX-FR, EPEX-DE, NordPool, and PJM markets.
- Each dataset contains historical prices plus two time series representing exogenous inputs.
Readily available forecasts of the state-of-the-art methods so that researchers can evaluate new methods without re-estimating the models.
If you use the epftoolbox in a scientific publication, we would appreciate citations to the following paper:
- Jesus Lago, Grzegorz Marcjasz, Bart De Schutter, Rafał Weron. "Forecasting day-ahead electricity prices: A review of state-of-the-art algorithms, best practices and an open-access benchmark". Applied Energy 2021; 293:116983. https://doi.org/10.1016/j.apenergy.2021.116983.
Bibtex entry::
@article{epftoolbox,
title = {Forecasting day-ahead electricity prices: A review of state-of-the-art algorithms, best practices and an open-access benchmark},
journal = {Applied Energy},
volume = {293},
pages = {116983},
year = {2021},
doi = {https://doi.org/10.1016/j.apenergy.2021.116983},
author = {Jesus Lago and Grzegorz Marcjasz and Bart {De Schutter} and Rafał Weron}
}