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
An AMM is a pool of reserves + a pricing rule \(x\cdot y=k\). Three things to know:
① Price = |slope|
p = y / x
② Trade walks the curve
price moves → impact
③ LPs shift it out
more depth, same price
Buy q units
Asset reserve falls to x − q.
Cash enters the pool.
The next marginal price rises.
Reverse the trade
The pool returns to its starting point.
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)
At what price should terminal inventory be valued?
Example 2: buyers \(v_1 > v_2 > P^*\), sellers \(c_1 < c_2 < P^*\).
Example 2: two buyers \(v_1 > v_2 > P^*\), two sellers \(c_1 < c_2 < P^*\).
CDA: conditional on the traded units, payments cancel between buyers and sellers.
Fee-free AMM: exact back-and-forth trades restore the pool and net out its cash flows.
Sequence matters when it changes which units trade.
An unbalanced pool also leaves terminal inventory to value.
Lost gains come from inefficient units trading, or efficient units failing to trade.
A useful next step: account for missed gains unit by unit.
G = total gains from trade available in competitive equilibrium
TE = trader profits net of fees / G
LE = LP profits (fees − impermanent loss) / G
HE = TE + LE
A fee transfer F lowers TE by F/G and raises LE by F/G.
HE removes pure transfers, given the LP valuation benchmark.
The paper’s lower HE with fees calls for an allocation decomposition.