REE/ESIOS Indicators
EPF ingests 16 real-time indicators from Red Electrica de Espana (REE) through their ESIOS API. These cover electricity demand, generation by technology, cross-border flows, and market prices.
API Configuration
- Base URL:
https://api.esios.ree.es/indicators - Authentication: API token required (free registration at ESIOS)
- Time aggregation: All requests use
time_agg=average
Hourly Indicators
Price
| ID | Column | Description |
|---|---|---|
| 600 | day_ahead_price | OMIE day-ahead market price (EUR/MWh) — target variable |
| 10211 | intraday_price | Intraday market price (EUR/MWh) |
The day-ahead price (indicator 600) uses additional geo-filtering: geo_trunc="country" and filter_geo="Espana" to retrieve Spain-specific prices.
Demand
| ID | Column | Description |
|---|---|---|
| 1293 | real_demand | Real-time peninsular demand (MW) |
| 544 | demand_forecast | Short-term demand forecast (MW) |
| 545 | demand_daily_forecast | Daily peninsular demand forecast (MW) |
Generation by Technology
| ID | Column | Description |
|---|---|---|
| 551 | wind_generation | Peninsular wind generation (MW) |
| 1295 | solar_pv_generation | Peninsular solar photovoltaic (MW) |
| 1294 | solar_thermal_gen | Peninsular solar thermal (MW) |
| 546 | hydro_generation | Peninsular hydroelectric (MW) |
| 549 | nuclear_generation | Peninsular nuclear (MW) |
| 550 | combined_cycle_gen | Peninsular combined cycle gas (MW) |
| 547 | coal_generation | Peninsular coal (MW) |
| 1297 | cogeneration | Peninsular cogeneration and waste (MW) |
| 10038 | fuel_gas_generation | Fuel/gas generation (MW) |
Cross-Border Interconnections
| ID | Column | Description |
|---|---|---|
| 10207 | france_interconnection | France exchange (MW, positive = import) |
| 10208 | portugal_interconnection | Portugal exchange (MW) |
| 10209 | morocco_interconnection | Morocco exchange (MW) |
Generation Forecasts
A separate set of indicators provides REE’s own generation forecasts, stored in a dedicated table:
| ID | Column | Description |
|---|---|---|
| 541 | wind_forecast | Wind generation forecast (MW) |
| 10034 | solar_forecast | Solar generation forecast (MW) |
| 544 | demand_forecast | Demand forecast (MW) |
These forecasts are used as forward-looking features for predictions at longer horizons where actual generation data is not yet available.
15-Minute Resolution
Since the OMIE MTU15 transition in October 2025, price indicator 600 provides genuine 15-minute price variation. Other indicators are also available at 15-minute resolution using time_trunc="fifteen_minutes".
The 15-minute table includes all generation and demand indicators but excludes the three interconnection indicators (10207, 10208, 10209) which remain hourly only.
Data Collection
Data is collected in two scenarios:
- Daily pipeline — Fetches the last 2 days of data to fill any gaps
- Historical backfill — Fetches data in date-range chunks for initial database population
All data is stored in a SQLite database with datetime_utc as the primary key. The collected_at timestamp tracks when each row was ingested.
How Indicators Become Features
Raw indicator values are not used directly as model features. Instead, they are transformed through feature engineering into derived signals:
- Generation mix ratios:
renewable_share,wind_share,solar_share,nuclear_share - Residual demand: total demand minus renewables minus nuclear
- Thermal dispatch indicator: whether combined cycle generation is active
- Net imports: sum of all interconnection flows
- Demand ramps: rate of change in demand
See the Feature Engineering section for complete details.