PyMarket - A simple library for simulating markets in Python
Résumé
PyMarket is a python library aimed to ease the design, simulation, and comparison of different market mechanisms.
Marketplaces have been proposed to solve a diverse array of problems. They are currently used to sell ads online, allocate bandwidth spectrum, exchange energy, etc. PyMarket provides a simple environment to try, simulate, compare, and visualize different market mechanisms, a task that is inherent to the process of market design.
This library is not intended for use in the financial domain, where mature tools already exist1 such as (Chiarella & Iori, 2002),(LeBaron, 2001). Instead, it is targeted at the engineering
domain in which markets are sometimes used for interfacing the interaction of multi-agent
systems.
As an example, Local Energy Markets (LEMs) have been proposed to synchronize energy consumption with a surplus of renewable generation. Several mechanisms have been proposed for such markets, from discrete-time double sided auctions to continuous peer to peer trading.
This library aims to provide a simple interface for such processes, making results reproducible.
In doing so, it exposes a Market interface that accepts bids, runs market clearing algorithms,
and produces statistics and plots (Figure 1) from the results. Moreover, an intuitive procedure
is provided to implement new market mechanisms and compare them with existing ones.
Algorithms implemented in this library have been used by the authors (Horta, Kofman, Menga,
& Silva, 2017) (Kiedanski, Kofman, Horta, & Menga, 2019) as well as other researchers in the field (Mengelkamp, Staudt, Garttner, & Weinhardt, 2017). Moreover, the library is a key enabler of ongoing research in the LEMs.