Welcome to the GLocalFlex Marketplace Documentation¶
Welcome to the documentation of the GLocalFlex Marketplace! Here you can find informations about the market guidelines, Market API and examples to start trading flexibility.
If you want to start trading right away check the Getting Started guide to learn how to access the flexibility marketplace.
Quick links for Developers¶
What is GLocalFlex Marketplace?¶
A global as well as local flexibility marketplace to demonstrate grid balancing mechanisms through cross-sectoral interconnected and integrated energy ecosystems enabling automatic flexibility trading
GLocalFlex Market is an energy marketplace service that provides a real-time, fair, and free market-based trading environment. The platform offers an efficient marketplace for trading energy, accommodating even single household size quantities. With GLocalFlex Market , you can access a reliable trading and information source that supports automated trading, resulting in low expenses and enhanced efficiency.
Market Core Principles
- Fairness and transparency
- Low entry barriers for traders
- Maintainability
- Modularity
- Scalability
The marketplace can aggregate and trade flexibility from different sources. Small and large flexibility providers can participate in the market
To access the energy trading platform visit the GLocalFlex Marketplace test environment. For general information about the GlocalFlex project please visit the Project Page (external website).
European Pilot Sites¶
This market serves the pilot sites shown on the map below:
Trading Design¶
Matching Principle¶
To trade flexibility or energy, a market for setting prices and determining volumes is needed. One effective method is the double auction mechanism, where multiple sellers and buyers submit their offers to a market (auctioneer). These offers include the price they are willing to accept (ask offer for sellers) or pay (bid offers for buyers) and the amount of flexibility they want to trade.
In this market, all offers are organized in an order book based on price and receiving time. The highest buying prices are listed first, and the lowest selling prices are listed first. Sellers and buyers can see the existing offers and adjust their strategies accordingly, which allows for a dynamic negotiation process.
A transaction happens when a buyer's highest price meets or exceeds a seller's lowest price. The trade price is the average of these two prices. The order book is updated continuously until no more matches are found. This method is efficient for markets with few traders who don't have perfect information on supply and demand. It also works well in decentralized energy markets and allows for frequent, short-term trading.
Location Matching¶
The Location matching rules determines whether a buy order matches an sell order based on their respective locations object specified in the initial order.
A location object is defined as follows:
"location": {
"country_code": "FI", // Optional "CZ" "DE" "ES" "FI" "FR"
"location_id": [
"FI_123435"
], // Required, any number of strings
},
location_id
and country_code
identifier can be set in the initial order.
The location is relevant for a buyer (buy orders) with grid managing obligations.
country_code
is an optional string that specifies the country of the flexibility location. Allowed codes are "CZ" "DE" "ES" "FI" "FR" or null.
The matching engine will match orders based on the following rules:
-
if no
country_code
and side is buy, match buy order with any sell order andcountry_code
-
if no
country_code
is set and side is sell , matches only with buy orders that have nocountry_code
set
location_id
is a list of one or more strings that specify the ID of flexibility provider location. One Location ID is required for each sell order. It is possible to specify multiple IDs. All IDs are
case sensitive during matching and must be unique.
A buyer can specify regex pattern to match with IDs containing certain character or substrings e.g. to match with any location id specify "location_id": [".*"]
. A buyer can also accept any location ID by specifying "location_id": [""]
.
The seller should not specify a regex pattern as a location ID as it has no affect on the matching, instead the seller sets the location ID to "location_id": [""]
if there ID is not known. The sell order will only be matched with buy orders that accepts any ID.
Order Transaction Flow¶
Flexibility Provider / Seller¶
Order creation until delivery of the flexibility, the following steps are taken:
sequenceDiagram
box Seller
participant ems as EMS
participant c as Market Client
participant m as Market
end
Note left of c: flexibility estimation <br/> baseline estimation
ems ->> c:
c->>m: create sell order
m ->> c: response
c->>m: submit baseline data
m ->> c: response
Note right of m: check baseline compatible with order
Note right of m: add to orderbook
c->>m: Is order matched? Get all trades! (15min before delivery)
m->>c: response, order is filled
c ->> ems:
Note left of c: flexibility activation
Note left of c: Delivery
c->>m: submit metering data
Flexibility Procurer / Buyer¶
Order creation until delivery of the flexibility:
sequenceDiagram
box Buyer
participant c as Market Client
participant m as Market
end
c->>m: create buy order
m ->> c: Response
c->>m: Is order matched? Get all trades! (e.g: 15min before delivery)
m->>c: response, order is filled
Note left of c: awaiting flexibility activation
Note left of c: Delivery
Market Design¶
GLocalFlex marketplace framework¶
The traded services and products on the marketplace are described here. The flexibility products and services can be categorized by their activation time to achieve a specific grid managing task. The table defines the most essential characteristics of the GLocalFlex marketplace and flexibility products.
General Design Characteristic | |
---|---|
Market product | Flexibility services |
Market type | Continuous trading, pay as bid |
Minimum settlement period | Default 15 min |
Settlement time slots | Multiple of the settlement period e.g., 30 min, 1h15min etc. Max. 24h* |
Minimum tradable power | Default 1 kW (configurable) |
Maximum tradable power | No limit, technical limits apply |
Trading time horizon | Short term (days, hours or minutes) |
Locational organization | Based on metering ID or location ID |
Gate closing | 15 min* |
Activation | Flexibility providers responsibility |
Network operators’ coordination | Not included |
Long term contracts | No |
Open market data | Yes |
Metering | Default metering point (sub-metering possible) |
Verification principle | Consumption and baseline-based |
Compensation, payment condition | Full - above a certain percentage Zero – below a certain percentage |
GLocalFlex marketplace has several low barrier design principles.
Firstly, the minimum power of tradable flexibility is low in order to bring a large number of flexibility providers into the market. Secondly, providers may act independently at the market without a contract with an additional aggregating party when entering the GLocalFlex marketplace.
The flexibility provider offers a asset directly to the marketplace and gets compensated after a successful trade, that includes activation and verification of the flexibility delivery. To keep the entry barrier low in the project, prequalification process will be kept as simple as possible. Flexibility delivery and verification rely on trustworthy metering between the project partners.
Trading Rules and Guidelines¶
1. Introduction¶
The facilitation of a fair and transparent market an efficient framework is essential. The aim of this guidelines is to set the entry barrier as low as possible for all participants while ensuring the integrity of the market. Adapted to fit the project environment, the framework primarily supports the project’s pilot sites. Some simplifications have been made to keep complexity at a manageable level. However, if a marketplace operator aiming to commercialize this platform will require a more complex framework, one that is adapted to the specific needs of the market.
2. Terminology¶
In the flexibility market, participants have the option to place either an ask order (selling) or a bid order (buying) based on their requirements.
-
Baseline: Energy consumption / generation at a specific metering point if flexibility has not been activated
-
Clearing: Process immediately after matching trades are found, i.e., trade closes, in where trading terms e.g., amounts, and available funds are confirmed and committed to deliver
-
Delivery: Activation of the flexibility.
-
Flexibility: Is a change in energy consumption during a period of time that deviates from the baseline.
-
Price: Total Price of an order
-
Power: Power of the flexibility in kW
-
Settlement: Process after clearing in where payments is transferred to receiver
-
Unit Price: Euro/kWh
-
Verification: Data based process to confirm the flexibility delivery.
3. Market Rules¶
3.1 Trading Principle
The tradeable flexibility in this marketplace is defined by two key factors: power and time, which denotes the duration the flexibility is available. These factors together with the price determine a basic order being traded.
3.2 Market Clearing Mechanism
Marketplace applies a continuous trading strategy. In a continuous trading environment orders are matched as they arrive with the existing orders in the order book. The orders are sorted by price inside the order book.
3.3 Market Lead Time
The marketplace operates strictly as real-time market. Long-term, mid-term, or short-term lead times are not distinguished. Orders can be placed for any time horizon.
3.4 Market Open Time
The market operates continuously 24/7/365.
3.5 Order Processing
Trading order messages are processed in the arriving order at the trading environment according to the rules of trading.
3.6 Order Cancellation
Submitted orders are cancelled if the order is part of the active order book which means that the order has not yet matched.
3.7 Order Expiration
Orders expiry at the defined expiration time set in the order. If no expiration time is set the order expires a default time unit, specified in Flexibility Duration, before delivery start time set in the order.
3.8 Order Type
The market accepts only Limit Orders.
3.9 Orderbook
The orderbook contains all active bid and ask offers. The order book is available through the marketplace API.
3.10 Marketplace Time
The global platform time is set to Coordinated Universal Time (UTC).
3.11 Flexibility Power Granularity
The minimum tradable power of flexibility is 1 kW. The maximum power is not defined by the market rules but limited by the electrical capacity of the connection point.
3.12 Grid Capacities
Capacities limits are defined by the grid operator that cannot be exceeded. At the moment, the marketplace does not support a dedicated interface to communicate capacities limits.
3.13 Flexibility Duration
- The minimum delivery duration is 15 min.
- The duration is specified by delivery start and end time.
- Durations must be multiples of 15 min (30min, 45min, 1h and so on).
- The maximum duration is 24 hours.
3.14 Flexibility Activation
The flexibility provider is responsible for the uninterrupted availability of the traded flexibility by the start time set in the cleared sell order.
3.15 Flexibility Provisioning
Registering of the flexibility asset to the marketplace is not required. The flexibility provider has the full responsibility to provide the flexibility asset within the agreed terms in the trade confirmation. The flexibility provider is responsible for the activation of the flexibility in time based agreed in the trade confirmation.
3.16 Flexibility Procurer (Buyer)
The buyer is responsible for consuming the traded flexibility to the amount agreed in the trade confirmation.
3.17 Metering
The metering point is not registered to the marketplace. The flexibility provider submits a unique metering identifier when an order is placed. The flexibility provider has to send metering logs to the marketplace API after the delivery is ends. The submitted metering logs contain the same metering point identifier specified in the initial order.
3.18 Verification of Flexibility Delivery
Consumption data has to be submitted through the market interface to verify the delivery of the flexibility. The consumption data has to present a sufficient time interval before, during and after the delivery event. Submitting a baseline schedule before delivery to the marketplace.
3.19 Payment Release Rules
Over delivery of flexibility is not remunerated. A delivery is considered completed if a minimum of 80% flexibility was delivered and has been verified.