Electricity markets: What does it take to reproduce long strokes of negative prices?

Hello,

I’m cross posting a question I also shared on LinkedIn and on my personal website. Python code notebook available at GitHub - pierre-haessig/electricity-dispatch-negative-price: Modeling negative electricity prices using a simple dispatch optimization · GitHub.

Question on electricity markets: What does it take to reproduce long strokes of negative prices? :chart_decreasing:

This week, I was trying to get a deep understanding of the necessary conditions for the appearance of contiguous periods (“long strokes”) of negative prices in electricity spot markets. Such strokes appeared for example last weekend (5 Apr 2026).

For this study, I’ve created a toy economic dispatch, with as few parameters as possible. Indeed the goal is certainly not to recreate a complicated twin of the real power markets but instead only summon the simplest elements which are needed to cause the phenomenon.

My core assumption, waiting to be refuted, is that negative system prices can appear even when the marginal costs of all plants in the system are positive or zero. I suppose that inflexibility (e.g. block orders) should suffice. Is this indeed the case?

As of now, with only two power plants (base: cheap but inflexible and peak: flexible but expensive), the dispatch model can reproduce isolated negative marginal price events (see video capture), which occur at the single instant(s) supporting the curtailment of the base plant due to its inflexibility. However, this model cannot reproduce a sequence of consecutive negative price instants :cry:.

Adding free solar electricity makes up for more colorful graphs and generates long strokes of zero marginal price, but not strictly negative.

So my question/challenge is :face_with_monocle:: what does it take to reproduce long strokes of negative prices?

  • A full-blown day-ahead power market model? Hopefully not!

  • Introducing binary (ON/OFF) decisions or other non-convexities? Perhaps, is it necessary to reproduce single negative price instants?

  • A larger, more diverse, fleet of power plants? Perhaps even a number as large the number of consecutive negative instants to be reproduced?

Answer not found yet…

I have tried too look into this topic a while ago, but used agent-based modelling, where I tried to estimate the real marginal cost of the power plants considering markups and opportunity costs on other markets such as control reserve, or district heating contracts.

I took a look at the repo, and would consider adding minimum running time for the inflexible power plant too, which could explain why a conventional powerplant might be willing to bid with a negative price on an electricity market to avoid restart costs.

Thanks for the reference. This morning Xplore is down, so I only found the abstract so far, but I’ll look through it. Still, I have one question I have about:

which could explain why a conventional powerplant might be willing to bid with a negative price on an electricity market to avoid restart costs.

On that matter, are there studies which analyze the negative price bids of inflexible plants (not just the negative clearing price, and not the negative floor bids at -500€/MWh for must-run plants with feed-in tariffs)? Because to me to me it seems these negative price bids go against the initial idea of spot market which are meant to force participants to bid at their marginal cost. Or perhaps the negative marginal cost is the effect of participants doing a “self dualization” of their inflexibility constraint?

Coming back to your remark on adding a minimum running time, sure this goes in the good direction, but I found an easier proxy for this toy example: power must be constant, which is like imposing an infinite (or 24 hours) running time. Only, this convex approximation doesn’t capture potential fixed costs.