These specifications are confidential and are the exclusive Intellectual Property of pdView Pty Ltd.
Renewable bid allocation - no FCAS
Inputs
Information | Source | Description |
---|---|---|
SRMC+ | Solver (any upstream process would do however the solver already calculates this liability). | This is the static SRMC plus the Raise Contingency FCAS liability (which is usually very small). |
FRRP | User selected price forecast source | The forecast energy price |
TPBmin and TPBmax | Trader parameters | The upper and lower pricebands that are meant to span the flat area of the supply curve that represents the bulk of the SRMC of the regions renewable plant. |
Constraint_status | MMS.dispatch_local_price | Contraint_status is equal to 1 if local_price_adjustment is positive and represents the unit is at risk of being constrained OFF, 0 means there are no binding constraints for that unit and -1 means that the local_price_adjustment is negative and represents the unit is at risk of being constrained ON. |
max_capacity (MC) | MMS.dudetail | The volume to allocate. |
Formulas
Price_type
The allocation rules are designed to ensure that the unit will not be generating if a FRRP less than the TPBmin is expected to occur. Similarly the allocation rules are designed to ensure that the unit will be generating at full capacity if the unit is operating between TPBmin and TPBmax but the FRRP is likely to increase above TPBmax . The
if FRRP > max(TPBmax , SRMC+) then price_type=10
if FRRP > min(TPBmax , SRMC+) and FRRP <= max(TPBmax , SRMC+) then price_type=1
if FRRP > min(TPBmin , SRMC+) and FRRP <= min(TPBmax , SRMC+) then price_type=-1
if FRRP <= min(TPBmin , SRMC+) then price-type=-10
Price_phase
if PT = 10 then PP = 10
else PP = min(PTi=1-n) where PTi <> 10 for all i
end
Allocation Rules
All equations below are shortened and imply PB. I.e. max(<TPBmin , >SRMC+ ) means “allocate MC to the first PB where max(PB<TPBmin , PB>SRMC+ )
Different rules for different constraint_status are in bold.
Constraint_status = Any (-1, 0, 1)
If PT = 10 then allocate MC to PB1 |
---|
Constraint_status = 0
PT = -10 | PT = -1 | PT = 1 | |
---|---|---|---|
PP = 1 | N/A | N/A | min(>TPBmin , <SRMC+ ) |
PP = -1 | N/A | min(<TPBmax , <SRMC+ ) | min(>TPBmin , <SRMC+ ) |
PP = -10 | max(<TPBmax , >SRMC+ ) | min(<TPBmax , >SRMC+ ) | min(<TPBmax , <SRMC+ ) |
Constraint_status = 1 (constrained off)
PT = -10 | PT = -1 | PT = 1 | |
---|---|---|---|
PP = 1 | N/A | N/A | PB1 |
PP = -1 | N/A | min(<TPBmax , <SRMC+ ) | min(>TPBmin , <SRMC+ ) |
PP = -10 | max(<TPBmax , >SRMC+ ) | min(<TPBmax , >SRMC+ ) | min(<TPBmax , <SRMC+ ) |
Constraint_status = -1 (constrained on)
PT = -10 | PT = -1 | PT = 1 | |
---|---|---|---|
PP = 1 | N/A | N/A | min(>TPBmin , <SRMC+ ) |
PP = -1 | N/A | max(<TPBmax , <SRMC+ ) | min(>TPBmin , <SRMC+ ) |
PP = -10 | PB10 | PB10 | max(<TPBmax , <SRMC+ ) |
Formulas - simplified
It will be true 99.99% of the time that TPBmin < SRMC+ < TPBmax . The above formulas have been simplified given this is true.
Price_type
The allocation rules are designed to ensure that the unit will not be generating if a FRRP less than the TPBmin is expected to occur. Similarly the allocation rules are designed to ensure that the unit will be generating at full capacity if the unit is operating between TPBmin and TPBmax but the FRRP is likely to increase above TPBmax . For every dispatch interval, one of four price_types are defined as follows:
if TPBmax < FRRP then price_type = 10
if SRMC+ < FRRP <= TPBmax then price_type = 1
if TPBmin < FRRP <= SRMC+ then price_type = -1
if FRRP <= TPBmin then price-type = -10
Price_phase
if PT = 10 then PP = 10
else PP = min(PTi=1-n) where PTi <> 10 for all i
end
Allocation Rules - Simplified
All equations below are shortened and imply first priceband that meets the conditions. For example <TPBmin means “allocate MC to the first PB <TPBmin “
Different rules for different constraint_status are in bold.
Constraint_status = Any (-1, 0, 1)
If PT = 10 then allocate MC to PB1 |
---|
Constraint_status = 0
PT = -10 | PT = -1 | PT = 1 | |
---|---|---|---|
PP = 1 | N/A | N/A | > TPBmin |
PP = -1 | N/A | <SRMC+ | >TPBmin |
PP = -10 | <TPBmax | >SRMC+ | < SRMC+ |
Constraint_status = 1 (constrained off)
PT = -10 | PT = -1 | PT = 1 | |
---|---|---|---|
PP = 1 | N/A | N/A | PB1 |
PP = -1 | N/A | <SRMC+ | >TPBmin |
PP = -10 | <TPBmax | >SRMC+ | <SRMC+ |
Constraint_status = -1 (constrained on)
PT = -10 | PT = -1 | PT = 1 | |
---|---|---|---|
PP = 1 | N/A | N/A | >TPBmin |
PP = -1 | N/A | <TPBmax | >TPBmin |
PP = -10 | PB10 | PB10 | <TPBmax |
Choosing values for Trader Price Band max and min
The aim of the volume allocation rules is for generation to be zero before prices become materially less than SRMC+ and for generation to be at a maximum as prices move from around SRMC+ to materially greater than SRMC+ . To realise this aim volume should be allocated in anticipation of prices that would, or might, transition from prices that would result in positive earnings to prices that would result in negative earnings (and vice versa).
Trader judgement process
Review the supply curve around your SRMC (say -$40, an example is shown below). Then choose a price point that is at least 100MW below your SRMC but where the price point is not too much less than SRMC (this price point is a trader parameter called trader priceband min). In the example I’ve chosen -$52. Similarly choose a price point at least 100MW above your SRMC but where the price point is not too much greater than SRMC (this price point is a trader parameter called trader priceband max). In the example I’ve chosen -$35. Then choose PB2, PB3, PB4 and PB5 as shown below.
Note that pricebands and trader priceband min and max are mostly static numbers. They should only be adjusted to fine tune results or when there is a change to the SRMC.