Electricity Bidding Optimization

1. The case

a) This case study reviews a trading optimization model for a power-generating company via the implementation of QR Trading Optimizer. We operated in an ISO with two 5-min intraday real-time, and day-ahead markets. We configured a real-time intraday bidding optimization model, at the 5 min resolution, for 3 thermal assets:
Asset Installed Capacity MWh Type
U 1 550 Combined Cycle Gas
U 2 700 Combined Cycle Gas
U 3 900 Coal on Pulverized Mills
Total 2150
b) QR Trading Optimizer is an algo trading robot that automatically :
  • Computes Real-time Optimal Bidding strategies for traders’ use in actual trading. It does so under incomplete information and uses our AI forecasts for system demand, nodal prices and offer stack.
  • Allows traders to make changes to the optimal bids, if they so desire, and make their own final Variation bids for submission to the ISO.
  • Allows traders to upload separate alternate bidding strategies for Scenario analysis.
  • Computes Back Test Optimization and performs comparative P&L analysis post trading for performance analysis across all scenarios: Actual, Optimal, Variation, Scenario. This is done under complete information after actual prices and offer stack become known.

2. Results

We discuss here the Performance and Gains for 3 types of days, a weekday (Friday), a Saturday and a Sunday.

QR Optimizer proceeds as follows:
1. Execute Real-time Trading Optimizer to evaluate the Optimal Bids that maximize the net profit from generation and buy-sell in the market. These are the bids used by traders in trading.

2. Perform Back Test Trading Optimization: A few weeks after the trading date, the ISO publishes the Actual Offer Stack, Actual Bids, RTD prices and dispatch for all plants in the market. The system:
  • a) Computes the P&L corresponding to the Actual Bids, the so-called Actual P&L.
  • b) Replaces, in the Actual Offer Stack, our plants’ Actual bids with the Optimal Bids from Step (1). The system then deduces the expected (optimal) price and cleared RTD the Optimal Bids would have fetched in this Actual Offer Stack. It then runs settlements to compute the corresponding expected fuel & OPX cost and generation revenue, and hence the so-called Optimal Back Test P&L.
  • c) Repeats step (b) with the Scenario bid this time and obtains the Scenario P&L.

The ultimate and fair performance analysis of the optimizer value is to compare the Optimal Back Test P&L, and (with) the Actual or Scenario P&L via the Gain indicator:

Optimization Gain = Optimal Back Test P&L Actual P&L

The Results:
To report the results, we divide the day in 2 periods, Off Peak, from midnight to 1 pm, and Peak from 1 pm to midnight:
Optimization Gains ($) Optimal Generation (MW) Optimization Gain Rate ($/MWh)
Date 12 am – 1 pm 1 pm – 12 am 12 am – 1 pm 1 pm – 12 am 12 am – 1 pm 1 pm – 12 am
6/5/2020 41,261 110,083 14,938 15,148 2.76 7.27
6/6/2020 41,261 115,364 14,951 15,120 4.69 7.63
6/7/2020 70,078 105,447 14,962 15,093 1.37 6.99
Daily Average 43,926 110,298 14,950 15,120 2.94 7.29
Optimization Highlights:
Trading Optimization Payoff During Peak Periods
During the Peak and Off-Peak periods roughly the same generation quantities in MW are being optimized, but the optimizer gains are about 3 times bigger during Peak Periods, this is because spot and bid prices are higher during Peak hours and the optimizer has more room to play with in the offer stack and move prices higher.
Trading Optimization Gain
On the (an) average, the optimizer added a gain of 2.94 $/MW for every MW generated during Off Peak and 7.29 $/MWh during Peak hours. This means for every 1000 MWh optimized QR Trading Optimizer can create an additional daily profit of about $ 100,000:
  • 1000 MWh * 12 h * 2.94 $/MWh = $ 30,528 per day during off-peak periods.
  • 1000 MWh * 12 h * 7.29 $/MWh = $ 80,748 per day during peak periods.
Wear-and-tear Minimization

