Constant function market maker

Constant-function market makers (CFMM) are a paradigm in the design of trading venues where a trading function and a set of rules determine how liquidity takers (LTs) and liquidity providers (LPs) interact, and how markets are cleared. The trading function is deterministic and known to all market participants.

CFMMs display pools of liquidity of two assets. The takers and providers of liquidity interact in the liquidity pools: LPs deposit their assets in the pool and LTs exchange assets directly with the pool. CFMMs rely on two rules; the LT trading condition and the LP provision condition.[1] The LT trading condition links the state of the pool before and after a trade is executed, and it determines the relative prices between the assets by their quantities in the pool.[2] The LP provision condition links the state of the pool before and after liquidity is deposited or withdrawn by an LP. Thus, the trading function establishes the link between liquidity and prices, so LTs can compute the execution costs of their trades as a function of the trade size, and LPs can compute the exact quantities that they deposit. In CFMMs, both conditions state that price formation happens only through LT trades (see below).

In  decentralized platforms running on peer-to-peer networks, CFMMs are hard-coded and immutable programs implemented as Smart Contracts,[3] where LPs and LTs invoke the code of the contract to execute their transactions. A particular case of CFMMs are the constant product market makers (CPMMs) such as Uniswap v2 and Uniswap v3 where the trading function uses the product of the quantities of each asset in the pool to determine clearing prices. CFMMs are also popular in prediction markets.[4]

Definition

edit

Trading function

edit

Consider a reference asset   and an asset   which is valued in terms of  . Assume that the liquidity pool of the CFMM initially consists of quantity   of asset   and quantity   of asset  . The pair   is referred to as the reserves of the pool (the following definitions can be extended to a basket of more than two assets[5]). The CFM is characterised by a trading function   (also known as the invariant) defined over the pool reserves   and  . The trading function is continuously differentiable and increasing in its arguments (  denotes the set of positive real numbers).

For instance, the trading function of the constant product market maker (CPMM) is  . Other types of CFMMs are the constant sum market maker with  ; the constant mean market maker with  , where   and  ; and the hybrid function market maker, which uses combinations of trading functions.

LT trading condition and convexity

edit

LT transactions involve exchanging a quantity   of asset   for a quantity   of asset  , and vice-versa. The quantities to exchange are determined by the LT trading condition:

(1)  

where   is the depth of the pool[2] (see the LP provision condition below) and is a measure of the available liquidity. The value of the depth   is constant before and after a trade is executed, so the LT trading condition (1) defines a level curve. For a fixed value of the depth  , the level function   (also known as the forward exchange function [5]) is such that  . For any value   of the depth, the level function   is twice differentiable.[6]

The LT trading condition (1) links the state of the pool before and after a liquidity taking trade is executed. For LTs, this condition specifies the exchange rate  , of asset   in terms of the reference asset  , to trade a (possibly negative) quantity   of asset  :

 

The marginal exchange rate of asset   in terms of asset  , akin to the midprice in a limit order book (LOB), is the price for an infinitesimal trade in a CFMM:

 

It is proven that no roundtrip arbitrage in a CFMM implies that the level function   must be convex.[1]

Execution costs in the CFMM are defined as the difference between the marginal exchange rate and the exchange rate at which a trade is executed. It has been shown that LTs can use the convexity of the level function around the pool's reserves level to approximate the execution costs   by  .[2]


LP provision condition and homotheticity

edit

LP transactions involve depositing or withdrawing quantities   of asset   and asset  . Let   be the initial depth of the pool and let   be the depth of the pool after an LP deposits  , i.e.,   and  . Let   and   be the level functions corresponding to the values   and  , respectively. Denote by   the initial marginal exchange rate of the pool. The LP provision condition requires that LPs do not change the marginal rate  , so

(2)  

