OS2 - Comparative Simulation of Energy Market Designs

Florian Maurer

July 13, 2023

Outline

Research Question

How can different energy market designs be evaluated in a simulative comparative manner?

Objective: Framework for the Comparison of Market Designs


Which abstract description is able to characterize different market designs?

Can different market mechanisms be represented in the simulation software?

Is the application of flexible evaluation criteria possible?

Market Comparability

Market Comparability Simulation Framework

Comparison Agent-based Market Simulation - NFR

Model Year Market Design OSS Power Flow Modularity Interoperability Scaled Market Comparison
GSY-e [1] 2016-now LEM
lemlab [2] 2021-now LEM
SIMONA [3] 2021-now
ASAM [4] 2021-now DA, ID, RE
AMIRIS [5] 2016-now DA
USEF [6] 2016-2017 USEF
FNCS/AMES [7] 2008-now SCUC/SCED
Powermatcher 2014-2017
PowerACE [8] 2013-2016 DA
Maon [9] 2012-2021 DA
ÖkoFlex [10] 2014-2017 DA

○ - not applicable, ◐ - partial applicable, ✓ - fully applicable

Missing Features of current market simulations

  • Over-the-counter trading (OTC)
  • Conditional contracts (CfD, PPA)
  • Concurrent markets (frameworks focus only on one market)
  • Quasi-continuous auctions (always discret steps)
  • Foundation for reinforcement learning
  • Comparative evaluation
  • Different configurable market designs

Morphological box

  • Approach for market categorization - from Rebeca
  • Key dimensions
    • Market structure
    • Clearing mechanisms
    • Price formation
    • Market products
    • Market timeframe

Base Bid

  • Contains fields which are mandatory
  • Common abstraction layer
  • Can be extended by market
  • Additional fields receive meaning through market mechanism
field value
start-delivery 2023-06-30 00:00
end-delivery 2023-06-30 01:00
volume 100
price 32
sender id 118

Additional fields

  • Used for e.g. complex bids
  • Base id shows id of block
  • Link id shows id of dependent block
Complex Bidding
field value
start-delivery 2023-06-30 00:00
end-delivery 2023-06-30 01:00
volume 100
link id 1
base id 2
price 32
sender id 118

Market Abstraction

market config item description
name string name
product type energy or capacity or heat
market products list of available products to be traded
opening hours recurrence rule of openings (RFC 5545)
opening duration time delta
market mechanism name of method used for clearing
maximum bid max allowed bidding price
minimum bid min allowed bidding price
maximum volume the largest valid volume for a single bid
additional fields list of additional fields to base bid
volume tick size step increments of volume
price tick size step increments of price
volume unit string for visualization
price unit string for visualization
supports get unmatched boolean
maximum gradient max allowed change between bids
eligible obligations lambda function checking if agent is allowed to trade here

Market Product

Market Product Example
delivery duration 1 hour
count 24
offset to opening 24 hours

Look into Orderbooks

Orderbook View

Example for Germany - Day-Ahead Auction[11]

Market1

Example for Germany - Intraday Auction

Market2

Example for Germany - Intraday Trading

Market3

Example for Germany - Futures

Market4

Concurrent Markets and Continuous Auctions

  • Multiple markets can be simultaneously modeled
  • Continuity does not exist with computers
    • approximate through short clearing intervals
    • allows modeling by common bidding design

How to support OTC and custom contracts?

  • OTC is quite different
  • Traded between parties
  • Virtual market containing bilateral trades
  • PPA for example have unknown volume
  • Contract execution is defined in market_mechanism
    • Contract specifies executed code
    • Trade gets accepted
    • e.g. PPA - volume is calculated at the end

Example for Contract policies

market config item description
name Contract market
product type energy
market products [(MONHTLY, next 12, starting next month )]
opening hours every 1st dom at 12:00
opening duration 1 month
market mechanism pay as clear contract
maximum bid 9999
minimum bid -500
maximum volume 500
additional fields [contract_type, evaluation_frequency]
volume tick size 0.1
price tick size 0.1
volume unit MW
price unit €/MW
supports get unmatched true
maximum gradient none
eligible obligations lambda none

Market mechanisms

  • Different market mechanisms are modelled
    • Pay-as-bid
    • Pay-as-clear
    • Pay-as-clear-complex
    • Nodal-market (pyOMO)
    • Pay-as-bid-with-contracts
    • Two-step-clearing
  • Simulation structure is established

Agent-based simulation approach

  • All agents have
    • obligations
    • message handlers
  • Act or react
