PriceCalc
Revision History
Version | Release | Date | Comments |
---|---|---|---|
Draft 0.1 |
2021-06-15 |
Section Definitions have been updated for PriceCalc and Calculated Price. |
|
Draft 0.2 |
2021-06-18 |
PriceCalc:
AuctionRunID pattern:
|
|
Draft 0.3 |
2021-07-13 |
Last preparation before release of PriceCalc document :
|
|
1 |
0 |
2021-08-13 |
|
1 |
1 |
2023-02-13 |
|
1 |
1 |
2024-01-05 |
|
Introduction
The intention with this document is to support the team working with PriceCalc (PC) module. The objective is to examine the need of data/message exchange between the TSOs and the PriceCalc.
Purpose
Main objective with this document is to define and describe what is needed by the PriceCalc to deliver the business objective "Calculated Prices" which consists of two message objects, Imbalance Prices and Cross Border Marginal Prices (CBMP). These messages will be used for different purposes, and one of them is the reporting to the Transparency Platform.
Scope
This document does not cover all parts of what PriceCalc will do, and the main purpose is to extract all data exchanges the TSO must prepare to consume and produce in connection to what PriceCalc is supposed to deliver. In this case, it is for serving the business object "Calculated Prices"
PriceCalc module will calculate activation prices for standard products, balance and imbalance.
Other pricing is done in local systems. This includes activation for system purpose, pricing of non-standard products and pricing of activation done for TSO-specific processes such as Period Shift.
Business process
The sequence diagram illustrates the business process required for supporting the business object.
Definitions
Definition | Description |
---|---|
PriceCalc |
|
Calculated Price |
|
Day Ahead Prices |
Already defined by MNA. |
Requirements
Req.no. | Message Object | Sending frequency | Resolution | Period | Area | Comments |
---|---|---|---|---|---|---|
BR-PC-1 |
PT60M, PT15M |
24 Hours |
Synchronous Area |
Defined by RSC. |
||
BR-PC-2 |
Event, each 15 min. |
PT15M |
<24 Hours |
Event based and periodic.
Periodic: 15 min. Received in common solution less than 3 min after BSP bid GCT for 99% QH for a day. Not more often than each 1 min. |
||
BR-PC-3 |
event |
PT15M |
Bidding Zone. |
|||
BR-PC-4.1 |
PT15M |
Price for Schedule Activation. |
||||
BR-PC-4.2 |
PT15M |
Price for Direct Activation. |
||||
BR-PC-5.1 |
ISP |
PT15M + PT1H |
ISP |
Support for Direct, Scheduled, Imbalance |
||
BR-PC-5.2 |
ISP |
PT15M + PT1H |
ISP |
Support for Direct, Scheduled, Imbalance |
[1] FuTm: Follow up Target model Additional requirement:
Req.no. | Requirement statement |
---|---|
BR-PC-6 |
Each bid selection run should be identified by a AcutionRunID. Used in selected messages to identify the correct price for an auction run. This is used in conjunction with the PriceCalc module. |
Sequence diagram
Sequence diagram shows all required data exchanges between TSO and PriceCalc. The diagram also includes additional Roles that use same Data / Message Objects.
AuctionRunID
AuctionRunId identifies a given bid selection run. All bid selection solutions shall generate an unique AuctionRunId for each bid selection. With AuctionRunId there will be a connection between prices and activations. The AuctionRunId can be used for both aggregating information and for potential error handling.
Following figure shows 5+n AuctionRunIds.
Its definition contains these properties.
AuctionRunID pattern
How to generate a unique ID, that can be decoded to identify a certain auction a price originate from.
Following pattern is given for AuctionRunID:
<process>-<BidSelector>-<YYYYMMDDhhmm>-<counter with fixed length of 4 digits>
Parameter |
Format |
Short definition |
Description |
process |
an..6 |
Type of process |
SA, DA , PS, Fast, Slow,NonStd |
BidSelector |
an..8 |
Which system selected bid |
Prefixed values : AOF,none-AOF[1],EN,FG,SN,SV. When using either prefix AOF or noneAOF[1], these should not be combined with additional codes for this field. |
Timestamp |
an12 |
Reuse of activation start |
Reuse of activation start period of the activation from MOL document, Activation time. TimeStamp have its origin the start time period from the MOL document. |
Counter |
n4 |
Counter with fixed length |
Autoincrement if more Ids are generated within same minute. Fixed length and starts on 0001 when non-duplicates. Reset counter for each minute. |
This result in a total length of an..30 |
[1] noneAOF (none-AOF) may be subject to change in future version
Use cases for counter:
- SA-Scheduled Activation : Fixed counter and should be 0001
- DA- Direct Activation : Counter starts on 0001 and each DA auction is an increment of one. BidSelector must provide AuctionRunId for each DA activation.
- PS-Period Shift : Counter can have only 2 runs within an MTU, this will result in 0001 and 0002.
- Fast, slow and None-Standards(NonStd), should operate similar to DA counter even though its normal behaviour should be one activation.
Example: SA-AOF-202009091015-0001
Message Definitions
Message definitions and document versions
Dataobject | Document | Schema version |
---|---|---|
Publication_MarketDocument |
7.1 |
|
Balancing_MarketDocument |
4.2 |
|
Balancing_MarketDocument |
4.2 |
|
Balancing_MarketDocument |
4.2 |
|
Balancing_MarketDocument |
4.2 |
|
Functional Description
-
The prices for a quarter of an hour use the logic from MARI. These are not sent out of the PriceCalc, but used as input for Imbalance Price. There is still an ISP - Imbalance Settlement Period of 1 hour in the Nordic countries
-
The hourly price logic is based on using the quarter-hour prices and activated volume to calculate hourly rates. These are sent out of the PriceCalc.
Quarter Hour logic - Cross Border Marginal Price
Computation name:
-
Computation of Quarter-hourly Upward/Downward CrossBorder Marginal Prices per Bidding Zone for current and next QH
Inputs:
-
Direct Activation Clearing Prices (for multiple Runs) per Bidding Zone for current QH
-
Scheduled Activation Clearing Prices (for single Run) per Bidding Zone for current QH
-
Scheduled Activation Clearing Prices (for single Run) per Bidding Zone for next QH
Outputs:
-
Upward Direct Activation CrossBorder Marginal Prices per Bidding Zone for current QH
-
Computed as maximum from
-
all Upward Direct Activation Clearing Prices for current QH and given Bidding Zone
-
all Scheduled Activation Clearing Prices for current QH and given Bidding Zone
-
-
-
Downward Direct Activation CrossBorder Marginal Prices per Bidding Zone for current QH
-
Computed as minimum from
-
all Downward Direct Activation Clearing Prices for current QH and given Bidding Zone
-
all Scheduled Activation Clearing Prices for current QH and given Bidding Zone
-
-
-
Upward Direct Activation CrossBorder Marginal Prices per Bidding Zone for next QH
-
Computed as maximum from
-
all Upward Direct Activation Clearing Prices for current QH and given Bidding Zone
-
all Scheduled Activation Clearing Prices for next QH and given Bidding Zone
-
-
-
Downward Direct Activation CrossBorder Marginal Prices per Bidding Zone for next QH
-
Computed as minimum from
-
all Downward Direct Activation Clearing Prices for current QH and given Bidding Zone
-
all Scheduled Activation Clearing Prices for next QH and given Bidding Zone
-
-
-
Scheduled Activation Clearing Prices per Bidding Zone for current QH
-
Not computed - only taken from inputs (CBMP for SA will be always received as an already calculated value, so there is no need to calculate anything)
-
Hour logic - Cross Border Marginal Price (CBMP)
Calculation examples: Setting the hourly price done by formulas for calculation of hourly prices
Inputs
-
SA Price for all quarter-hours QH1, QH2, QH3, and QH4 including information about their directions (i.e. Upwards, Downwards, UpwardsAndDownwards, None)
-
Upward and downward DA Prices current quarter-hour for QH1, QH2, QH3, and QH4
-
Upward and downward DA Prices next quarter-hour for QH-1, QH1, QH2, and QH3
-
Information regarding real activation taking place per directions for QH-1, QH1, QH2, and QH3
-
Day-ahead Price for the hour for which the hourly CBMP is being calculated
Calculation rules
-
Upward hourly mFRR price for the given Scheduling Area
-
is calculated as a maximum of upward "DA Prices current quarter-hour" for QH1, QH2, QH3, QH4 and upward "DA Prices next quarter-hour" for QH-1, QH1, QH2, QH3 but only in case that daActivationsUpwards for corresponding quarter-hour is set to TRUE, SA Prices Upwards (or UpwardsAndDownwards if exists instead), and Day-ahead Price for the given hour and Scheduling Area.
-
-
Downward hourly mFRR price for the given Scheduling Area
-
is calculated as a minimum of downward "DA Prices current quarter-hour" for QH1, QH2, QH3, QH4 and downward "DA Prices next quarter-hour" for QH-1, QH1, QH2, QH3 but only in case that daActivationsDownwwards for corresponding quarter-hour is set to TRUE, SA Prices Downwards (or UpwardsAndDownwards if exists instead), and Day-ahead Price for the given hour and Scheduling Area.
-
Outputs
-
Upward hourly mFRR price per Scheduling Area
-
Downward hourly mFRR price per Scheduling Area
Hourly Computation - Imbalance Price
Functional specification
Imbalance price for an area is equal to either upward or downward hourly CBMP produced by Hourly Price Calculation Algorithm depending on dominating direction of activation for the area.
Dominating direction corresponds to higher of upward or downward sum of all activation volumes of uncongested areas at which the area participated.
Uncongested area(MRA) is set of areas which have the same price in terms of given activation run.
Inputs:
-
Bids activated in DA during last quarter-hour of previous hour with reason code on point level = B49 (activation purpose = balancing)
-
Uncongested areas(MRA) and DA run IDs information relevant to last quarter-hour of previous hour
-
Bids activated in SA and DA during each quarter-hours that belongs to the hour with reason code on point level = B49 (activation purpose = balancing)
-
Uncongested areas(MRA) and run IDs information for each quarter-hours that belongs to the hour
-
Day-ahead price
-
Hourly CBMP upward and Hourly CBMP downward
Appendix A: Document types, message types, process types and business types
Message dependency matrix with descriptions and comments
The message dependency matrix shows the major identifier for certain messages.
Platform | Document | Schema | Message type | Definition | Process type | Definition | Business type | Definition | Comments |
---|---|---|---|---|---|---|---|---|---|
DayAhead Prices |
Publicationdocument |
A52 |
A69 |
Market coupling results |
Publicationdocument version 7.1 |
||||
NBM |
mFRR Bid TSO-TSO |
ReserveBid_MarketDocument |
Please see mFRR Bid TSO |
||||||
NBM |
mFRR Activation |
Activation_MarketDocument |
Please see {mffr-activation} |
||||||
NBM |
Price Direct Activation |
Balancing_MarketDocument |
B24 |
Clearing price |
A61 |
mFRR with direct activation |
A97 |
Manual frequency restoration reserve |
|
NBM |
Price Scheduled Activation |
Balancing_MarketDocument |
B24 |
Clearing price |
A60 |
mFRR with scheduled activation |
A97 |
Manual frequency restoration reserve |
|
NBM |
(Calculated) Price Imbalance PC-TSO |
Balancing_MarketDocument |
A85 |
imbalance prices |
A16 |
Realised |
A97 |
Manual frequency restoration reserve |
|
NBM |
(Calculated) Price CBMP PC-TSO |
Balancing_MarketDocument |
A84 |
activated balancing price |
A16 |
Realised |
A97 |
Manual frequency restoration reserve |
|
Other documents used as guideline for NBM messages. |
|||||||||
MARI |
Clearing Scheduled Activation Price AOF TSO |
Balancing_MarketDocument |
B24 |
Clearing price |
A60 |
mFRR with scheduled activation |
A97 |
Manual frequency restoration reserve |
|
MARI |
Settlement Direct Activation Price AOF TSO |
Balancing_MarketDocument |
A84 |
activated balancing price |
A61 |
mFRR with direct activation |
A97 |
Manual frequency restoration reserve |
|
MARI |
Clearing Scheduled Activation Price AOF TP (Transparency) |
Balancing_MarketDocument |
A84 |
activated balancing price |
A60 |
mFRR with scheduled activation |
A97 |
Manual frequency restoration reserve |
|
MARI |
Clearing Direct Activation Price AOF TP (Transparency) |
Balancing_MarketDocument |
A84 |
activated balancing price |
A61 |
mFRR with direct activation |
A97 |
Manual frequency restoration reserve |
|
MARI |
mFRR Aggregated Bids TP (Transparency) |
Balancing_MarketDocument |
A24 |
Bid document (when aggregated bids) |
A47 |
Manual frequency restoration reserve |
A14 |
Aggregated energy data. |
|
MARI |
mFRR Scheduled Activation Aggregated Bids TP |
Balancing_MarketDocument |
A24 |
Bid document (when aggregated bids) |
A60 |
mFRR with scheduled activation |
A14 |
A14=Aggregated energy data |
|
ENTSOE |
Balancing energy bids(TP:EB GL 12.3.b) |
ReserveBid_MarketDocument |
A37 |
Reserve Bid document |
A47 (Other: A51 = automatic frequency restoration reserve (aFRR), A46 = Replacement reserve (RR) ) |
Manual frequency restoration reserve |
B74 |
Offer |
Ref. MoP Ref22_Transparency platform EB GL process IG v1r3.pdf |
ENTSOE |
Aggregated balancing energy bids(TP:EB GL 12.3.e ) |
Balancing_MarketDocument |
A24 |
Bid document |
A47 |
Manual frequency restoration reserve |
A14 |
Aggregated energy data |
Ref. MoP Ref22_Transparency platform EB GL process IG v1r3.pdf |
ENTSOE |
Activated Balancing Energy Prices (TP 17.1.f) |
Balancing_MarketDocument |
A84 |
Activated balancing price |
A16 |
realised |
A95 |
Frequency containment reserve. |
Ref. MoP Ref7_Balancing_Transparency_Process_Implementation_Guide_V4.6.pdf |
ENTSOE |
Imbalance prices(TP: 17.1.g) |
Balancing_MarketDocument |
A85 |
Imbalance prices |
A16 |
Realised |
A19 |
Balance energy deviation |
Ref. MoP Ref7_Balancing_Transparency_Process_Implementation_Guide_V4.6.pdf |
ENTSOE |
Total imbalance volume(17.1.h) |
Balancing_MarketDocument |
A86 |
Imbalance volume |
A16 |
Realised |
A19 |
Balance energy deviation |
Ref. MoP Ref7_Balancing_Transparency_Process_Implementation_Guide_V4.6.pdf |