The LP provision condition (2) links the state of the pool before and after a liquidity provision operation is executed. The trading function   is increasing in the pool reserves   and   So, when liquidity provision activity increases (decreases) the size of the pool, the value of the pool's depth   increases (decreases). The value of   can be seen as a measure of the liquidity depth in the pool. Note that the LP provision condition holds for any homothetic trading function.

Constant Product Market Maker

edit

In CPMMs such as Uniswap v2, the trading function is   so the level function is  , the marginal exchange rate is   and the exchange rate for a quantity   is  

In CPMMs, the liquidity provision condition is   when the quantities   are deposited to the pool. Thus, liquidity is provided so that the proportion of the reserves   and   in the pool is preserved. [2]

Profits and losses of liquidity providers

edit

Fees

edit

For LPs, the key difference between the traditional markets based on LOBs and CFMMs is that in LOBs, market makers post limit orders above and below the mid-price to earn the spread on roundtrip trades, while in CFMMs, LPs earn fees paid by LTs when their liquidity is used.

Loss-Versus-Rebalancing

edit

Without fees paid by LTs, liquidity provision in CFMMs is a loss-leading activity. Loss-Versus-Rebalancing (LVR) is a popular measure of these losses.[7] Assume the price follows the dynamics   then the LVR is given by  

Predictable loss

edit

To thoroughly characterise their losses, LPs can also use Predictable Loss (PL), which is a comprehensive and model-free measure for the unhedgeable and predictable losses of liquidity provision.[1] One source of PL is the convexity cost (losses due to adverse selection, they can be regarded as generalized LVR) whose magnitude depends on liquidity taking activity and the convexity of the level function. The other source is the opportunity cost, which is incurred by LPs who lock assets in the pool instead of investing them in the risk-free asset. For an LP providing reserves   at time   and withdrawing liquidity at time  , PL is

 

where   is an increasing stochastic process with initial value  , and   is a process that describes the reserves in asset  . In particular,   satisfies

 

PL can be estimated without specifying dynamics for the marginal rate or the trading flow[8] and without specifying a parametric form for the level function. PL shows that liquidity provision generates losses for any type of LT trading activity (informed and uninformed). The level of fee revenue must exceed PL in expectation for liquidity provision to be profitable in CFMMs.

Impermanent loss

edit

Impermanent loss, or divergence loss, is sometimes used to characterise the risk of providing liquidity in a CFMM.[9] Impermanent loss compares the evolution of the value of the LP's assets in the pool with the evolution of a self-financing buy-and-hold portfolio invested in an alternative venue. The self-financing portfolio is initiated with the same quantities   as those that the LP deposits in the pool. It can be shown that the impermanent loss   at time   is

 

where   are the reserves in asset   in the pool at time  .

The convexity of the level function shows that  . In the case of CPMMs, the impermanent loss is given by

 

where   is the marginal exchange rate in the CPMM pool at time  .

  is not an appropriate measure to characterise the losses of LPs because it can underestimate or overestimate the losses that are solely imputable to liquidity provision. More precisely, the alternative buy-and-hold portfolio is not exposed to the same market risk as the holdings of the LP in the pool, and the impermanent loss can be partly hedged. In contrast, PL is the predictable and unhedgeable component in the wealth of LPs.[1]

Concentrated liquidity

edit

Concentrated liquidity is a feature introduced by Uniswap v3 for CPMMs. The key feature of a CPMM pool with CL is that LPs specify a range of exchange rates in which to post liquidity. The bounds of the liquidity range take values in a discretised finite set of exchange rates called ticks. Concentrating liquidity increases fee revenue, but also increases PL and concentration risk, i.e., the risk of the exchange rate exiting the range.[10]

History

edit

An early description of a CFMM was published by economist Robin Hanson in "Logarithmic Market Scoring Rules for Modular Combinatorial Information Aggregation" (2002).[11] Early literature referred to the broader class of "automated market makers", including that of the Hollywood Stock Exchange founded in 1999; the term "constant-function market maker" was introduced in "Improved Price Oracles: Constant Function Market Makers" (Angeris & Chitra 2020).[12] First be seen in production on a Minecraft server in 2012,[13] CFMMs are a popular DEX architecture.

