Data catalog
275 metrics across 19 categories. Every entry is reachable from Excel via ED.GET() / ED.RANGE() or a dedicated formula like ED.OMIE() / ED.CAPTURE().
⚡ Electricity Prices (12)
Day-ahead spot prices, intraday, PVPC regulated tariff
Day-ahead spot price
15-mindayaheadOMIE Iberian day-ahead electricity market price. Quarter-hourly since June 2025, hourly before.
=ED.OMIE()Continuous intraday (XBID) avg
hourlycontinuous_avgWeighted average price from the OMIE continuous intraday market (XBID platform). Scraped directly from OMIE file-download (not ESIOS).
=ED.GET("continuous_avg")Continuous intraday max
hourlycontinuous_maxMaximum price per quarter-hour from the OMIE continuous intraday (XBID) market.
=ED.GET("continuous_max")Continuous intraday min
hourlycontinuous_minMinimum price per quarter-hour from the OMIE continuous intraday (XBID) market.
=ED.GET("continuous_min")PVPC regulated tariff
hourlypvpcPrecio Voluntario para el Pequeno Consumidor -- regulated electricity price for households.
=ED.GET("pvpc")PVPC market component (10211)
hourlypvpc_finalESIOS labels this 'precio final suma de componentes' but it is actually the MARKET sub-component only — not the consumer-bill final price. For the actual end-user bill, sum the 10 pvpc_* itemised components (Spain System Cost category).
=ED.GET("pvpc_final")Intraday session 1 price
15-minintraday_s1_pricePrice from intraday auction session 1 (ES + PT). 15-min granularity since SDAC 15-min go-live (2025-09-30).
=ED.GET("intraday_s1_price")Intraday session 2 price
15-minintraday_s2_pricePrice from intraday auction session 2 (ES + PT). 15-min granularity since SDAC 15-min go-live (2025-09-30).
=ED.GET("intraday_s2_price")Intraday session 3 price
15-minintraday_s3_pricePrice from intraday auction session 3 (ES + PT). 15-min granularity since 2025-09-30; partial day coverage (~12h).
=ED.GET("intraday_s3_price")Intraday session 1 energy
hourlyintraday_s1_energyMatched energy volume in intraday auction session 1.
=ED.GET("intraday_s1_energy")Intraday session 2 energy
hourlyintraday_s2_energyMatched energy volume in intraday auction session 2.
=ED.GET("intraday_s2_energy")Intraday session 3 energy
hourlyintraday_s3_energyMatched energy volume in intraday auction session 3.
=ED.GET("intraday_s3_energy")🔋 Generation (24)
Real-time generation by technology from REE/ESIOS
Solar PV generation (post-2020)
hourlygen_solar_pvReal-time solar photovoltaic generation in the peninsular system. Available since 2015-06 when REE split the solar indicator. Night-time values can be slightly negative — plants draw a small amount from the grid for inverters/controls, which REE meters as negative generation. Normal behavior.
=ED.GET("gen_solar_pv")Solar thermal generation
hourlygen_solar_thermalConcentrated solar power (CSP/solar thermal) generation. Available since 2015-06.
=ED.GET("gen_solar_thermal")Solar PV generation (legacy)
hourlygen_solarLegacy 2020→ gen_solar_pvReal-time solar photovoltaic generation in the peninsular system. Pre-2020 combined solar indicator, kept for historical continuity. Note: ingest currently broken (last data 2026-04-15), see backlog.
=ED.GEN(1)Wind generation
hourlygen_windReal-time wind generation in the peninsular system.
=ED.GEN(2)Nuclear generation
hourlygen_nuclearReal-time nuclear generation (Almaraz, Asco, Cofrentes, Trillo, Vandellos).
=ED.GEN(3)Hydro generation
hourlygen_hydroReal-time conventional hydroelectric generation (UGH).
=ED.GEN(4)Gas CCGT generation
hourlygen_combined_cycleReal-time combined cycle gas turbine generation.
=ED.GEN(5)Coal generation
hourlygen_coalPhase-out 2025-07Real-time coal thermal generation.
=ED.GEN(6)International exchanges
hourlygen_exchangesNet international exchange balance in the peninsular system. Positive = import, negative = export.
=ED.GET("gen_exchanges")Biomass generation
hourlygen_biomassRenewable thermal: biomass + biogas + renewable waste. ES/PT from ESIOS "Térmica renovable" (id 1296, post-2020); FR/DE/BE/NL from ENTSO-E A75 "Biomass".
=ED.GET("gen_biomass")Oil generation
hourlygen_oilOil-fired generation. Available for PT, FR, DE via ENTSO-E.
=ED.GET("gen_oil")Geothermal generation
hourlygen_geothermalGeothermal generation (mainly FR). Via ENTSO-E.
=ED.GET("gen_geothermal")Other renewable generation
hourlygen_other_renewableOther renewable generation via ENTSO-E.
=ED.GET("gen_other_renewable")Waste generation
hourlygen_wasteWaste-to-energy generation via ENTSO-E.
=ED.GET("gen_waste")Other generation
hourlygen_otherCatch-all unclassified generation. ES/PT from ESIOS "Resto generación" (id 555); FR/DE/BE/NL from ENTSO-E A75.
=ED.GET("gen_other")Cogeneration generation
hourlygen_cogenerationCombined heat & power (CHP) plants — mostly natural gas — plus non-renewable waste. ESIOS id 1297. ~17 TWh/yr in Spain.
=ED.GET("gen_cogeneration")Fuel-gas generation
hourlygen_fuel_gasFuel oil + diesel thermal generation. ESIOS id 548. Small on the peninsular grid; bigger historically.
=ED.GET("gen_fuel_gas")Pumped-hydro generation
hourlygen_pumped_storagePumped-hydro plants generating (water turbining out of upper reservoir). ESIOS id 2066 (new indicator, available from end of 2024). ~3-5 TWh/yr in Spain.
=ED.GET("gen_pumped_storage")Pumped-hydro consumption
hourlygen_pumped_consumptionEnergy consumed when pumped-hydro plants are charging (pumping water uphill). Positive MW means energy drawn FROM the grid. ESIOS id 2065 (new indicator, available from end of 2024). Negate this if computing net pumped-hydro flow.
=ED.GET("gen_pumped_consumption")Total measured generation (official REE)
hourlygen_total_measuredSum of REE's per-province measured generation (ESIOS id 10043 "Generación medida total"). Settled / authoritative — this is the figure REE publishes in its monthly and annual reports. ~30 day lag (monthly settlement; REE publishes the previous month's data ~M+1). Hourly cadence. Already in MWh (energy integrated over the hour) so no MW→MWh conversion needed.
=ED.RANGE("gen_total_measured", "2025-01-01", "2025-12-31", 6, , 1, , , , 7)Total generation (all techs)
hourlygen_totalSum of every gen_* technology at each native timestamp — domestic production into the grid. Excludes gen_exchanges (interconnections).
=ED.RANGE("gen_total", "2025-01-01",, 6, , , , , , "MWh")Renewable generation total
hourlygen_renewableSum of renewable techs: solar PV, solar thermal, wind, hydro, biomass, geothermal, other_renewable. Pass unit=MWh for energy.
=ED.RANGE("gen_renewable", "2025-01-01",, 6, , , , , , "MWh")Thermal generation total
hourlygen_thermalSum of thermal techs: nuclear, combined-cycle gas, coal, oil. Includes nuclear (thermal but non-fossil). Pass unit=MWh for energy.
=ED.RANGE("gen_thermal", "2025-01-01",, 6, , , , , , "MWh")Fossil generation total
hourlygen_fossilSum of fossil-fuel techs: combined-cycle gas, coal, oil. Excludes nuclear by design (use gen_thermal for thermal-including-nuclear). Useful for emissions analysis. Pass unit=MWh for energy.
=ED.RANGE("gen_fossil", "2025-01-01",, 6, , , , , , "MWh")📊 Demand (3)
Electricity demand: real, forecast, and scheduled
Real demand
hourlydemand_realActual real-time electricity demand in the peninsular system.
=ED.GET("demand_real")Scheduled demand
hourlydemand_scheduledDay-ahead scheduled electricity demand.
=ED.GET("demand_scheduled")Demand forecast (D+1)
hourlydemand_forecastDay-ahead demand forecast for the peninsular system published by REE.
=ED.GET("demand_forecast")⚖️ Balancing Services (16)
Secondary (aFRR), tertiary (mFRR), and imbalance prices
aFRR band price (up)
quarter_hourlyafrr_band_price_upSecondary regulation band price for upward reserve.
=ED.GET("afrr_band_price_up")aFRR band price (down)
quarter_hourlyafrr_band_price_downSecondary regulation band price for downward reserve.
=ED.GET("afrr_band_price_down")aFRR energy price (up)
quarter_hourlyafrr_energy_price_upSecondary regulation energy activation price upward.
=ED.GET("afrr_energy_price_up")aFRR energy price (down)
quarter_hourlyafrr_energy_price_downSecondary regulation energy activation price downward.
=ED.GET("afrr_energy_price_down")aFRR band assigned (up)
quarter_hourlyafrr_band_upSecondary regulation upward band capacity assigned by REE.
=ED.GET("afrr_band_up")aFRR band assigned (down)
quarter_hourlyafrr_band_downSecondary regulation downward band capacity assigned by REE.
=ED.GET("afrr_band_down")aFRR energy activated (up)
quarter_hourlyafrr_energy_upSecondary regulation upward energy activated in real time.
=ED.GET("afrr_energy_up")aFRR energy activated (down)
quarter_hourlyafrr_energy_downSecondary regulation downward energy activated in real time.
=ED.GET("afrr_energy_down")mFRR-SA price (up)
hourlymfrr_sa_price_upTertiary regulation scheduled activation marginal price upward.
=ED.GET("mfrr_sa_price_up")mFRR-SA price (down)
hourlymfrr_sa_price_downTertiary regulation scheduled activation marginal price downward.
=ED.GET("mfrr_sa_price_down")mFRR-SA assigned energy (up)
hourlymfrr_sa_assign_upTertiary regulation scheduled activation upward energy assigned.
=ED.GET("mfrr_sa_assign_up")mFRR-SA assigned energy (down)
hourlymfrr_sa_assign_downTertiary regulation scheduled activation downward energy assigned.
=ED.GET("mfrr_sa_assign_down")mFRR-DA price (up)
hourlymfrr_da_price_upTertiary regulation direct activation weighted average price upward.
=ED.GET("mfrr_da_price_up")mFRR-DA price (down)
hourlymfrr_da_price_downTertiary regulation direct activation weighted average price downward.
=ED.GET("mfrr_da_price_down")mFRR-DA assigned energy (up)
hourlymfrr_da_assign_upTertiary regulation direct activation upward energy assigned.
=ED.GET("mfrr_da_assign_up")mFRR-DA assigned energy (down)
hourlymfrr_da_assign_downTertiary regulation direct activation downward energy assigned.
=ED.GET("mfrr_da_assign_down")⚖️ Imbalances (4)
System imbalance prices, direction flags, and deviation costs
Imbalance price (up)
hourlyimbalance_price_upImbalance settlement price for upward deviations.
=ED.GET("imbalance_price_up")Imbalance price (down)
hourlyimbalance_price_downImbalance settlement price for downward deviations.
=ED.GET("imbalance_price_down")Imbalance direction flag
hourlyimbalance_directionSystem imbalance direction indicator. +1 = system long (excess), -1 = system short (deficit).
=ED.GET("imbalance_direction")Imbalance cost vs day-ahead
hourlyimbalance_cost_deviationDeviation cost relative to the day-ahead price. Measures the penalty for being out of balance.
=ED.GET("imbalance_cost_deviation")🔧 Technical Constraints (20)
Redispatch Phase I, Phase II, real-time, costs, and curtailment (ERNI)
Redispatch Phase I price (up)
hourlyredispatch_daily_price_upAverage price for upward redispatch in day-ahead technical constraints resolution (RRTT PBF).
=ED.GET("redispatch_daily_price_up")Redispatch Phase I price (down)
hourlyredispatch_daily_price_downAverage price for downward redispatch in day-ahead technical constraints resolution.
=ED.GET("redispatch_daily_price_down")Redispatch Phase I energy (up)
hourlyredispatch_daily_energy_upEnergy redispatched upward in day-ahead technical constraints resolution.
=ED.GET("redispatch_daily_energy_up")Redispatch Phase I energy (down)
hourlyredispatch_daily_energy_downEnergy redispatched downward in day-ahead technical constraints resolution.
=ED.GET("redispatch_daily_energy_down")Redispatch Phase I total cost
hourlyredispatch_daily_costTotal cost of Phase I technical constraints resolution.
=ED.GET("redispatch_daily_cost")Redispatch Phase II price (up)
hourlyredispatch_daily2_price_upAverage price for upward redispatch in Phase II (intraday) technical constraints resolution.
=ED.GET("redispatch_daily2_price_up")Redispatch Phase II price (down)
hourlyredispatch_daily2_price_downAverage price for downward redispatch in Phase II (intraday) technical constraints.
=ED.GET("redispatch_daily2_price_down")Redispatch Phase II energy (up)
hourlyredispatch_daily2_energy_upEnergy redispatched upward in Phase II (intraday) technical constraints.
=ED.GET("redispatch_daily2_energy_up")Redispatch Phase II energy (down)
hourlyredispatch_daily2_energy_downEnergy redispatched downward in Phase II (intraday) technical constraints.
=ED.GET("redispatch_daily2_energy_down")Redispatch Phase II cost (down)
hourlyredispatch_daily2_cost_downCost of downward redispatch in Phase II technical constraints resolution.
=ED.GET("redispatch_daily2_cost_down")Redispatch real-time price (up)
hourlyredispatch_rt_price_upReal-time upward redispatch price from technical constraints in real-time operation.
=ED.GET("redispatch_rt_price_up")Redispatch real-time price (down)
hourlyredispatch_rt_price_downReal-time downward redispatch price from technical constraints in real-time operation.
=ED.GET("redispatch_rt_price_down")Redispatch real-time energy (up)
hourlyredispatch_rt_energy_upReal-time upward redispatch energy.
=ED.GET("redispatch_rt_energy_up")Redispatch real-time energy (down)
hourlyredispatch_rt_energy_downReal-time downward redispatch energy.
=ED.GET("redispatch_rt_energy_down")Redispatch real-time total cost
hourlyredispatch_rt_costTotal cost of real-time technical constraints.
=ED.GET("redispatch_rt_cost")Renewable curtailment (ERNI)
monthlycurtailment_pctPercentage of renewable energy not integrated due to technical constraints. Monthly cadence (REE publishes monthly summary).
=ED.GET("curtailment_pct")ERNI Phase I transmission
monthlyerni_pdbf_rttERNI percentage for Phase I (PBF) transmission network technical constraints. Monthly cadence.
=ED.GET("erni_pdbf_rtt")ERNI Phase I distribution
monthlyerni_pdbf_rtdERNI percentage for Phase I (PBF) distribution network technical constraints. Monthly cadence.
=ED.GET("erni_pdbf_rtd")ERNI real-time transmission
monthlyerni_tr_rttERNI percentage for real-time transmission network technical constraints. Monthly cadence.
=ED.GET("erni_tr_rtt")ERNI real-time distribution
monthlyerni_tr_rtdERNI percentage for real-time distribution network technical constraints. Monthly cadence.
=ED.GET("erni_tr_rtd")💰 System Cost (32)
Monthly price decomposition: day-ahead + RRTT + balancing
RRTT cost component
monthlycomponent_rrtt_monthlyMonthly cost of technical constraints per MWh of demand. Official REE calculation, ~2 month lag.
=ED.GET("component_rrtt_monthly")Ancillary services component
monthlycomponent_ancillary_monthlyMonthly total ancillary services cost (RRTT + balancing) per MWh.
=ED.GET("component_ancillary_monthly")Final price (all components)
monthlycomponent_final_price_monthlyMonthly final electricity price including all market components.
=ED.GET("component_final_price_monthly")PVPC: day-ahead + intraday market
hourlypvpc_dayahead_intradayEnergy procurement cost component of the PVPC final price — purely market-driven (OMIE day-ahead + intraday adjustments).
=ED.RANGE("pvpc_dayahead_intraday", "2024-01-01", "2024-12-31", 3)PVPC: ancillary services
hourlypvpc_ancillaryCost of system ancillary services (RRTT + secondary/tertiary band + imbalances) baked into the PVPC final price.
=ED.RANGE("pvpc_ancillary", "2024-01-01", "2024-12-31", 3)PVPC: tolls + system charges
hourlypvpc_tolls_chargesRegulated transmission/distribution toll. From 2021-06 also includes system charges (renewable subsidies, debt). Pre-2021 numbers exclude charges.
=ED.RANGE("pvpc_tolls_charges", "2024-01-01", "2024-12-31", 3)PVPC: capacity payment
hourlypvpc_capacity_paymentRegulated capacity-payment component (~3-5 EUR/MWh). Pays generators for being available at peak demand.
=ED.RANGE("pvpc_capacity_payment", "2024-01-01", "2024-12-31", 3)PVPC: interruptibility service
hourlypvpc_interruptibilityDeprecated 2022Industrial interruptibility service cost.
=ED.RANGE("pvpc_interruptibility", "2014-01-01", "2022-12-31", 3)PVPC: system operator (REE) fee
hourlypvpc_os_feeRegulated fee that funds REE (Red Eléctrica) — the Spanish TSO and System Operator (~0.5 EUR/MWh).
=ED.RANGE("pvpc_os_fee", "2024-01-01", "2024-12-31", 3)PVPC: market operator (OMIE) fee
hourlypvpc_om_feeRegulated fee that funds OMIE — the Iberian Market Operator (~0.05 EUR/MWh).
=ED.RANGE("pvpc_om_fee", "2024-01-01", "2024-12-31", 3)PVPC: commercialization cost
hourlypvpc_commercializationRegulated retailer-margin component (~3 EUR/MWh). Compensates the reference retailer (COR) for billing+service.
=ED.RANGE("pvpc_commercialization", "2024-01-01", "2024-12-31", 3)PVPC: renewable auction surplus/deficit
hourlypvpc_renewable_auctionNet of FER/REER renewable-auction settlements applied to PVPC. Variable; can be positive or negative. Available since 2021-06.
=ED.RANGE("pvpc_renewable_auction", "2024-01-01", "2024-12-31", 3)PVPC: MACP gas-cap surplus/deficit
hourlypvpc_macpStale 2024-04-02Net of the Iberian gas-cap mechanism (MACP / 'tope al gas') applied to PVPC. Available since 2022-06.
=ED.RANGE("pvpc_macp", "2022-06-01", "2024-04-02", 3)System cost: day-ahead market
monthlysystem_cost_dayaheadMonthly contribution of the OMIE day-ahead market to the system electricity cost (EUR/MWh of demand).
=ED.RANGE("system_cost_dayahead", "2024-01-01", "2024-12-31", 3)System cost: intraday market
monthlysystem_cost_intradayMonthly contribution of the OMIE intraday markets (sessions + continuous) to the system cost.
=ED.RANGE("system_cost_intraday", "2024-01-01", "2024-12-31", 3)System cost: RRTT Phase I
monthlysystem_cost_rrtt_phase1Monthly cost of Phase I technical constraints (PBF restrictions, D-1 ~16:00) per MWh of demand.
=ED.RANGE("system_cost_rrtt_phase1", "2024-01-01", "2024-12-31", 3)System cost: RRTT Phase II (historical, hourly)
hourlysystem_cost_rrtt_phase2Deprecated 2025-12-31Cost of Phase II technical constraints (intraday restrictions) per MWh of demand. Source ESIOS 809 (hourly). DISCONTINUED 2025-12-31 23:00 with the MIBEL 15-min settlement reform — for data from 2026-01-01 onwards use system_cost_rrtt_15m (ESIOS 10377). Historical 2014-2025 data preserved.
=ED.RANGE("system_cost_rrtt_phase2", "2014-01-01", "2025-12-31", 3)System cost: RRTT (15-min, post-2026)
quarter_hourlysystem_cost_rrtt_15mCost of technical-restrictions component per MWh of demand at quarter-hourly granularity. Source ESIOS 10377. Replaces system_cost_rrtt_phase2 from 2026-01-01 with the MIBEL 15-min settlement reform (EU MTU 15-min implementation). Variants 10378 (CR — comercializadores de referencia) / 10379 (CL — contratación libre) available if a specific resale segment is needed.
=ED.RANGE("system_cost_rrtt_15m", "2026-01-01", , 3)System cost: RRTT real-time
monthlysystem_cost_rrtt_rtMonthly cost of real-time technical constraints (RTRT) per MWh of demand. Often the largest of the three RRTT sub-components.
=ED.RANGE("system_cost_rrtt_rt", "2024-01-01", "2024-12-31", 3)System cost: additional power reserve (RPA)
monthlysystem_cost_reserve_additionalMonthly cost of the additional upward power reserve service per MWh of demand.
=ED.RANGE("system_cost_reserve_additional", "2024-01-01", "2024-12-31", 3)System cost: secondary band (AGC)
monthlysystem_cost_band_secondaryMonthly cost of secondary regulation band reservation (AGC) per MWh of demand.
=ED.RANGE("system_cost_band_secondary", "2024-01-01", "2024-12-31", 3)System cost: measured imbalances
monthlysystem_cost_imbalance_measuredMonthly cost passed through to demand from measured production imbalances per MWh.
=ED.RANGE("system_cost_imbalance_measured", "2024-01-01", "2024-12-31", 3)System cost: imbalance settlement balance
monthlysystem_cost_imbalance_balanceMonthly net imbalance settlement balance per MWh of demand.
=ED.RANGE("system_cost_imbalance_balance", "2024-01-01", "2024-12-31", 3)System cost: capacity payment
monthlysystem_cost_capacity_paymentMonthly capacity-payment system component per MWh of demand.
=ED.RANGE("system_cost_capacity_payment", "2024-01-01", "2024-12-31", 3)System cost: P.O.14.6 balance
monthlysystem_cost_po146Monthly balance of REE operating procedure P.O.14.6 (operational protocol) per MWh of demand.
=ED.RANGE("system_cost_po146", "2024-01-01", "2024-12-31", 3)System cost: UPG nomination failure (historical)
hourlysystem_cost_upg_failureDeprecated 2025-12-31Penalty for UPG nomination failures per MWh of demand. Source ESIOS 816 (hourly). DISCONTINUED 2025-12-31 23:00 with the MIBEL 15-min settlement reform — the concept was retired from the new market design; NO 15-min replacement exists. Historical 2014-2025 data preserved (~105k rows, mostly near-zero).
=ED.RANGE("system_cost_upg_failure", "2014-01-01", "2025-12-31", 3)System cost: interruptibility service
monthlysystem_cost_interruptibilityDeprecated 2020-06-01Monthly industrial-interruptibility cost per MWh of demand.
=ED.RANGE("system_cost_interruptibility", "2014-01-01", "2020-06-01", 3)System cost: RD-L 10/2022 RRTT + balance
monthlysystem_cost_rdl10_22_rrtt_balanceStale 2023-02-01Monthly cost of the post-2022 RD-L 10/2022 component for RRTT + balance markets per MWh of demand. Available since 2022-06.
=ED.RANGE("system_cost_rdl10_22_rrtt_balance", "2022-06-01", "2023-02-01", 3)System cost: RD-L 10/2022 market
monthlysystem_cost_rdl10_22_marketStale 2023-02-01Monthly cost of the post-2022 RD-L 10/2022 component for day-ahead + intraday market per MWh of demand. Available since 2022-06.
=ED.RANGE("system_cost_rdl10_22_market", "2022-06-01", "2023-02-01", 3)REER component (combined)
15-minreer_componentQuarter-hourly make-whole price for renewable-auction projects (REER). Positive when spot < strike (system pays projects); zero when spot >= strike. Combined retailer + COR view.
=ED.RANGE("reer_component", "2026-02-01", "2026-12-31", 3)REER component (COR)
15-minreer_component_corSame as reer_component but for Comercializadores de Referencia (regulated PVPC retailers).
=ED.RANGE("reer_component_cor", "2026-02-01", "2026-12-31", 3)REER component (free market)
15-minreer_component_libSame as reer_component but for free-market suppliers (contratación libre).
=ED.RANGE("reer_component_lib", "2026-02-01", "2026-12-31", 3)📦 Renewable Settlement (21)
Renewable Settlement
Settled price: wind
monthlyrenewable_settled_price_eolicaEffective €/MWh actually earned by wind under the régimen retributivo (incl. REER auction clawback). Source: C2 comppfre, official monthly liquidation.
=ED.RANGE("renewable_settled_price_eolica", "2022-01-01", "2026-12-31")Settled price: solar PV
monthlyrenewable_settled_price_fotovoltaicaEffective €/MWh actually earned by solar PV under the régimen retributivo (incl. REER auction clawback). Source: C2 comppfre.
=ED.RANGE("renewable_settled_price_fotovoltaica", "2022-01-01", "2026-12-31")Settled price: hydro
monthlyrenewable_settled_price_hidraulicaEffective €/MWh earned by hydro under the régimen retributivo (incl. REER clawback). Source: C2 comppfre.
=ED.RANGE("renewable_settled_price_hidraulica", "2022-01-01", "2026-12-31")Settled price: solar thermal
monthlyrenewable_settled_price_termosolarEffective €/MWh earned by solar thermal (CSP) under the régimen retributivo. Source: C2 comppfre.
=ED.RANGE("renewable_settled_price_termosolar", "2022-01-01", "2026-12-31")Settled price: thermal renewable
monthlyrenewable_settled_price_termica_renovEffective €/MWh earned by renewable thermal (biomass, biogas, etc.) under the régimen retributivo. Source: C2 comppfre.
=ED.RANGE("renewable_settled_price_termica_renov", "2022-01-01", "2026-12-31")Settled price: thermal non-renew
monthlyrenewable_settled_price_termica_no_renovEffective €/MWh earned by non-renewable thermal (CCGT, fuel) — included as a comparison baseline. Source: C2 comppfre.
=ED.RANGE("renewable_settled_price_termica_no_renov", "2022-01-01", "2026-12-31")RRE adjustment: wind
monthlyrenewable_settled_rre_adj_eolicaNear zero 2023RRE = Régimen Retributivo Específico (RD 413/2014, the OLD pre-2020 PPA scheme). Per-MWh regulatory adjustment for wind under that scheme. ⚠️ NOT the new post-2020 REER auctions — those settle annually and live in reer_component. Negative = projects pay system back. Most active 2021-2022; near-zero from 2023.
=ED.RANGE("renewable_settled_rre_adj_eolica", "2022-01-01", "2026-12-31")RRE adjustment: solar PV
monthlyrenewable_settled_rre_adj_fotovoltaicaNear zero 2023RRE (RD 413/2014) per-MWh adjustment for solar PV. Mostly affects pre-2014 PV plants (RD 661/2007 era). Near-zero from 2023 (RD 413/2014 phase-out).
=ED.RANGE("renewable_settled_rre_adj_fotovoltaica", "2022-01-01", "2026-12-31")RRE adjustment: hydro
monthlyrenewable_settled_rre_adj_hidraulicaNear zero 2023RRE (RD 413/2014) per-MWh adjustment for hydro. Near-zero from 2023 (RD 413/2014 phase-out).
=ED.RANGE("renewable_settled_rre_adj_hidraulica", "2022-01-01", "2026-12-31")RRE adjustment: solar thermal
monthlyrenewable_settled_rre_adj_termosolarNear zero 2023RRE (RD 413/2014) per-MWh adjustment for solar thermal (CSP). Near-zero from 2023 (RD 413/2014 phase-out).
=ED.RANGE("renewable_settled_rre_adj_termosolar", "2022-01-01", "2026-12-31")RRE adjustment: thermal renew
monthlyrenewable_settled_rre_adj_termica_renovNear zero 2023RRE (RD 413/2014) per-MWh adjustment for renewable thermal (biomass, biogas). Near-zero from 2023 (RD 413/2014 phase-out).
=ED.RANGE("renewable_settled_rre_adj_termica_renov", "2022-01-01", "2026-12-31")RRE adjustment: thermal non-r.
monthlyrenewable_settled_rre_adj_termica_no_renovNear zero 2023RRE (RD 413/2014) per-MWh adjustment for non-renewable thermal. Typically zero — these don't participate in RD 413/2014. Near-zero from 2023.
=ED.RANGE("renewable_settled_rre_adj_termica_no_renov", "2022-01-01", "2026-12-31")Settled energy: wind
monthlyrenewable_settled_energy_eolicaTotal settled MWh for wind under the régimen retributivo (monthly).
=ED.RANGE("renewable_settled_energy_eolica", "2022-01-01", "2026-12-31")Settled energy: solar PV
monthlyrenewable_settled_energy_fotovoltaicaTotal settled MWh for solar PV under the régimen retributivo (monthly).
=ED.RANGE("renewable_settled_energy_fotovoltaica", "2022-01-01", "2026-12-31")Settled energy: hydro
monthlyrenewable_settled_energy_hidraulicaTotal settled MWh for hydro under the régimen retributivo (monthly).
=ED.RANGE("renewable_settled_energy_hidraulica", "2022-01-01", "2026-12-31")Settled energy: solar thermal
monthlyrenewable_settled_energy_termosolarTotal settled MWh for solar thermal under the régimen retributivo (monthly).
=ED.RANGE("renewable_settled_energy_termosolar", "2022-01-01", "2026-12-31")Settled energy: thermal renewable
monthlyrenewable_settled_energy_termica_renovTotal settled MWh for renewable thermal (biomass, biogas) — monthly.
=ED.RANGE("renewable_settled_energy_termica_renov", "2022-01-01", "2026-12-31")Settled energy: thermal non-renew
monthlyrenewable_settled_energy_termica_no_renovTotal settled MWh for non-renewable thermal (CCGT, fuel) — monthly.
=ED.RANGE("renewable_settled_energy_termica_no_renov", "2022-01-01", "2026-12-31")Settled hourly: solar bucket
hourlyrenewable_settled_hourly_solarHourly settled measured generation, solar bucket (FV + termosolar combined). Source: C2 grpresol.
=ED.RANGE("renewable_settled_hourly_solar", "2024-01-01", "2024-12-31", 3)Settled hourly: hydro+biomass
hourlyrenewable_settled_hourly_hydro_bioHourly settled measured generation, hydro+biomass bucket (hidráulica + biomasa/biogás). Source: C2 grpresfh.
=ED.RANGE("renewable_settled_hourly_hydro_bio", "2024-01-01", "2024-12-31", 3)Settled hourly: wind+cogen
hourlyrenewable_settled_hourly_wind_cogenHourly settled measured generation, wind+cogeneration bucket (eólica + cogen/residuos). Source: C2 grpreolr.
=ED.RANGE("renewable_settled_hourly_wind_cogen", "2024-01-01", "2024-12-31", 3)🔮 Forecasts (3)
D+1 and H+3 renewable forecasts, residual demand, and PBF schedules
Renewable forecast D+1
hourlyforecast_renewable_d1Day-ahead forecast of wind + solar generation.
=ED.GET("forecast_renewable_d1")Renewable forecast H+3
hourlyforecast_renewable_h3Intraday H+3 rolling forecast of wind + solar generation.
=ED.GET("forecast_renewable_h3")Residual demand forecast
15-minforecast_residual_demandForecast of demand minus renewable generation.
=ED.GET("forecast_residual_demand")📦 Scheduled Programs (80)
Scheduled Programs
PBF hydro UGH
hourlyprogram_pbf_hidro_ughHydro UGH (big dams) scheduled in PBF, post-OMIE auction.
=ED.GET("program_pbf_hidro_ugh")PBF hydro non-UGH
hourlyprogram_pbf_hidro_no_ughHydro non-UGH (run-of-river) scheduled in PBF, post-OMIE auction.
=ED.GET("program_pbf_hidro_no_ugh")PBF pumped hydro turbining
hourlyprogram_pbf_turb_bombeoPumped hydro turbine generation scheduled in PBF.
=ED.GET("program_pbf_turb_bombeo")PBF nuclear
hourlyprogram_pbf_nuclearNuclear scheduled in PBF (post-OMIE auction, pre-RRTT).
=ED.GET("program_pbf_nuclear")PBF CCGT
hourlyprogram_pbf_ccgtCombined-cycle gas turbine scheduled in PBF.
=ED.GET("program_pbf_ccgt")PBF onshore wind
hourlyprogram_pbf_windOnshore wind scheduled in PBF (industry-standard for wind capture price).
=ED.GET("program_pbf_wind")PBF solar PV
hourlyprogram_pbf_solar_pvSolar PV scheduled in PBF (industry-standard for solar capture price).
=ED.GET("program_pbf_solar_pv")PBF solar thermal
hourlyprogram_pbf_solar_thermalSolar thermal (CSP) scheduled in PBF.
=ED.GET("program_pbf_solar_thermal")PBF cogeneration
hourlyprogram_pbf_cogenNatural gas cogeneration scheduled in PBF.
=ED.GET("program_pbf_cogen")PBF oil/coal derivatives
hourlyprogram_pbf_oil_coal_derivDerivatives of petroleum or coal scheduled in PBF.
=ED.GET("program_pbf_oil_coal_deriv")PBF residual energy
hourlyprogram_pbf_residual_energyResidual/tail-gas energy scheduled in PBF.
=ED.GET("program_pbf_residual_energy")PBF biomass
hourlyprogram_pbf_biomassBiomass scheduled in PBF.
=ED.GET("program_pbf_biomass")PBF biogas
hourlyprogram_pbf_biogasBiogas scheduled in PBF.
=ED.GET("program_pbf_biogas")PBF household waste
hourlyprogram_pbf_household_wasteHousehold and similar waste scheduled in PBF.
=ED.GET("program_pbf_household_waste")PBF miscellaneous waste
hourlyprogram_pbf_misc_wasteMiscellaneous waste scheduled in PBF.
=ED.GET("program_pbf_misc_waste")PBF hydro total (UGH + noUGH)
hourlyprogram_pbf_hidro_totalTotal hydro = UGH + non-UGH scheduled in PBF. Aggregated indicator.
=ED.GET("program_pbf_hidro_total")PBF wind total (on + offshore)
hourlyprogram_pbf_total_windOnshore + offshore wind scheduled in PBF.
=ED.GET("program_pbf_total_wind")PBF other renewables
hourlyprogram_pbf_other_renewableOther renewables (aggregated) scheduled in PBF.
=ED.GET("program_pbf_other_renewable")PBF total
hourlyprogram_pbf_totalTotal scheduled generation in PBF (sum of all technologies).
=ED.GET("program_pbf_total")PBF hybrid
hourlyprogram_pbf_hybridHybrid generation scheduled in PBF. New ESIOS indicator since June 2024.
=ED.GET("program_pbf_hybrid")PVP hydro UGH
hourlyprogram_pvp_hidro_ughHydro UGH scheduled in PVP (after RRTT).
=ED.GET("program_pvp_hidro_ugh")PVP hydro non-UGH
hourlyprogram_pvp_hidro_no_ughHydro non-UGH scheduled in PVP.
=ED.GET("program_pvp_hidro_no_ugh")PVP pumped hydro turbining
hourlyprogram_pvp_turb_bombeoPumped hydro turbine generation scheduled in PVP.
=ED.GET("program_pvp_turb_bombeo")PVP nuclear
hourlyprogram_pvp_nuclearNuclear scheduled in PVP (practically equal to PBF nuclear — baseload).
=ED.GET("program_pvp_nuclear")PVP CCGT
hourlyprogram_pvp_ccgtCCGT scheduled in PVP.
=ED.GET("program_pvp_ccgt")PVP onshore wind
hourlyprogram_pvp_windOnshore wind scheduled in PVP.
=ED.GET("program_pvp_wind")PVP solar PV
hourlyprogram_pvp_solar_pvSolar PV scheduled in PVP.
=ED.GET("program_pvp_solar_pv")PVP solar thermal
hourlyprogram_pvp_solar_thermalSolar thermal scheduled in PVP.
=ED.GET("program_pvp_solar_thermal")PVP cogeneration
hourlyprogram_pvp_cogenCogeneration scheduled in PVP.
=ED.GET("program_pvp_cogen")PVP oil/coal derivatives
hourlyprogram_pvp_oil_coal_derivOil/coal derivatives scheduled in PVP.
=ED.GET("program_pvp_oil_coal_deriv")PVP residual energy
hourlyprogram_pvp_residual_energyResidual energy scheduled in PVP.
=ED.GET("program_pvp_residual_energy")PVP biomass
hourlyprogram_pvp_biomassBiomass scheduled in PVP.
=ED.GET("program_pvp_biomass")PVP biogas
hourlyprogram_pvp_biogasBiogas scheduled in PVP.
=ED.GET("program_pvp_biogas")PVP household waste
hourlyprogram_pvp_household_wasteHousehold waste scheduled in PVP.
=ED.GET("program_pvp_household_waste")PVP miscellaneous waste
hourlyprogram_pvp_misc_wasteMiscellaneous waste scheduled in PVP.
=ED.GET("program_pvp_misc_waste")PVP hydro total
hourlyprogram_pvp_hidro_totalTotal hydro scheduled in PVP.
=ED.GET("program_pvp_hidro_total")PVP wind total
hourlyprogram_pvp_total_windTotal wind scheduled in PVP.
=ED.GET("program_pvp_total_wind")PVP other renewables
hourlyprogram_pvp_other_renewableOther renewables scheduled in PVP.
=ED.GET("program_pvp_other_renewable")PVP total
hourlyprogram_pvp_totalTotal scheduled generation in PVP.
=ED.GET("program_pvp_total")PVP hybrid
hourlyprogram_pvp_hybridHybrid generation scheduled in PVP. New ESIOS indicator since June 2024.
=ED.GET("program_pvp_hybrid")P48 hydro UGH
hourlyprogram_p48_hidro_ughHydro UGH in P48 final D-1 schedule.
=ED.GET("program_p48_hidro_ugh")P48 hydro non-UGH
hourlyprogram_p48_hidro_no_ughHydro non-UGH in P48.
=ED.GET("program_p48_hidro_no_ugh")P48 pumped hydro turbining
hourlyprogram_p48_turb_bombeoPumped hydro turbine in P48.
=ED.GET("program_p48_turb_bombeo")P48 nuclear
hourlyprogram_p48_nuclearNuclear in P48.
=ED.GET("program_p48_nuclear")P48 CCGT
hourlyprogram_p48_ccgtCCGT in P48.
=ED.GET("program_p48_ccgt")P48 onshore wind
hourlyprogram_p48_windOnshore wind in P48 (final D-1 schedule, commonly used by traders).
=ED.GET("program_p48_wind")P48 solar PV
hourlyprogram_p48_solar_pvSolar PV in P48.
=ED.GET("program_p48_solar_pv")P48 solar thermal
hourlyprogram_p48_solar_thermalSolar thermal in P48.
=ED.GET("program_p48_solar_thermal")P48 cogeneration
hourlyprogram_p48_cogenCogeneration in P48.
=ED.GET("program_p48_cogen")P48 oil/coal derivatives
hourlyprogram_p48_oil_coal_derivOil/coal derivatives in P48.
=ED.GET("program_p48_oil_coal_deriv")P48 residual energy
hourlyprogram_p48_residual_energyResidual energy in P48.
=ED.GET("program_p48_residual_energy")P48 biomass
hourlyprogram_p48_biomassBiomass in P48.
=ED.GET("program_p48_biomass")P48 biogas
hourlyprogram_p48_biogasBiogas in P48.
=ED.GET("program_p48_biogas")P48 household waste
hourlyprogram_p48_household_wasteHousehold waste in P48.
=ED.GET("program_p48_household_waste")P48 miscellaneous waste
hourlyprogram_p48_misc_wasteMiscellaneous waste in P48.
=ED.GET("program_p48_misc_waste")P48 hydro total
hourlyprogram_p48_hidro_totalTotal hydro in P48.
=ED.GET("program_p48_hidro_total")P48 wind total
hourlyprogram_p48_total_windTotal wind in P48.
=ED.GET("program_p48_total_wind")P48 other renewables
hourlyprogram_p48_other_renewableOther renewables in P48.
=ED.GET("program_p48_other_renewable")P48 total
hourlyprogram_p48_totalTotal generation in P48.
=ED.GET("program_p48_total")P48 hybrid
hourlyprogram_p48_hybridHybrid generation in P48. New ESIOS indicator since June 2024.
=ED.GET("program_p48_hybrid")PHFC hydro UGH
hourlyprogram_phfc_hidro_ughHydro UGH in PHFC final-intraday schedule (post-casacion intraday updates).
=ED.GET("program_phfc_hidro_ugh")PHFC hydro non-UGH
hourlyprogram_phfc_hidro_no_ughHydro non-UGH in PHFC final-intraday schedule.
=ED.GET("program_phfc_hidro_no_ugh")PHFC pumped hydro turbining
hourlyprogram_phfc_turb_bombeoPumped hydro turbine generation in PHFC.
=ED.GET("program_phfc_turb_bombeo")PHFC nuclear
hourlyprogram_phfc_nuclearNuclear in PHFC final-intraday schedule.
=ED.GET("program_phfc_nuclear")PHFC CCGT
hourlyprogram_phfc_ccgtCCGT in PHFC.
=ED.GET("program_phfc_ccgt")PHFC onshore wind
hourlyprogram_phfc_windOnshore wind in PHFC final-intraday schedule.
=ED.GET("program_phfc_wind")PHFC solar PV
hourlyprogram_phfc_solar_pvSolar PV in PHFC final-intraday schedule.
=ED.GET("program_phfc_solar_pv")PHFC solar thermal
hourlyprogram_phfc_solar_thermalSolar thermal in PHFC.
=ED.GET("program_phfc_solar_thermal")PHFC cogeneration
hourlyprogram_phfc_cogenNatural gas cogeneration in PHFC.
=ED.GET("program_phfc_cogen")PHFC oil/coal derivatives
hourlyprogram_phfc_oil_coal_derivOil/coal derivatives in PHFC.
=ED.GET("program_phfc_oil_coal_deriv")PHFC residual energy
hourlyprogram_phfc_residual_energyResidual energy in PHFC.
=ED.GET("program_phfc_residual_energy")PHFC biomass
hourlyprogram_phfc_biomassBiomass in PHFC.
=ED.GET("program_phfc_biomass")PHFC biogas
hourlyprogram_phfc_biogasBiogas in PHFC.
=ED.GET("program_phfc_biogas")PHFC household waste
hourlyprogram_phfc_household_wasteHousehold waste in PHFC.
=ED.GET("program_phfc_household_waste")PHFC miscellaneous waste
hourlyprogram_phfc_misc_wasteMiscellaneous waste in PHFC.
=ED.GET("program_phfc_misc_waste")PHFC hydro total
hourlyprogram_phfc_hidro_totalTotal hydro (UGH + non-UGH) in PHFC.
=ED.GET("program_phfc_hidro_total")PHFC wind total
hourlyprogram_phfc_total_windTotal wind in PHFC.
=ED.GET("program_phfc_total_wind")PHFC other renewables
hourlyprogram_phfc_other_renewableOther renewables in PHFC.
=ED.GET("program_phfc_other_renewable")PHFC total
hourlyprogram_phfc_totalTotal scheduled generation in PHFC.
=ED.GET("program_phfc_total")PHFC hybrid
hourlyprogram_phfc_hybridHybrid generation in PHFC. New ESIOS indicator since June 2024.
=ED.GET("program_phfc_hybrid")🔌 Storage & Interconnections (7)
Batteries, pumped hydro, and cross-border flows
Battery charging
hourlybattery_chargeBattery storage charging power. ESIOS indicator launched late 2024 (Spain BESS market formalised then).
=ED.GET("battery_charge")Battery delivery
hourlybattery_deliveryBattery storage discharge/delivery power. ESIOS indicator launched late 2024.
=ED.GET("battery_delivery")Pumped hydro consumption
hourlypumped_consumptionPumped hydro storage energy consumption. New ESIOS indicator (id 2065) available from end of 2024. For long-history pumped consumption see gen_pumped_consumption (Generation category, same source).
=ED.GET("pumped_consumption")Pumped hydro turbine
hourlypumped_turbinePumped hydro storage turbine generation (discharge). New ESIOS indicator (id 2066) available from end of 2024. For long-history see gen_pumped_storage (Generation category).
=ED.GET("pumped_turbine")France interconnection net
hourlyxborder_france_netNet electricity exchange with France. Positive = import from France.
=ED.GET("xborder_france_net")Portugal interconnection net
hourlyxborder_portugal_netNet electricity exchange with Portugal. Positive = import from Portugal.
=ED.GET("xborder_portugal_net")Morocco interconnection net
hourlyxborder_morocco_netNet electricity exchange with Morocco via the Strait of Gibraltar interconnection.
=ED.GET("xborder_morocco_net")🛢️ Commodities (9)
Oil, carbon, and metals from international markets (gas indicators live in Natural Gas)
Brent crude oil
dailybrentICE Brent crude futures front-month settlement (Yahoo: BZ=F). The global benchmark for crude oil pricing. EIA RBRTE spot price is fetched as a backfill if Yahoo missed a date.
=ED.GET("brent")WTI crude oil
dailywtiNYMEX WTI Light Sweet Crude futures front-month settlement (Yahoo: CL=F). EIA RWTC spot price as backfill.
=ED.GET("wti")Dubai crude oil
monthlydubai_crudeDubai/Oman crude oil benchmark price for Asian markets.
=ED.GET("dubai_crude")EU ETS carbon (EUA)
dailyeua_co2European Union Allowance futures price (ICE EUA front-month via Yahoo Finance CO2.L). EU Emissions Trading System.
=ED.GET("eua_co2")Gold
dailygoldGold futures front-month, COMEX GC=F (troy ounce).
=ED.GET("gold")Silver
dailysilverSilver futures front-month, COMEX SI=F (troy ounce).
=ED.GET("silver")Copper
dailycopperHigh-grade copper futures front-month, COMEX HG=F (pound).
=ED.GET("copper")Platinum
dailyplatinumPlatinum futures front-month, NYMEX PL=F (troy ounce).
=ED.GET("platinum")Palladium
dailypalladiumPalladium futures front-month, NYMEX PA=F (troy ounce).
=ED.GET("palladium")🔥 Natural Gas (7)
Natural gas prices: MIBGAS PVB Spain (day-ahead + monthly/quarterly/yearly forwards), US Henry Hub futures, EU TTF futures
Henry Hub natural gas
dailyhenry_hubNYMEX Henry Hub natural gas futures front-month settlement (Yahoo: NG=F). EIA RNGWHHD as backfill.
=ED.GET("henry_hub")EU natural gas (TTF)
dailyeu_gas_ttfEuropean natural gas futures price at Title Transfer Facility (Netherlands). Front-month settlement via Yahoo Finance (TTF=F). Daily resolution from 2017-10-23 (Yahoo coverage start).
=ED.GET("eu_gas_ttf")EU natural gas (FRED proxy)
monthlyeu_gas_proxyProxy 'global price of natural gas, Europe' from the World Bank Pink Sheet via FRED (series PNGASEUUSDM). Monthly resolution since 1992. NOT the same contract as the ICE TTF futures published in eu_gas_ttf — this proxy aggregates EU import prices and is denominated in USD/MMBtu. Useful for long-term context but not directly comparable to TTF EUR/MWh.
=ED.GET("eu_gas_proxy")MIBGAS gas day-ahead
dailygas_dayaheadPVB Spain day-ahead gas price from MIBGAS. The reference price for the Spanish gas market.
=ED.GET("gas_dayahead")MIBGAS gas monthly ahead
dailygas_monthlyMIBGAS PVB Spain monthly gas forward price.
=ED.GET("gas_monthly")MIBGAS gas quarterly ahead
dailygas_quarterlyMIBGAS PVB Spain quarterly gas forward price.
=ED.GET("gas_quarterly")MIBGAS gas yearly ahead
dailygas_yearlyMIBGAS PVB Spain yearly gas forward price.
=ED.GET("gas_yearly")📈 Futures & Forward (4)
OMIP SPEL Base Futures: monthly, quarterly, yearly, PPA
Yearly futures (Cal+1)
dailyfutures_yrFront year (calendar year) OMIP SPEL Base Futures settlement price.
=ED.GET("futures_yr")Quarterly futures (Q+1)
dailyfutures_qFront quarter OMIP SPEL Base Futures settlement price.
=ED.GET("futures_q")Monthly futures (M+1)
dailyfutures_mFront month OMIP SPEL Base Futures settlement price.
=ED.GET("futures_m")PPA reference (10yr)
dailyfutures_ppaOMIP 10-year PPA reference price. Forward curve from Cal+1 to Cal+10.
=ED.GET("futures_ppa")☀️ Futures Solar (4)
OMIP SPEL Solar Futures: monthly, quarterly, yearly, PPA
Solar yearly futures
dailyfutures_solar_yrOMIP Solar yearly futures (FTS) settlement price for the Spanish zone.
=ED.GET("futures_solar_yr")Solar quarterly futures
dailyfutures_solar_qOMIP Solar quarterly futures settlement price for the Spanish zone.
=ED.GET("futures_solar_q")Solar monthly futures
dailyfutures_solar_mOMIP Solar monthly futures settlement price for the Spanish zone.
=ED.GET("futures_solar_m")Solar PPA reference
dailyfutures_solar_ppaOMIP Solar PPA reference price for the Spanish zone. Long-term solar forward curve.
=ED.GET("futures_solar_ppa")📈 Futures Peak (3)
OMIP SPEL Peak Futures: monthly, quarterly, yearly
Peak yearly futures
dailyfutures_peak_yrOMIP Peak yearly futures settlement price for the Spanish zone. Peak hours only.
=ED.GET("futures_peak_yr")Peak quarterly futures
dailyfutures_peak_qOMIP Peak quarterly futures settlement price for the Spanish zone.
=ED.GET("futures_peak_q")Peak monthly futures
dailyfutures_peak_mOMIP Peak monthly futures settlement price for the Spanish zone.
=ED.GET("futures_peak_m")📈 Forwards (3)
OMIP Base Forward contracts: monthly, quarterly, yearly
Base forwards yearly
dailyforwards_yrOMIP Base Forward yearly contract settlement price for the Spanish zone.
=ED.GET("forwards_yr")Base forwards quarterly
dailyforwards_qOMIP Base Forward quarterly contract settlement price for the Spanish zone.
=ED.GET("forwards_q")Base forwards monthly
dailyforwards_mOMIP Base Forward monthly contract settlement price for the Spanish zone.
=ED.GET("forwards_m")📈 Swaps (4)
OMIP Base Swap contracts: monthly, quarterly, yearly, PPA
Base swaps yearly
dailyswaps_yrOMIP Base Swap yearly contract settlement price for the Spanish zone.
=ED.GET("swaps_yr")Base swaps quarterly
dailyswaps_qOMIP Base Swap quarterly contract settlement price for the Spanish zone.
=ED.GET("swaps_q")Base swaps monthly
dailyswaps_mOMIP Base Swap monthly contract settlement price for the Spanish zone.
=ED.GET("swaps_m")Base swaps PPA
dailyswaps_ppaOMIP Base Swap PPA reference contract for the Spanish zone.
=ED.GET("swaps_ppa")🎯 Capture Prices (6)
Production-weighted average electricity price by technology
Solar PV capture price
dailycapture_solarRealized sum(dayahead × metered gen_solar_pv) / sum(gen_solar_pv). Matches figures published by REE / industry reports. Use method=1 for the PBF ex-ante alternative.
=ED.CAPTURE(1)Wind capture price
dailycapture_windRealized production-weighted average price for wind (sum(dayahead × gen_wind) / sum(gen_wind)). Use method=1 for the PBF ex-ante alternative.
=ED.CAPTURE(2)Nuclear capture price
dailycapture_nuclearRealized production-weighted average price for nuclear. Use method=1 for the PBF ex-ante alternative.
=ED.CAPTURE(3)Hydro capture price
dailycapture_hydroRealized production-weighted average price for hydro. Use method=1 for the PBF ex-ante alternative (sums UGH + non-UGH + pumped turbining).
=ED.CAPTURE(4)Gas CCGT capture price
dailycapture_gasRealized production-weighted average price for CCGT. Use method=1 for the PBF ex-ante alternative.
=ED.CAPTURE(5)Coal capture price
dailycapture_coalProduction-weighted average price for coal generators. Spain closed its last coal plants in July 2025, so capture_coal has no ES values after that date. Historical data 2014-2025 remains available.
=ED.CAPTURE(6)📋 C2 Settlement (10)
Definitive settlement values from REE C2 liquidation files. ~40 day delay but official values.
C2 RRTT redispatch price
hourlyc2_rrtt_priceSettled RRTT PBF (pay-as-bid) redispatch price. Definitive values from C2 liquidation.
=ED.GET("c2_rrtt_price")C2 RRTT total cost
hourlyc2_rrtt_costSettled RRTT total cost per hour. Definitive from C2 liquidation.
=ED.GET("c2_rrtt_cost")C2 RRTT energy (up)
15-minc2_rrtt_energy_upSettled upward redispatch energy from RRTT. Quarter-hourly resolution.
=ED.GET("c2_rrtt_energy_up")C2 RRTT energy (down)
15-minc2_rrtt_energy_downSettled downward redispatch energy from RRTT. Negative values = curtailment.
=ED.GET("c2_rrtt_energy_down")C2 RR energy (up)
15-minc2_rr_energy_upSettled Replacement Reserve (RR) upward energy. European balancing product.
=ED.GET("c2_rr_energy_up")C2 RR energy (down)
15-minc2_rr_energy_downSettled Replacement Reserve (RR) downward energy.
=ED.GET("c2_rr_energy_down")C2 RR price
15-minc2_rr_priceSettled Replacement Reserve marginal price per quarter-hour.
=ED.GET("c2_rr_price")C2 deviation price (up)
15-minc2_dev_price_upSettled imbalance/deviation price for upward deviations. UNICO/DUAL.
=ED.GET("c2_dev_price_up")C2 deviation price (down)
15-minc2_dev_price_downSettled imbalance/deviation price for downward deviations.
=ED.GET("c2_dev_price_down")C2 net deviation energy
15-minc2_dev_energy_netNet system deviation energy per quarter-hour. Definitive settlement value.
=ED.GET("c2_dev_energy_net")Use any of these in Excel
ED.GET("metric_name") for a single value, ED.RANGE("metric_name", start, end, agg) for a series.