powertac / powertac-server

Power TAC simulation server
www.powertac.org
Apache License 2.0
44 stars 35 forks source link

Dynamic mechanism for balancing market RM prices #915

Open mansarin opened 7 years ago

mansarin commented 7 years ago

In each timeslot, when the spot market (i.e. wholesale market) closes, all consumptions and generations are revealed and the balancing market is tasked with making the two meet. In the worst case scenario, brokers do not offer demand response on the balancing market and everything is handled by the RM. Currently, the balancing market's regulating entity's P+ and P- prices are based on the cleared spot price in the current timeslot. However, sometimes it happens that these prices are higher than what brokers would've expected had they purchased this energy in the wholesale market. We proved this in the ISGT-E 2016 paper. So why not take that price, i.e. the price the market would have cleared at if the energy traded in the balancing market was actually traded in the wholesale market, and use that to define P+ and P-? This way, brokers can always expect balancing market prices to be worse than that timeslot's wholesale prices.

For up-regulation, this would fix the problem of encouraging brokers to enter the balancing market with an expectation to run short on energy. Since we can expect the final timeslot's clearing prices to be higher than all prior timeslots, we just need to get the uncleared orders in the orderbook, add the balancing market's energy deficit, and find the new clearing price. This should be easy to do.

For down-regulation, brokers must always be encouraged to enter the balancing market with as positive an energy balance as possible (i.e. with minimum deficits). The main way to encourage this would be to ensure the prices they sell their energy at in the balancing market are lower than the prices they have paid in the wholesale market prior to that. That is, we want to prevent arbitrage between the two markets (do we?). This would require checking all clearings from the prior 24 timeslots for the current timeslot, remove the excess balancing market energy for our timeslot, and use the lowest new clearing price from those. I have a hunch that this number would reduce to zero or near zero in most cases. Thus, it might make sense to have P- = 0.

jecollins commented 7 years ago

This could be done with pPlus (up-regulation) by using the most recent orderbook for the current timeslot and computing the price that would have resulted by buying all the needed energy in the forward market. In other words, the fixed pPlusPrime would be replaced with a dynamic value produced by walking up the merit order curve. But the orderbook does not give us enough information to compute the equivalent price for down-regulation. The best we could do with information that's currently available would be to compute the slope at the most recent clearing (the price/quantity ratio of the first uncleared ask) and use that for pMinusprime.

jecollins commented 7 years ago

Given that we can always expect the supply curve to be concave upward, a fixed linear slope applied to both up-regulation and down-regulation is always more attractive for up-regulation. So the question is, what is a feasible way of determining regulation prices that motivates brokers to aim for balance in expectation?

mansarin commented 7 years ago

In the orderbook, do we not have all the cleared bids and asks as well? If so, in case of surpluses, can't we just go backward on the supply curve? That is, go backward through the cleared asks and lower the cleared energy volume by balanced energy volume, find the last cleared ask for the new cleared energy volume, and set that as the price for balancing market regulation. Does this make sense?

jecollins commented 7 years ago

The orderbook does NOT have all the cleared bids and asks. That is private information, while the uncleared bids and asks are public info. It would be possible to keep track of them in the server, but that's not being done at the moment.