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 |
- 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:
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:
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:
- 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.
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
- 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.
- 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.
- 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.
- 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.
- 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.
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.
- 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.
- 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.
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
- 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.