Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Traders use their market knowledge to set key inputs in pdBidr. These inputs are four priceband values and two trader parameters called Trader Price Max (TPmax) and Trader Price Min (TPmin). Volume is then allocated to one of the four pricebands (or priceband1) as a function of these two Trader Parameters as well as the SRMC (or turn down price) and forecast prices. TPmax, TPmin and SRMC are Bid Parameters.

Inputs and definitions

Information

Source

Description

SRMC + Raise Contingency Liability

= SRMC+

SRMC is a Bid Parameter. Raise Contigency Liability is calculated by the Solver.

This is intended to represent the static SRMC plus the Raise Contingency FCAS liability (which is usually very small).

Note that the addition of the FCAS liability is currently disabled.

FRRP

User selected price forecast source

The forecast energy price

TraderPriceMinimum and TraderPriceMaximum (TPmin and TPmax)

Trader parameters

These parameters define the PriceType and consequently PricePhase (see below) and also provide the lower and upper limit of the pricebands where volume may be allocated (other than priceband 1 which volume may also be allocated to).

Constraint_status

MMS.dispatch_local_price

Constraint_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. As of the time of writing we consider it best to enter the constraint_status as a static trader parameter.

max_capacity (MC)

MMS.dudetail

The volume to allocate in the chosen priceband.

Formulas

The complete formulas are provided at the end of this page under the heading “Formulas - complete” and are written to be programmatically unambiguous. To simplify the concept the following section excludes the dynamic FCAS liability and is headed “Formulas - simplified”.

...

The forecast price for each dispatch interval is characterised as one of four “price_types (PT)” where the PT is assigned a label (which is entirely arbitrary) of either -10, -1, 1 or 10. PT is a function of the TPmin, SRMC and TPmax. PT is defined as follows:

PT

Condition

Explanation

10

TPmax < FRRP

Expected price is sufficiently above SRMC that I want to ensure unit operates at full capacity

1

SRMC < FRRP <= TPmax

Expected price is above SRMC but I’m willing to move volume out of PB1

-1

TPmin < FRRP <= SRMC

Expected price is below SRMC but I want to allocate volume near SRMC

-10

FRRP <= TPmin

Expected price is significantly below SRMC and I want to avoid being dispatched whilst prices are likely to stay very low

PT for the next three dispatch intervals

...

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

> TPmin

PP = -1

N/A

<SRMC+

>TPmin

PP = -10

<TPmax

>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+

>TPmin

PB1

PP = -10

<TPmax

>SRMC+

<SRMC+

PB1

Constraint_status = -1 (constrained on)

PT = -10

PT = -1

PT = 1

PP = 1

N/A

N/A

>TPmin

PP = -1

N/A

<TPmax

>TPmin

PP = -10

PB10

PB10

<TPmax

Choosing values for Traderprice max and min

...

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(>TPmin , <SRMC+ )

PP = -1

N/A

min(<TPmax , <SRMC+ )

min(>TPmin , <SRMC+ )

PP = -10

max(<TPmax , >SRMC+ )

min(<TPmax , >SRMC+ )

min(<TPmax , <SRMC+ )

Constraint_status = 1 (constrained off)

PT = -10

PT = -1

PT = 1

PP = 1

N/A

N/A

PB1

PP = -1

N/A

min(<TPmax , <SRMC+ )

min(>TPmin , <SRMC+ )

PP = -10

max(<TPmax , >SRMC+ )

min(<TPmax , >SRMC+ )

min(<TPmax , <SRMC+ )

Constraint_status = -1 (constrained on)

PT = -10

PT = -1

PT = 1

PP = 1

N/A

N/A

min(>TPmin , <SRMC+ )

PP = -1

N/A

max(<TPmax , <SRMC+ )

min(>TPmin , <SRMC+ )

PP = -10

PB10

PB10

max(<TPmax , <SRMC+ )