GridPassport Research · rolling 90-day view
Where are European electricity prices swinging 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
- Jul 17, 2026–Oct 14, 2026
- Qualifying markets
- 28
- Published dates
- 90/90
- Latest source update
- Oct 14, 2026, 23:54 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.
31 of 90 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 904 qualifying market-day observations; individual markets differ.
The latest 90 complete days
The events behind the headline numbers.
These dated observations keep the rolling result grounded in inspectable market days.
At least one negative interval appeared in 19 of 26 qualifying observed markets.
Aug 3, 2026; one dated market observation, not a typical household price movement.
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 | SpainJul 17, 2026–Oct 14, 2026 | 90/90 | 34.4%31 days | 0.36%31/8,544 intervals | 212.1EUR/MWh | 13:00-16:0035 days · local time | 98.9%up to 1 price area |
| 2 | LuxembourgJul 17, 2026–Oct 14, 2026 | 88/90 | 28.4%25 days | 1.18%25/2,112 intervals | 191.9EUR/MWh | 12:00-15:0056 days · local time | 100.0%up to 1 price area |
| 3 | NetherlandsJul 17, 2026–Oct 14, 2026 | 88/90 | 28.4%25 days | 0.30%25/8,346 intervals | 212.7EUR/MWh | 12:00-15:0052 days · local time | 98.8%up to 1 price area |
| 4 | Germany / Luxembourg bidding zoneGermany household prices · Luxembourg household pricesJul 17, 2026–Oct 14, 2026 | 90/90 | 26.7%24 days | 0.28%24/8,423 intervals | 207.4EUR/MWh | 12:00-15:0063 days · local time | 100.0%up to 1 price area |
| 5 | FranceJul 17, 2026–Oct 14, 2026 | 86/90 | 22.1%19 days | 0.24%19/7,918 intervals | 200.4EUR/MWh | 13:00-16:0036 days · local time | 95.9%up to 1 price area |
| 6 | BelgiumJul 17, 2026–Oct 14, 2026 | 90/90 | 21.1%19 days | 0.22%19/8,574 intervals | 200.0EUR/MWh | 12:00-15:0044 days · local time | 99.2%up to 1 price area |
| 7 | PolandJul 17, 2026–Oct 14, 2026 | 90/90 | 21.1%19 days | 0.22%19/8,640 intervals | 241.5EUR/MWh | 12:00-15:0049 days · local time | 100.0%up to 1 price area |
| 8 | AustriaJul 17, 2026–Oct 14, 2026 | 90/90 | 15.6%14 days | 0.16%14/8,496 intervals | 191.8EUR/MWh | 12:00-15:0049 days · local time | 100.0%up to 1 price area |
| 9 | Great Britain wholesaleJul 17, 2026–Oct 14, 2026 | 90/90 | 13.3%12 days | 0.28%12/4,282 intervals | 131.3EUR/MWh | 12:00-15:0022 days · local time | 99.1%up to 1 price area |
| 10 | CzechiaJul 17, 2026–Oct 14, 2026 | 90/90 | 12.2%11 days | 0.13%11/8,588 intervals | 215.1EUR/MWh | 12:00-15:0056 days · local time | 99.4%up to 1 price area |
| 11 | SwitzerlandWholesale market onlyJul 17, 2026–Oct 14, 2026 | 89/90 | 10.1%9 days | 0.43%9/2,107 intervals | 134.4EUR/MWh | 12:00-15:0058 days · local time | 98.6%up to 1 price area |
| 12 | SlovakiaJul 17, 2026–Oct 14, 2026 | 88/90 | 9.1%8 days | 0.10%8/8,391 intervals | 239.6EUR/MWh | 12:00-15:0041 days · local time | 99.3%up to 1 price area |
| 13 | RomaniaJul 17, 2026–Oct 14, 2026 | 88/90 | 8.0%7 days | 0.08%7/8,334 intervals | 249.0EUR/MWh | 13:00-16:0037 days · local time | 98.7%up to 1 price area |
| 14 | HungaryJul 17, 2026–Oct 14, 2026 | 88/90 | 8.0%7 days | 0.08%7/8,376 intervals | 248.2EUR/MWh | 12:00-15:0036 days · local time | 99.1%up to 1 price area |
| 15 | SloveniaJul 17, 2026–Oct 14, 2026 | 90/90 | 7.8%7 days | 0.08%7/8,544 intervals | 233.3EUR/MWh | 12:00-15:0038 days · local time | 98.9%up to 1 price area |
| 16 | CroatiaJul 17, 2026–Oct 14, 2026 | 88/90 | 6.8%6 days | 0.07%6/8,384 intervals | 235.5EUR/MWh | 12:00-15:0040 days · local time | 99.2%up to 1 price area |
| 17 | SwedenJul 17, 2026–Oct 14, 2026 | 89/90 | 5.6%5 days | 0.01%5/33,513 intervals | 100.0EUR/MWh | 12:00-15:0021 days · local time | 98.1%up to 4 price areas |
| 18 | DenmarkJul 17, 2026–Oct 14, 2026 | 90/90 | 5.6%5 days | 0.03%5/17,228 intervals | 202.4EUR/MWh | 12:00-15:0048 days · local time | 99.7%up to 2 price areas |
| 19 | FinlandJul 17, 2026–Oct 14, 2026 | 88/90 | 4.5%4 days | 0.05%4/8,190 intervals | 79.8EUR/MWh | 00:00-03:0020 days · local time | 96.9%up to 1 price area |
| 20 | LithuaniaJul 17, 2026–Oct 14, 2026 | 86/90 | 2.3%2 days | 0.02%2/8,103 intervals | 177.2EUR/MWh | 13:00-16:0026 days · local time | 98.1%up to 1 price area |
| 21 | BulgariaJul 17, 2026–Oct 14, 2026 | 87/90 | 2.3%2 days | 0.02%2/8,170 intervals | 212.6EUR/MWh | 13:00-16:0027 days · local time | 97.8%up to 1 price area |
| 22 | EstoniaJul 17, 2026–Oct 14, 2026 | 82/90 | 1.2%1 days | 0.01%1/7,653 intervals | 165.5EUR/MWh | 14:00-17:0016 days · local time | 97.2%up to 1 price area |
| 23 | LatviaJul 17, 2026–Oct 14, 2026 | 87/90 | 1.1%1 days | 0.01%1/8,180 intervals | 179.5EUR/MWh | 13:00-16:0022 days · local time | 97.9%up to 1 price area |
| 24 | North MacedoniaJul 17, 2026–Oct 14, 2026 | 85/90 | 0.0%0 days | 0.00%0/1,992 intervals | 173.7EUR/MWh | 10:00-13:0032 days · local time | 97.6%up to 1 price area |
| 25 | MontenegroJul 17, 2026–Oct 14, 2026 | 84/90 | 0.0%0 days | 0.00%0/1,904 intervals | 168.0EUR/MWh | 11:00-14:0031 days · local time | 94.4%up to 1 price area |
| 26 | ItalyJul 17, 2026–Oct 14, 2026 | 88/90 | 0.0%0 days | 0.00%0/52,962 intervals | 157.0EUR/MWh | 12:00-15:0042 days · local time | 94.3%up to 7 price areas |
| 27 | IrelandJul 17, 2026–Oct 14, 2026 | 85/90 | 0.0%0 days | 0.00%0/2,031 intervals | 125.6EUR/MWh | 13:00-16:0026 days · local time | 99.6%up to 1 price area |
| 28 | NorwayJul 17, 2026–Oct 14, 2026 | 90/90 | 0.0%0 days | 0.00%0/41,856 intervals | 66.6EUR/MWh | 12:00-15:0027 days · local time | 97.7%up to 5 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 Jul 17, 2026–Oct 14, 2026 and rows with at least 80% usable source coverage. Each displayed market needs at least 72 of 90 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 Oct 15, 2026, 06:56 GMT+2 from observations updated as late as Oct 14, 2026, 23:54 GMT+2. Operators may revise historical values; a later correction can update the same stable report URL.
- Elexon BMRS Open DataData sourceTerms
- Energinet Energi Data ServiceData sourceTerms
- ENTSO-E Transparency PlatformData sourceTerms
- PSE Reports APIData 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.