From Walras’ auctioneer to continuous time double auctions: A general dynamic theory of supply and demand

In standard Walrasian auctions, the price of a good is defined as the point where the supply and demand curves intersect. Since both curves are generically regular, the response to small perturbations is linearly small. However, a crucial ingredient is absent of the theory, namely transactions themselves. What happens after they occur? To answer the question, we develop a dynamic theory for supply and demand based on agents with heterogeneous beliefs. When the inter-auction time is infinitely long, the Walrasian mechanism is recovered. When transactions are allowed to happen in continuous time, a peculiar property emerges: close to the price, supply and demand vanish quadratically, which we empirically confirm on the Bitcoin. This explains why price impact in financial markets is universally observed to behave as the square root of the excess volume. The consequences are important, as they imply that the very fact of clearing the market makes prices hypersensitive to small fluctuations.


One of the most time-worn statement of economic science is that “prices are such that supply matches demand”. In order to explain how this really comes about, one usually invokes a Walras auctioneer, who attempts to measure the supply and demand curves \(S(p)\) and \(D(p)\), that give the total amount of supply/demand for a given good (or asset), would the price be set to \(p\). The equilibrium price \(p^*\) is then such that \(D(p^*) = S(p^*)\), which maximizes the amount of good exchanged among agents, given the set of preferences corresponding to the current supply and demand curves(Walras 1954). In reality, the full knowledge of \(S(p)\) and \(D(p)\) is problematic, and Walras envisioned his famous tâtonnement process as a mean to observe the supply/demand curves. However, there is a whole aspect of the dynamics of markets that is totally absent in Walras’ framework. While it describes how a pre-existing supply and demand would result in a clearing price, it does not tell us anything about what happens after the transaction has taken place. In this sense, the Walrasian price is of very limited scope, since the theory ceases to apply as soon as the price is discovered.

A practical solution to match supply and demand is the so-called “order book”harris 1990(Harris 1990, Glosten 1994), where each agent posts the quantities s/he is willing to buy or sell as a function of the price \(p\). \(S(p)\) (resp. \(D(p)\)) is then the sum of all sell (buy) quantities posted at or above (below) price \(p\). At each time step, the auctioneer can then clear the market by finding the (unique) price such that \(D(p^*) = S(p^*)\). This is in fact how most financial markets worked before the advent of electronic matching engines, when market makers played the role of “active” Walrasian auctioneers, in the sense that they would themselves contribute to the order book as to insure orderly trading and stable prices (Glosten 1985, Madhavan 2000).

Although close to Walras’ idealization, order book based auctions are still confronted with a fundamental problem: agents do not necessarily reveal their intentions by placing visible orders, for fear of giving away information to the rest of the market – among other reasons (Handa 1996, Bongiovanni 2006). It is plausible that only agents with the most urgent need to buy or to sell reveal their intentions. Only close to the transaction price is the order book expected to reveal the true underlying supply and demand curves \(S(p)\) and \(D(p)\), where they however get intertwined with the orders of market makers/high frequency traders who play strategic “hide and seek” games (Handa 2003, Roşu 2006, Foucault 2013, Bouchaud 2008). The visible order book is a sort of Potemkin village that reveals only very little about the true underlying supply and demand1 and whose features strongly depend to the precise design of the market (time priority, pro-rata matching, small or large tick, presence of hidden orders, etc. – see e.g. (Kockelkoren 2010)). A direct empirical observations of the dynamics of the full supply and demand curves \(S(p)\) and \(D(p)\) is therefore difficult (except in particular markets such as Bitcoin, see below and (Donier 2015)). But since the dynamics of prices is essentially governed by that of supply and demand, we need a plausible theoretical framework to model the (unobservable) evolution of the time dependent curves \(S(p,t)\) and \(D(p,t)\), where \(t\) is time, to account for the (observable) evolution of prices. This would allow one to construct a “Walrasian” description of market dynamics, offering a much deeper level of understanding than simply postulating ad-hoc stochastic models for prices, such as the standard (geometric) Brownian motion (Bachelier 1900, Black 1973).

There are indeed many questions, some of utmost fundamental and practical importance, which cannot be addressed within these stochastic models and require the knowledge of the underlying supply and demand structure and dynamics. One of them is price impact (Bouchaud 2010), i.e. how much does an additional unconditional buy/sell quantity \(Q\) move the price up/down? This is important both for practitioners who want to estimate the costs associated to the impact of their trading strategies (Almgren 2001), and for regulators who want to understand the stability of markets and the price sensitivity to large “freak” orders (see e.g. (Donier 2015)). It is also of interest for the general understanding of price discovery and market efficiency: how much noise do “noise traders” (Kyle 1985) introduce in markets through their impact on prices? How relevant is marked to market accounting? (Amihud 1986, Caccioli 2012), etc.

In a Walrasian context, the impact \({\cal I}\) of a small buy quantity \(Q\) is easily shown to be linear in \(Q\), simply because the slopes of the supply and demand curves around the price \(p^*\) (that would prevail for \(Q=0\)) are generically non zero. More precisely, writing that \(S(p_Q) = D(p_Q) + Q\) and Taylor expanding \(S(p)\) and \(D(p)\) around \(p^*\) to first order in \(Q\), one readily obtains:2 \[\label{Kyle-lambda1} S(p^*) + (p_Q - p^*)\partial_p S(p^*) = D(p^*) + (p_Q - p^*)\partial_p D(p^*) + Q \qquad \Rightarrow \qquad {\cal I}(Q)\equiv p_Q - p^* = \lambda Q\] with \(\lambda^{-1} = \partial_p S(p^*) - \partial_p D(p^*) > 0\), since one expects \(S(p)\) to be a strictly increasing function of \(p\) and \(D(p)\) a strictly d