On a daily basis, the installed capacity for the 3 plants is 2,150 MWh. The optimizer decides to dispatch about 15,000 MW / 12 = 1250 MWh. Some of this capacity reduction is due to testing periods and outages, and some of it is due to the fact that the optimizer rationally plans for and uses the plants when economically profitable. This contributes to more harmonized dispatch and less wear-and-tear and maintenance costs.

The Optimization Model Requirements
QR Trading Optimizer handled all the requirements for the trading model as listed below:
1. The ISO bidding protocols:
  • a) The ISO is a 5-min market with demand, meter, LMP nodal prices, and settlement at 5-min resolution.
  • b) For every trading period, each plant must submit up to 10 bids or offers of the type (Bid Quantity i, Bid Price i), i = 1 .. 10. The aggregate bid quantities must equate each plant’s available capacity, which should be adjustable at 5 min resolution depending on the plant’s condition. Bid prices must be increasing across the 10 bids.
  • c) The offer stack used and published by the ISO, a few weeks later, is on a 5-min timescale.
  • d) The ISO allows 2 types of intraday bidding. Plants can submit 5-min resolution bids to the ISO. They can also submit 60-min resolution offers. This means 1 set of 10 bids are applicable to all twelve 5-min trading periods of each hour. Gate closure is 5 minutes forward, and generators can resubmit the hourly bids every 5 minutes, this is one way they can revise their bids intraday at 5-min resolution. Using the 60-min bids, and 5-min system demand, the ISO determines the final 5-min resolution offer stack, Plants RTD, and LMP nodal prices.
2. The ISO bidding protocols:
  • a) The optimization solution must compute optimal bidding strategies for every trading period starting from the execution time until the end of the day.
  • b) The optimization solution must be executed automatically every 15 minutes, 24/7, using the latest updated data, as markets unfold, and produce new and revised bids until the end of the day.
  • c) The objective of the optimization model is to maximize the net profit from bidding in the ISO, and resulting generation, subject to all constraints, including ISO bidding rules, plants’ operational constraints (e.g., ramp, in or must run quantity, forced time up if up, or time down when down), fuel and OPX cost (per MW produced, per runtime, start and shutdown), fulfillment of existing bilateral (wholesale and retail) energy and reserve contracts sold if any, rules for price cap imposition if any.
  • d) Required outputs of the trading optimization model:
    • 10 optimal bids for every forward trading period, from execution time until end of day. For example, at hr. 0 this is 240 hourly optimal bids, and at hr. 1, it will be 230 hourly optimal bids and so on.
    • The outputs also include the expected / forecasted 5-min offer stack, clearing RTD, LMP nodal spot price, and detailed nodal P&L, should the optimal bids be submitted to the ISO.
    • The optimal hourly bids must optimize the underlying 5-min actual offer stack, that is maximize the net P&L, collectively for all the 12 (twelve) 5-min trading periods, hour after hour, until the end of the day.
  • e) The model must gather and manage the data required as input.
  • f) The model must be scheduled for automatic execution every 10,15 or 30 minutes.
  • g) All optimization model configurations are performed on the screen without coding or scripting.
2.The optimization model must satisfy these constraints:
  • a) A portfolio optimization model for all 3 plants together.
  • b) Must-run or minimum generation level for each plant.
  • c) Must stay up duration (respectively down) if the plant is up (respectively down).
  • d) Non-linear ramp up and down curves, implemented as piecewise linear curves.
  • e) Generation level dependent generation cost (fuel and OPX), allowing multiply fuel at different capacity levels.
  • f) Generation level dependent market spot price.
  • g) Ability to share bidding with joint partners. We optimize our own bids and take in the partner’s bids.
  • h) Ability to incorporate the bids of our other plants that are not optimizable, meaning their generation levels can’t be modified.
  • i) Ability to adjust the plants’ available generation capacity in real-time.
  • j) Manage sold third party retail and wholesale bilateral contracts.
  • k) Manage sold reserve contracts quantities.

2. Real-time and Back Test Optimization