Crowdfunded CFMMs

edit

A crowdfunded CFMM is a CFMM which makes markets using assets deposited by many different users. Users may contribute their assets to the CFMM's inventory, and receive in exchange a pro rata share of the inventory, claimable at any point for the assets in the inventory at that time the claim is made.[3]

Examples

edit
  • Uniswap  
  • RMM-01  
  • QuadMaker  
  • StableSwap  

References

edit
  1. ^ a b c d Cartea, Álvaro; Drissi, Fayçal; Monga, Marcello (2023). "Predictable losses of liquidity provision in constant function markets and concentrated liquidity markets". SSRN 4541034.
  2. ^ a b c d Cartea, Álvaro; Drissi, Fayçal; Monga, Marcello. "Decentralised Finance and Automated Market Making: Execution and Speculation". SSRN 4144743.
  3. ^ a b Schär, Fabian (Apr 15, 2021). "Decentralized Finance: On Blockchain- and Smart Contract-Based Financial Markets". Federal Reserve Bank of St. Louis Review. 103 (2). doi:10.20955/r.103.153-74.
  4. ^ Othman, Abraham; Pennock, David; Reeves, Daniel; Sandholm, Thomas (Sep 2013). "A Practical Liquidity-Sensitive Automated Market Maker" (PDF). ACM Transactions on Economics and Computation. 1 (3): 1–25. doi:10.1145/2509413.2509414. S2CID 52798827.
  5. ^ a b Angeris, Guillermo; Agrawal, Akshay; Evans, Alex; Chitra, Tarun; Boyd, Stephen (2021). "Constant Function Market Makers: Multi-Asset Trades via Convex Optimization". arXiv:2107.12484 [math.OC].
  6. ^ Angeris, Guillermo; Evans, Alex; Chitra, Tarun (2021). "Replicating Market Makers". arXiv:2103.14769 [q-fin.MF].
  7. ^ Milionis, Jason; Moallemi, Ciamac; Roughgarden, Tim; Zhang, Anthony Lee (2022). "Automated market making and loss-versus-rebalancing". arXiv:2208.06046 [q-fin.MF].
  8. ^ Barndorff-Nielsen, Ole; Shephard, Neil (2002). "Estimating quadratic variation using realized variance" (PDF). Journal of Applied Econometrics. 17 (5): 457-477. doi:10.1002/jae.691.
  9. ^ Fukasawa, Masaaki; Maire, Basile; Wunsch, Marcus (2023). "Weighted variance swaps hedge against impermanent loss". Quantitative Finance. 23 (6): 901–911. doi:10.1080/14697688.2023.2202708. hdl:11475/29268. S2CID 248582732.
  10. ^ Cartea, Álvaro; Drissi, Fayçal; Monga, Marcello (10 November 2022). "Decentralised Finance and Automated Market Making: Predictable Loss and Optimal Liquidity Provision". arXiv:2309.08431. doi:10.2139/ssrn.4273989. S2CID 254034993. SSRN 4273989. {{cite journal}}: Cite journal requires |journal= (help)
  11. ^ Hanson, Robin (Dec 13, 2012). "Logarithmic markets coring rules for modular combinatorial information aggregation" (PDF). The Journal of Prediction Markets. 1 (1): 3–15. doi:10.5750/jpm.v1i1.417.
  12. ^ Angeris, Guillermo; Chitra, Tarun (26 October 2020). "Improved Price Oracles: Constant Function Market Makers". Proceedings of the 2nd ACM Conference on Advances in Financial Technologies. pp. 80–91. arXiv:2003.10001. doi:10.1145/3419614.3423251. ISBN 9781450381390. S2CID 214611887.
  13. ^ "HyperConomy". GitHub.