GridPassport Research · Q2 2026 edition
Q2 2026: where European electricity markets moved most
See where wholesale prices fell below zero most often, which markets recorded the widest daily swings and when the cheapest three-hour windows most often appeared. The comparison uses published observations—not forecasts, household tariffs or modelled savings.
- Period
- Apr 1, 2026–Jun 30, 2026
- Qualifying markets
- 28
- Published dates
- 91/91
- Latest source update
- Jul 27, 2026, 21:29 GMT+2
What the data says
Three useful signals—not one opaque score.
Negative-price frequency, within-day spread and a recurring cheap window answer different questions, so this report keeps them separate.
72 of 91 qualifying days contained at least one reported interval below €0/MWh.
Mean of each observed day's high-minus-low wholesale reference price. This is not a household tariff spread.
The most frequent label across 896 qualifying market-day observations; individual markets differ.
Q2 2026 findings
What changed from Q1 2026.
Quarter-on-quarter changes use only the 28 markets that passed the same completeness rules in both periods.
13.3% in Q1 2026 → 52.7% in Q2 2026.
181.6 → 300.4 EUR/MWh.
At least one negative interval appeared in 24 of 28 qualifying observed markets.
Jun 30, 2026; one dated market observation, not a typical household price movement.
27 of 28 comparable markets changed their most frequent cheapest three-hour window. A recurring wholesale window is evidence to inspect—not a household charging recommendation by itself.
Negative-price exposure
How often did a market fall below zero?
Top 12 markets by share of qualifying observed days with at least one negative interval. Bar length uses the actual percentage on a 0–100% scale.
Full market table
Negative prices, spread and cheapest window.
| Rank | Market | Observed days | Negative days | Negative intervals | Avg daily spread | Common cheapest 3h | Coverage |
|---|---|---|---|---|---|---|---|
| 1 | SpainApr 1, 2026–Jun 30, 2026 | 91/91 | 79.1%72 days | 0.84%72/8,544 intervals | 128.5EUR/MWh | 13:00-16:0023 days · local time | 100.0%up to 1 price area |
| 2 | FranceApr 1, 2026–Jun 30, 2026 | 91/91 | 61.5%56 days | 0.71%56/7,917 intervals | 152.7EUR/MWh | 13:00-16:0030 days · local time | 100.0%up to 1 price area |
| 3 | GreeceApr 1, 2026–Jun 29, 2026 | 90/91 | 55.6%50 days | 0.70%50/7,138 intervals | 191.2EUR/MWh | 11:00-14:0016 days · local time | 100.0%up to 1 price area |
| 4 | AustriaApr 1, 2026–Jun 30, 2026 | 91/91 | 52.7%48 days | 0.55%48/8,732 intervals | 220.7EUR/MWh | 12:00-15:0067 days · local time | 100.0%up to 1 price area |
| 5 | PortugalApr 1, 2026–Jun 30, 2026 | 91/91 | 51.6%47 days | 0.68%47/6,889 intervals | 118.5EUR/MWh | 13:00-16:0023 days · local time | 100.0%up to 1 price area |
| 6 | Germany / Luxembourg bidding zoneGermany household prices · Luxembourg household pricesApr 1, 2026–Jun 30, 2026 | 91/91 | 50.5%46 days | 0.55%46/8,376 intervals | 227.9EUR/MWh | 12:00-15:0059 days · local time | 100.0%up to 1 price area |
| 7 | LuxembourgApr 1, 2026–Jun 29, 2026 | 90/91 | 47.8%43 days | 1.99%43/2,160 intervals | 186.5EUR/MWh | 12:00-15:0055 days · local time | 100.0%up to 1 price area |
| 8 | NetherlandsApr 1, 2026–Jun 29, 2026 | 90/91 | 47.8%43 days | 0.51%43/8,504 intervals | 222.1EUR/MWh | 12:00-15:0049 days · local time | 98.4%up to 1 price area |
| 9 | CzechiaApr 1, 2026–Jun 30, 2026 | 91/91 | 45.1%41 days | 0.48%41/8,607 intervals | 210.9EUR/MWh | 12:00-15:0051 days · local time | 100.0%up to 1 price area |
| 10 | BelgiumApr 1, 2026–Jun 30, 2026 | 91/91 | 42.9%39 days | 0.45%39/8,585 intervals | 218.7EUR/MWh | 12:00-15:0042 days · local time | 100.0%up to 1 price area |
| 11 | HungaryApr 1, 2026–Jun 29, 2026 | 90/91 | 42.2%38 days | 0.45%38/8,467 intervals | 300.4EUR/MWh | 12:00-15:0051 days · local time | 100.0%up to 1 price area |
| 12 | SlovakiaApr 1, 2026–Jun 29, 2026 | 90/91 | 41.1%37 days | 0.43%37/8,516 intervals | 222.7EUR/MWh | 12:00-15:0052 days · local time | 100.0%up to 1 price area |
| 13 | SloveniaApr 1, 2026–Jun 30, 2026 | 91/91 | 40.7%37 days | 0.43%37/8,587 intervals | 223.4EUR/MWh | 12:00-15:0045 days · local time | 100.0%up to 1 price area |
| 14 | SwitzerlandWholesale market onlyApr 1, 2026–Jun 30, 2026 | 90/91 | 36.7%33 days | 1.54%33/2,140 intervals | 140.3EUR/MWh | 12:00-15:0058 days · local time | 99.1%up to 1 price area |
| 15 | CroatiaApr 1, 2026–Jun 29, 2026 | 90/91 | 35.6%32 days | 0.38%32/8,520 intervals | 220.8EUR/MWh | 12:00-15:0047 days · local time | 100.0%up to 1 price area |
| 16 | RomaniaApr 1, 2026–Jun 29, 2026 | 90/91 | 27.8%25 days | 0.30%25/8,236 intervals | 255.0EUR/MWh | 13:00-16:0043 days · local time | 100.0%up to 1 price area |
| 17 | BulgariaApr 1, 2026–Jun 30, 2026 | 91/91 | 24.2%22 days | 0.27%22/8,208 intervals | 200.8EUR/MWh | 13:00-16:0027 days · local time | 100.0%up to 1 price area |
| 18 | DenmarkApr 1, 2026–Jun 30, 2026 | 91/91 | 22.0%20 days | 0.12%20/17,190 intervals | 187.7EUR/MWh | 12:00-15:0046 days · local time | 100.0%up to 2 price areas |
| 19 | Great Britain wholesaleApr 2, 2026–Jun 30, 2026 | 84/91 | 14.3%12 days | 0.30%12/4,013 intervals | 97.0EUR/MWh | 12:00-15:0022 days · local time | 99.5%up to 1 price area |
| 20 | LithuaniaApr 1, 2026–Jun 30, 2026 | 91/91 | 13.2%12 days | 0.14%12/8,608 intervals | 155.6EUR/MWh | 13:00-16:0032 days · local time | 100.0%up to 1 price area |
| 21 | SwedenApr 1, 2026–Jun 30, 2026 | 91/91 | 13.2%12 days | 0.03%12/34,430 intervals | 94.4EUR/MWh | 13:00-16:0035 days · local time | 100.0%up to 4 price areas |
| 22 | LatviaApr 1, 2026–Jun 30, 2026 | 91/91 | 12.1%11 days | 0.13%11/8,594 intervals | 155.7EUR/MWh | 13:00-16:0030 days · local time | 100.0%up to 1 price area |
| 23 | FinlandApr 1, 2026–Jun 30, 2026 | 91/91 | 9.9%9 days | 0.11%9/8,505 intervals | 92.9EUR/MWh | 14:00-17:0024 days · local time | 100.0%up to 1 price area |
| 24 | EstoniaApr 1, 2026–Jun 30, 2026 | 91/91 | 8.8%8 days | 0.09%8/8,477 intervals | 140.3EUR/MWh | 14:00-17:0023 days · local time | 100.0%up to 1 price area |
| 25 | SerbiaApr 1, 2026–Jun 30, 2026 | 79/91 | 7.6%6 days | 0.32%6/1,854 intervals | 156.2EUR/MWh | 12:00-15:0029 days · local time | 97.8%up to 1 price area |
| 26 | NorwayApr 1, 2026–Jun 30, 2026 | 91/91 | 4.4%4 days | 0.01%4/42,912 intervals | 70.4EUR/MWh | 13:00-16:0027 days · local time | 100.0%up to 5 price areas |
| 27 | IrelandApr 2, 2026–Jun 30, 2026 | 75/91 | 1.3%1 days | 0.06%1/1,791 intervals | 106.5EUR/MWh | 13:00-16:0034 days · local time | 99.5%up to 1 price area |
| 28 | ItalyApr 1, 2026–Jun 30, 2026 | 91/91 | 0.0%0 days | 0.00%0/51,681 intervals | 139.2EUR/MWh | 12:00-15:0035 days · local time | 100.0%up to 7 price areas |
For households
Wholesale movement is a signal, not your bill.
Negative wholesale prices do not automatically mean free household electricity. Supplier margins, network charges, taxes, fixed fees and tariff rules still apply. Timing becomes directly relevant only when a retail tariff passes market changes through quickly enough.
The linked market names open GridPassport's separate household-price benchmarks where Eurostat coverage exists. For the practical layer, read what negative prices can mean at home.
Methodology
Comparable periods, visible limitations.
The rules exclude partial current days and require each displayed market to cover most of the exact report period.
Included observations
Only dates inside Apr 1, 2026–Jun 30, 2026 and rows with at least 80% usable source coverage. Each displayed market needs at least 73 of 91 days (80%).
Negative-price measures
A negative-price day contains at least one reported market interval below €0/MWh. Interval share divides negative intervals by all usable intervals. Resolutions differ, so intervals are not described as hours.
Volatility proxy
Daily spread is the highest minus lowest published wholesale reference point in the market aggregation. Its mean is a descriptive range, not a statistical volatility forecast.
Cheapest three-hour window
For each market-day, GridPassport identifies the cheapest contiguous three-hour wholesale reference window. The most frequent local-clock label is descriptive, not a recommended household schedule.
Market comparison limits
Multi-area markets use GridPassport's existing aggregation. The Germany/Luxembourg bidding zone and the separate Luxembourg source row use distinct source representations; their household links are therefore shown explicitly rather than treating the zone as one country.
No household or ROI claim
Values are wholesale reference prices normalized to EUR/MWh. They exclude retail components and do not calculate household bills, battery value, charging savings or product ROI.
Freshness and sources
Published market data with source links.
The aggregate was built Aug 30, 2026, 01:16 GMT+2 from observations updated as late as Jul 27, 2026, 21:29 GMT+2. Operators may revise historical values; a later correction can update the same stable report URL.
- Elexon BMRS Open DataData sourceTerms
- ENTSO-E Transparency PlatformData sourceTerms
- SMARD BundesnetzagenturData sourceTerms
- GridPassport transformations and attributionData licence notes
Completed periods only
Quarterly reports.
A quarter appears here only after the full period and coverage checks pass. Monthly evidence remains in the existing wholesale archive rather than a duplicate report series.
Open data
Need the numbers behind this report?
Download one aggregate row per market, including the exact period, denominator, negative-price frequency, spread, recurring window, coverage and source names.
Tomorrow, without checking
Turn the price curve into one useful daily email.
Choose a country, see its cheapest and peak window, then receive the next published day-ahead brief by email.