Summary
This page describes the optimisation process and how Trader Parameters are used to allocate MW volume to Pricebands within each bid.
Optimisation Process
The core optimisation process does not distinguish between energy and the eight FCAS however the Bid Formulation process for Energy is quite different compared with FCAS.
Energy bids are formulated by adjusting volume within the latest manual energy bid, FCAS bids are formulated from scratch.
The workflow below shows the key inputs and outputs of the optimisation process.
The Autobidder Solver determines the optimal mix of service volumes to be dispatched for any set of price forecasts; subject to unit and market constraints. The two key inputs into the Solver are the “Forecast RRPs (FRRP)” and available volume or volume range of each service. This volume is termed “Discretionary Volume (DV)” since it is the range of volume that the Solver has the discretion to calculate the output “Optimal Volume (OV)” to be dispatched.
The Solver also produces a “Break Even RRP (BERRP)” for both OV and NOV (greater than 0) which approximates the price at which the dispatch of the service is marginal. The BERRP is used to allocate volume to PriceBands (PB) in a bid.
Trader Parameters
Trader Parameters help determine where MW volume is to be allocated in a bid. There are four trader parameters for each FCAS;
Trader Price 1, 2 and 3 (TP1, TP2 and TP3), and
Trader Limit Volume (TLV).
And one for each energy service;
Trader delta Limit Volume (TdelLV).
Details of these Parameters are provided in the sections below.
Learn how to edit a Trader Parameter in Trader Parameter Page
FCAS Bid Formulation
The diagramme below, Derivation of inputs for FCAS bid formulation, shows how the user inputs of Bid MaxAvail Volume (MAV) and Trader Limit Volume (TLV) are processed.
MAV is the physical bid parameter MaxAvail. Physical bid parameters are bid as normal by the Trader.
TLV is a Trader Parameter. The purpose of TLV is to limit DV as follows:
DV = Min(MAV, TLV)
For example the MAV for an FCAS service may be large compared to the size of the market. For example, let MAV for L60 to be 150MW. If the Trader wishes to constrain the DV (and thereby the potential OV) to less than this amount, say 30MW, then a TLV of 30MW for L60 can be applied. The DV is then the minimum of MAV and TLV, i.e. 30MW. If MAV is greater than DV then the difference is the Non Discretionary Volume (NDV). Therefore
NDV = max(0, MAV-DV).
The NDV is not an input into the Solver.
Depending on market conditions, the OV output of the solver for each service and duid could be equal to zero, DV or anywhere in between. The difference between DV and OV is termed the Non Optimal Volume (NOV). Therefore,
NOV = DV - OV.
The following workflow is specific to FCAS and is a more detailed version of the general ‘optimisation process’ shown above. It shows the derivation of the DV, NDV, OV and NOV.
Once OV, NOV and NDV have been derived, a coherent bid needs to be formulated. Note that,
OV + NOV + NDV = MAV
However there are many degrees of freedom when assigning these volumes in a bid because there are a number of PBs that volume may be allocated where the OV would be expected to be dispatched and where the NOV and NDV would not be expected to be dispatched (at least under normal market conditions).
For example, if the FRRP is $20 then OV may be allocated in any PBs less than $20 and NOV and NDV may be allocated in any PBs greater than $20. Note that if price forecasts are 100% accurate then it doesn’t matter how OV, NOV and NDV are allocated, as long as OV and NOV/NDV are allocated in PBs less than, and greater than FRRP respectively.
However FRRPs differ from actual price outcomes and therefore allocating OV, NOV and NDV is important since it can impact actual revenue and can also impact longer term market dynamics. Therefore volume allocation rules must be defined to formulate a bid. A simple example of an allocation rule is to allocate OV to PB1 and NOV to PB10. This allocation rule could be thought of as a pricetaker strategy where you are indifferent to variations in actual prices compared to forecast prices. The goal of this strategy would be to ensure you are enabled the volumes that the solver determined to be optimal - irrespective of the actual price outcomes.
FCAS volume allocation process
The workflow below, FCAS Volume Allocation, shows the inputs and the logic to allocate each of these three volumes to a bid. The workflow also shows an additional three optional inputs to the bid formulation called Trader Prices (TP1, TP2 and TP3).
These Trader Prices help define a lower or upper bound of prices (pricebands) where volume may be allocated.
These allocation rules can be explored in pdBidr via the Bid Allocation (demo).
You may enter any values and see how the Output (allocated volume) is determined.
Note that you must insert a value for BERRPOV < FRRP and FRRP < BERRPNOV
Optimal Volume (OV) Allocation
OV is allocated in PBs between the BERRP and the maximum of FRRP and TP1. (Note that by definition BERRPOV < FRRP when OV > 0.)
If there are no available PBs between the BERRP and max(FRRP, TP1) then allocate OV in the first PB < BERRP.
If there are still no PBs then allocate OV to PB1.
The purpose of TP1 is to prevent all of the OV being inserted into very low PBs in the event that FRRP is small (which is often the case, for example Lower contingency services).
If you wish for TP1 to be ignored then set TP1 to zero.
Non Optimal Volume (NOV) Allocation
NOV is allocated in PBs between the BERRP and TP1.
Note that by definition BERRPNOV > FRRP.
If there are no available PBs then allocate NOV in the first PB > BERRP.
If there are still no PBs then allocate NOV to PB10.
Non Discretionary Volume (NDV) Allocation
Under normal market conditions NDV is volume that is not intended to be dispatched. The main reason for this is to avoid oversupplying the market. However if demand, and therefore price, is high enough then it is worthwhile providing additional volume. A “high enough price” is defined as Trader Price 2 (TP2).
If you wish to avoid allocating NDV into very high pricebands then you may insert Trader Price 3 (TP3) which ensures NDV is allocated in PBs less than TP3. TP3 is generally used to prevent NDV being inserted into PB10.
NDV is allocated in PBs between max(TP2, BERRP) and TP3.
If there are no available PBs then allocate NDV in the first PB > max(TP2, BERRP).
If there are still no available PBs then allocate NDV in PB10.
If you wish for TP3 to be ignored set TP3 >= VoLL.
You should set a reasonable value for TP2. For example $100. If you set a very low value then you will enable more volume than intended and if you set a very high value then it is very unlikely that NDV will ever be enabled.
Aggregate of Volume Allocation
The three sets of allocated volume (OV, NOV and NDV) are then aggregated into a single bid. This is the final optimised bid ready to be submitted.
Energy bid formulation limits
Unlike FCAS bids, Spot Traders will continue to manually submit energy bids to optimise the value of your energy portfolio. The last manually submitted bid is termed the reference bid. Under certain conditions the Solver may adjust volume within the reference bid by a limited amount. This amount is called the Trader delta Limit Volume, TdelLV. The following definitions and constraints apply to the calculation:
An amount of volume up to TdelLV may be repriced in the reference bid.
The current expected energy target is termed Current Volume (CV) and is defined from the reference bid as the sum of PB(1,n) where PBn <= FRRP and is limited to the value of the bid maxavail.
The DV will have a minimum and maximum value, minDV and maxDV.
The Solver will apply the energy constraints, minDV <= OV <= maxDV and solve for OV. OV minus CV is defined as the delta Optimal Volume (delOV).
The Solver may only reprice delOV to lower PBs for the purpose of increasing lower FCAS enablement.
The Solver may only reprice delOV to higher PBs for the purpose of increasing raise FCAS enablement.
Repricing Energy for Lower FCAS optimisation
The Lower FCAS Availability diagramme shows the circumstance where the limit in point 5 above applies.
Therefore,
minDV = CV , and
maxDV = min[CV + TdelLV, MaximumImpliedLowBreakPoint(MaxLowBP)],
where MaxLowBP = max[( EnablementMin + DV ) of all lower FCAS].
Note that in the diagramme CV+TdelLV is shown to be less than the MaxLowBP however this is not necessarily true.
delOV is moved from the first PB where sufficient volume is available. I.e. from PBx, PBx+1,…etc. to PBy, where PBx => FRRP and PBy < min(FRRP, BERRP).
Repricing Energy for Raise FCAS optimisation
The Raise FCAS Availability diagramme shows the circumstance where the limit in point 6 above applies.
Therefore,
maxDV = CV , and
minDV = max[(CV - TdelLV, MinimumImpliedHighBreakPoint(MinHighBP)],
where MinHighBP = min[( EnablementMax - DV ) of all lower FCAS].
Note that in the diagramme CV-TdelLV is shown to be greater than the MinHighBP however this is not necessarily true.
delOV is moved from the first PB where sufficient volume is available. I.e. from PBx, PBx-1,…etc. to PBy, where PBx <= FRRP and PBy > max(FRRP, BERRP).
Energy DV Calculations and Volume Allocation Workflow
The workflow below shows the inputs, calculations and conditions used to derive the minDV and maxDV.
Note that when MaxLowBP < CV < MinHighBP then minDV = CV = maxDV. In other words the Solver is prevented from repricing energy volume because increasing or decreasing energy volume will not increase the potential enablement of either raise or lower FCAS.
Energy bid formulation process
The workflow below shows the outputs of the Solver where energy is repriced depending on whether delOV is positive or negative.
Note that volume is taken from the first PB(s) that meets the condition of PBx >= FRRP if delOV > 0 (or conversely volume is taken from the first PB(s) that meets the condition PBx <= FRRP if delOV < 0) .
Glossary
Term | Acronym | |
---|---|---|
BreakEvenRRP | BERRP | a calculated RRP where the service is marginal based on FRRP of other services. Note that the BERRP may be greater or less than FRRP. |
CurrentVolume | CV | is the expected energy target based on the reference bid and FRRP. This is required since Energy optimisation is limited by the reference bid. |
DiscretionaryVolume | DV | = Min(MAV, LV) for each FCAS This variable is an input into the Solver |
ForecastRRP | FRRP | is the forecast RRP of the service. Initially this will be the latest p5min forecast. |
Max Avail Volume | MAV | is the maxavail as bid for each FCAS. Note that the word Volume has been appended to the definition for consistency with other volume definitions. |
Maximum Discretionary Volume | maxDV | is the maximum energy volume that the Solver may determine as optimal. |
Minimum Discretionary Volume | minDV | is the minimum energy volume that the Solver may determine as optimal. |
NonDiscretionaryVolume | NDV | = MAV - DV Note that this variable is not an input into the Solver. |
NonOptimalVolume | NOV | = DV - OV |
OptimalVolume | OV | is an output of the Solver and is the optimal volume of each FCAS to be dispatched. |
ReferenceBid | the last manual energy bid submitted to AEMO for a given day. | |
Trader Delta Limit Volume | TdelLV | is a user inserted value that limits the volume that may be repriced from an energy reference bid. |
Trader Limit Volume | TLV | is a user inserted value that aims to limit the Discretionary Volume consumed by the Solver for each FCAS. |
TraderPrice1 | TP1 | is an optional user inserted value that limits the minimum price of a Priceband when applied to the allocation of OV. |
TraderPrice2 | TP2 | is an optional user inserted value that limits the minimum price of a Priceband when applied to the allocation of NDV. |
TraderPrice3 | TP3 | is an optional user inserted value that limits the maximum price when applied to allocation of NDV. Generally this is used to avoid allocating volume to PB10. |
Setting Priceband values
Currently the sophistication of the algorithms is far from being able to suggest optimal priceband values. Traders will continue to select priceband values however benchmarking is expected to provide some guidance.
Plant Costs
Initially a single value will be used for fuel cost, that is to say the input into the algorithm will be a constant.
However the constant could then be calculated from current generation. Similarly dynamic costs could be a cost applied after optimal solution and volume could be adjusted.