ISOs typically publish the stack of offers and bids with some delays, e.g., 2 weeks. This data plays a crucial role in our bidding optimization model.
1. Real-time Trading Optimization
  • In this mode, the actual offer stack is unknown on the trading day. We use the last published offer stack, e.g., from 2 weeks ago, and calibrate it for every trading period of today, using the system load, nodal spot price and renewables forecasts (by QR Forecaster), outages, and if at all, the known bids of our other plants and partners. This calibrated offer stack is used to optimize the bidding of our plants for every forward trading period until the end of today or tomorrow.
  • The optimization solver uses global optimization algorithms to identify the set of bids, for each forward trading period, that maximize the profit in the calibrated offer stack we just computed. When the optimal bids are computed, they are placed in the calibrated offer stack and the resulting expected optimal RTD and spot prices are deduced. The outputs are: Optimal bids, expected optimal RTD and spot price, and corresponding P&L. We call this the Optimal P&L.
  • Traders use the optimal or other bidding strategies to make a set of variation bids to submit to the ISO, which result in actual RTD and prices. We call this the Variation P&L.
  • The system displays in real-time, side by side, the optimal and variation bids and their P&L in a Trading panel, for business intelligence and performance measurement for traders and management.
2. Back-test Optimization As explained above, a few weeks after the trading date, the ISO publishes the Actual Offer Stack, Actual Bids, RTD prices and dispatch for all plants in the market. The system then performs Back Testing runs to measure the comparative performance of various strategies as in algo trading. More precisely, QR Trading Optimizer:
  • Computes the P&L corresponding to the Actual Bids, the so-called Actual P&L.
  • Replaces, in the Actual Offer Stack, our plants’ Actual bids with the Optimal Bids from Step (1). The system then deduces the expected (optimal) price and cleared RTD that the Optimal Bids would have fetched in this Actual Offer Stack. It then runs settlements to compute the corresponding expected fuel & OPX cost and generation revenue, and hence the so-called Optimal Back Test P&L.
  • Repeats step (b) with the Scenario bid this time and obtains the Scenario P&L.
The true and fair-trading performance analysis is the comparison between various scenarios and the Back Test Optimal P&L. This is what we call Gain:

Optimal vs Actual Gain = Back Test Optimal P&L – Actual P&L

Optimal vs Scenario Gain = Back Test Optimal P&L – Scenario P&L

These Gains are those displayed side by side in a Trading Performance Panel.

3. Optimization method

QR Trading Optimizer is used to implement, via on screen configuration, a bidding optimization model that meets all of the above requirements of the client.

a) Optimization model:
  • Each plant can submit for each trading period, up to 10 bids or offers to the ISO, e.g., (Vol 1, Price 1), (Vol 2, Price 2) etc.
  • In short, bidding optimization amounts to exploiting any opportunity in the offer stack of each market, to compute the (optimal) Prices i of each of the 10 bids, for each forward period, so that the resulting expected RTD and system price of each period, generate the maximum profit for the day.
b) Bid Pricing Methods. The optimizer computes the volume and price of bids whose expected RTD and system price maximize net profit. The global optimization methodology used is genetic computing or pattern search. These start with some initial solutions and evolve them by some rules towards the optimal solution. QR Trading Optimizer offers tools to greatly aid and accelerate the evolution process:
  • A heuristic best initial set of solutions (chromosomes) is computed subject to all constraints. Their offspring accelerate evolution to the optimal solution with the least error.
  • A menu of Bid Pricing Methods is offered. Users can select a desired pricing method when configuring a model. In short, these bid pricing algorithms guide the trading strategies. E.g.:
  • Aggressive pricing escalates the bid prices higher, than the forecasted spot price, sooner and at a lower level in the 10 possible bands, e.g., after the 4th bid band. This would make the plant a price-maker, driving market prices higher when possible.
  • Conservative pricing would start pricing bids near fuel cost and increase bid prices at higher bid band levels, e.g., 7th bid band, towards the forecasted spot price. This would make the plant a price-taker.
  • Intelligent pricing leaves the decisions to automatically switch between Conservative and Aggressive to the system by choosing which method is more appropriate to a given system spot price level. When prices are low, e.g., off peak periods, it chooses the Conservative, and when prices are high, e.g., peak periods, it chooses the Aggressive method.
