Andreas Park PRO
Professor of Finance at UofT
Human quotes in a CDA versus a machine-run constant-product AMM.
Private values pin down the efficient allocation.
Findings:
Summary thoughts:
or: how one might want to frame the paper
A → B: buy q units
\(p(q)=\dfrac{xy}{(x-q)^2}\)
\(C(q)=\int_0^q p(z)\,dz=\dfrac{yq}{x-q}\)
In this experiment:
or: I get the big picture, but some nuances matter and looking after them would strengthen the interpretation of the findings
A simplified setting
\[\overline{W} = \sum_{i=1}^{N} (v_i - c_i) = \sum_{i=1}^{N} (v_i - P^*) + \sum_{i=1}^{N} (P^* - c_i).\]
Example 1: One buyer \(v\), one seller \(c\), with \(v - P^* > P^* - c\) and \(v>P^*>c\)
\(\to\) in an AMM there can be fewer than \(N\) who trade because of their private values
\(\to\) that can't happen in a CDA
Example 2: two buyers \(v_1 > v_2 > P^*\), two sellers \(c_1 < c_2 < P^*\).
\(\to\) for each session, should specify whether it could achieve full efficiency based on value draw
Prices
Four trades, two buys and two sells but six price paths. \[A = \overline{\pi}_{0}, ~A' = \overline{\pi}_{1}, ~B = \underline{\pi}_{0},~ B' = \underline{\pi}_{-1}\]
| order | imbalance path | prices | average |
|---|---|---|---|
| SSBB | \(0,-1,-2,-1,0\) | \(B,\ B',\ B',\ B\) | \(\tfrac{1}{2}(B+B')\) |
| SBSB | \(0,-1,0,-1,0\) | \(B,\ B,\ B,\ B\) | \(B\) |
| SBBS | \(0,-1,0,1,0\) | \(B,\ B,\ A,\ A\) | \(\tfrac{1}{2}(A+B)\) |
| BSSB | \(0,1,0,-1,0\) | \(A,\ A,\ B,\ B\) | \(\tfrac{1}{2}(A+B)\) |
| BSBS | \(0,1,0,1,0\) | \(A,\ A,\ A,\ A\) | \(A\) |
| BBSS | \(0,1,2,1,0\) | \(A,\ A',\ A',\ A\) | \(\tfrac{1}{2}(A+A')\) |
Ranking: \[ \tfrac{1}{2}(B+B') < B < P^\ast < \tfrac{1}{2}(A+B) < A < \tfrac{1}{2}(A+A'). \]
Four trades, two buys and two sells, but six price paths.
Illustration: default pool depth \(a=17.39\), \(P^\ast=100\), no fees. \[ A=\overline{\pi}_0=106.10,\quad A'=\overline{\pi}_1=119.89,\quad B=\underline{\pi}_0=94.56,\quad B'=\underline{\pi}_{-1}=84.81. \]
| order | imbalance path | prices | average | GD | GAD |
|---|---|---|---|---|---|
| SSBB | \(0,-1,-2,-1,0\) | \(B,\ B',\ B',\ B\) | \(\tfrac12(B+B')\) | −10.45% | 11.67% |
| SBSB | \(0,-1,0,-1,0\) | \(B,\ B,\ B,\ B\) | \(B\) | −5.44% | 5.75% |
| SBBS | \(0,-1,0,1,0\) | \(B,\ B,\ A,\ A\) | \(\tfrac12(A+B)\) | +0.17% | 5.93% |
| BSSB | \(0,1,0,-1,0\) | \(A,\ A,\ B,\ B\) | \(\tfrac12(A+B)\) | +0.17% | 5.93% |
| BSBS | \(0,1,0,1,0\) | \(A,\ A,\ A,\ A\) | \(A\) | +6.10% | 6.10% |
| BBSS | \(0,1,2,1,0\) | \(A,\ A',\ A',\ A\) | \(\tfrac12(A+A')\) | +12.79% | 12.79% |
GD = geometric signed deviation; GAD = geometric absolute deviation from \(P^\ast\), using the paper’s definitions. Calculated from unrounded prices.
Ranking of arithmetic averages: \[ \tfrac12(B+B') < B < P^\ast < \tfrac12(A+B) < A < \tfrac12(A+A'). \]
it's fine to discuss fees but a bit more background is needed
buy & hold
AMM LP: concave relative to buy & hold
Asset price change
Portfolio value change
Fees compensate LPs for mechanical liquidity provision and trading losses.
Impermanent loss measures underperformance versus holding after a price move.
Fees and depth interact through liquidity supply.
Here, pool size is exogenous.
A partial-equilibrium fee experiment.
Rule of Thumb: with competitive liquidity provision & adverse selection the trading fee is \(2\times\) price impact (e.g., Malinova & Park ("Learning from DeFi" 2024)
By Andreas Park
My discussion of "Allocative Efficiency and Mispricing in Automated Market Maker (AMM) and Continuous Double Auction (CDA) Markets" by Mestel, Palan, Theissen, and Walcher