mindmap root)MarketAgent( Message Handler Receive Orderbook ::icon(fa fa-book) Receive Registration ::icon(fa fa-paper-plane) Event Obligation Inform Market opening ::icon(fa fa-door-open) Inform Market closing/result ::icon(fa fa-door-closed)

Basic Simulation loop - lemlab

flowchart LR A[Start] --> B(Read Input\n create agents) B --> C[next simulation step] C --> D{simulation \nended} D -->|True| End D -->|False| E[Market opening] E --> F[Bidding agents bid] F --> G[Market clears] G --> H(step finished) H --> C

More Generic Simulation loop - MESA/ASAM

flowchart LR A[Start] --> B(Read Input\n create agents) B --> C[next simulation step] C --> D{simulation\n ended} D -->|True| End D -->|False| E{if next agent\n has action} E -->|False| G(step finished) E -->|True| F(agent x step) F --> E G --> C

Generic Simulation loop - event-based

flowchart LR A[Start] --> B(Read Input\n create agents) B --> C[next simulation step] C --> D{simulation \nended} D -->|True| End D -->|False| E[set time to\n next action] E --> F(triggers actions) F --> G(step finished) G --> C

Modeling using agent-based framework

  • mango agents
    • Event-based
    • Act-React
  • One Market agent
    • Uses role per market config
    • Schedules all openings and closings
  • Each Bidding agent is separate mango agent
    • Flexible bidding strategy configuration
    • Learning strategies possible
  • World entity only loads simulation scenario

Class Diagram

ASSUME Diagram

Research Question - Evaluation

How can different energy market designs be evaluated in a simulative comparative manner?

Non-Functional Requirements - New design

Model Year Market Design OSS Power Flow Modularity Interoperability Scaled Market Comparison
New Design 2023+ various ✓ (pypsa/pandapower) ✓ (mosaik) ✓ (mango)
  • NFR are conceptually fulfilled
  • Implementation of some features still missing
  • Ongoing development
    • Pandapower integration
    • Mosaik integration (REMARK)
    • Reinforcement learning

Scalability / Performance Evaluation

  • Large multi-agent scenario
  • Distributed simulation
  • Container-based
Scale-out approach

Market Comparison Evaluation

Application of flexible evaluation criteria

  • Implementation of the featureset of existing market simulations
  • Quantitative comparison of the results with same featureset
  • Qualitative comparison of market design with new features

“Market abstraction for Agent-Based Modeling of Energy Markets and Policies”

  • Which abstract description is able to characterize different market designs?
  • Written with other researchers
  • Describes novel market simulation approach
  • Allows to define different energy markets
  • Showcases it with basic example

Short Overview

ASSUME Dashboard

Publication list

Further steps

  • Implementation of different markets
  • Comparisons of market designs
  • PhD of Rebeca Ramirez → KPI for markets
  • Integration as market module into MOSAIK
  • Integration of contracts and KPIs
  • Documentation

Thank you for your Attention!

Questions?

References

[1]
GridSingularity, “Grid Singularity Mission - Grid Singularity Wiki,” 2021. [Online]. Available: https://gridsingularity.github.io/gsy-e/documentation/. [Accessed: 15-Apr-2022].
[2]
M. Zade, S. D. Lumpp, P. Tzscheutschler, and U. Wagner, Satisfying user preferences in community-based local energy markets — Auction-based clearing approaches,” Applied Energy, vol. 306, p. 118004, Jan. 2022.
[3]
J. Hiry, C. Kittl, F. Erlemeyer, and D. Schmid, SIMONAAgentenbasierte Netzsimulation für das intelligente Verteilnetz der Zukunft,” vol. Jahresbericht, pp. 40–41, Jan. 2018.
[4]
S. Glismann, Ancillary Services Acquisition Model: Considering market interactions in policy design,” Renewable and Sustainable Energy Reviews, Apr. 2021.
[5]
J. Kochems and C. Schimeczek, Agentenbasierte Modellierung von Lastmanagement im deutschen Stromsektor,” in Internationale Energiewirtschaftstagung (IEWT) 2021: Das Energiesystem nach Corona: Irreversible Strukturänderungen - Wie?, 2021.
[6]
USEF Design Team, USEF - The Framework Explained,” p. 58, May 2021.
[7]
S. Battula, L. Tesfatsion, and T. E. McDermott, An ERCOT test system for market design studies,” Applied Energy, vol. 275, p. 115182, Oct. 2020.
[8]
“Model PowerACE – REflex.” [Online]. Available: https://reflex-project.eu/model-coupling/powerace/. [Accessed: 10-Dec-2021].
[9]
M. Ketov, “MARKTSIMULATIONEN UNTER BERÜCKSICHTIGUNG DER STROM-WÄRME-SEKTORENKOPPLUNG,” p. 5, 2019.
[10]
T. Künzel and A. Weidlich, “Flexibility as an economic commodity in the intelligent energy system for the efficient integration of renewable energies,” 2015.
[11]
EPEX SPOT, “Trading Products | EPEX SPOT,” 2022. [Online]. Available: https://www.epexspot.com/en/tradingproducts. [Accessed: 09-May-2023].