c) High Frequency Trading. The above pricing algorithms work fine in a 60 min market as the resulting RDT would fluctuate and change at most once an hour, as bids change, allowing orderly planning for the plant and fuel. A different and more complex problem arises when we transition to lower resolutions such as a 5 min market. It is quite possible for 5 min bids to be accepted or rejected in sequences we can’t control. This could then lead to RTD fluctuations at 5-minute frequency. And this is a problem for the plant and fuel procurement.

d) QR Trading Optimizer has built-in algorithms that allow it to control the price of the bids evolving towards the final optimal solution. It does so by minimizing the risk of falling into an RTD fluctuation turbulence zone, while aiming to move the spot price in a favorable direction to maximize profit.

4. RTD Fluctuation of Actual versus Optimal

Extra gains can be only achieved by playing around with RTD. Typically, lowering RTD increases spot prices and hence the profit. If a plant maintains a steady RTD irrespective of market prices, the plant can’t be optimized. In other words, there is a mutual exclusion between a strategy of steady RTD and trading optimization. The 3 assets in this study operate in a 5-min market. The plots below show the RTD of the 3 plants, the actual on the left side, and the optimal on the right. It should be noted that in nearly all cases, the RTD of the plants, had the optimal bids been used, resulted in lesser sudden fluctuations and are therefore better for the health of the plan, while they also generated more profits. QR Trading Optimizer has many features, among which is one that sets the priority dispatch of plants in portfolio optimization models. This allows to set the order in which plants should be called in to affect the overall RTD and hence the spot price. This keeps the RTD of the other plants rather stable and uses one plant for optimization’s RTD adjustment.  You can see this on the plots below:
  • On Friday, in the actual RTD on the left, the plants in blue and red follow the same RTD profiles, which incidentally are quite volatile. On the right-hand side, the optimal bids result in stable red plant RTD while using the blue plant for sudden fluctuation to increase prices. This profile is reversed on the next day on Saturday, where the blue plant is kept steady, and the red plant is used for sudden RTD fluctuation.
  • In a 5 min market, if a trader uses static bids, and the plant becomes the marginal plant of one or several periods, its RTD may fluctuate up and down on a 5 min frequency. This is exactly what happened to the Actual RTD in red and blue on Friday in the middle and end of the day. On the other hand, the optimizer solves the problem for all forward periods and plans its decisions accordingly, which results in a more stable RTD and higher profit.
3 Plants Actual RTD, 5-min, Friday
3 Plants Optimal RTD, 5-min, Friday
3 Plants Actual RTD, 5-min, Saturday
3 Plants Optimal RTD, 5-min, Saturday
Download Brochure​
For traders, asset & portfolio managers, QR Trading Optimizer offers a suite of ready-for-use advanced trading optimization solutions tailored for intraday & day-ahead trading, long-term planning & asset valuation
Download Brochure
Next Step
We look forward to exploring the range of options for your projects. Please write to us and one of our project managers will get back to you at once.


Our Clients Say

After thorough investigations, we commissioned a “Proof of Concept” implementation of QR System for a period of 2 months. The goal was to implement core functionality out-of-the-box. The POC was a resounding success in all its goals. The system was configured to handle wholesale trading, billing, invoicing and reporting, as well as our bilateral OTC power procurements and sample retail contracts. QuantRisk Platform delivered outstanding performance in all areas of functionality. The advanced analytics offered very impressive precision in forecasting load, and the dispatch optimization module was able to recommend very valuable trading strategies that we found to be possible to implement over time.
COO of a Utility Group

Lets Talk About Your Needs

We look forward to exploring the range of options for your projects. Please write to us and one of our project managers will get back to you at once.
Consult Us
Our Contact Details:
Product Brochures