Dynamics of Liquidity Surfaces in Uniswap v3

ArXiv ID: 2509.05013 “View on arXiv”

Authors: Jimmy Risk, Shen-Ning Tung, Tai-Ho Wang

Abstract

This paper presents a comprehensive study on the empirical dynamics of Uniswap v3 liquidity, which we model as a time-tick surface, $L_t(x)$. Using a combination of functional principal component analysis (FPCA) and dynamic factor methods, we analyze three distinct pools over multiple sample periods. Our findings offer three main contributions: a statistical characterization of automated market maker liquidity, an interpretable and portable basis for dimension reduction, and a robust analysis of liquidity dynamics using rolling window metrics. For the 5 bps pools, the leading empirical eigenfunctions explain the majority of cross-tick variation and remain stable, aligning closely with a low-order Legendre polynomial basis. This alignment provides a parsimonious and interpretable structure, similar to the dynamic Nelson-Siegel method for yield curves. The factor coefficients exhibit a time series structure well-captured by AR(1) models with clear GARCH-type heteroskedasticity and heavy-tailed innovations.

Keywords: Uniswap v3, Functional Principal Component Analysis (FPCA), Liquidity Dynamics, Automated Market Maker (AMM), Time-Tick Surface, Decentralized Finance (DeFi)

Complexity vs Empirical Score

  • Math Complexity: 8.5/10
  • Empirical Rigor: 7.0/10
  • Quadrant: Holy Grail
  • Why: The paper employs advanced mathematical techniques like functional PCA, Legendre polynomials, and time-series models (AR(1)-GARCH) to analyze liquidity surfaces, indicating high math complexity. Empirical rigor is strong due to the use of real-world data from multiple Uniswap v3 pools, detailed statistical analysis, and robustness checks, though it lacks live trading implementation.
  flowchart TD
    A["Research Goal<br>Model Uniswap v3<br>Liquidity Dynamics"] --> B["Data Collection<br>3 Pools & Multiple Periods"]
    B --> C["Methodology<br>Functional PCA<br>Dynamic Factor Models"]
    C --> D{"Computational Analysis"}
    D --> E["FPCA on L_t x<br>Extract Eigenfunctions"]
    D --> F["Rolling Window Metrics<br>Time Series Factor Coeffs"]
    E --> G["Key Findings & Outcomes"]
    F --> G
    G --> H["Stable Eigenfunctions<br>Legendre Polynomial Basis"]
    G --> I["Factor Dynamics<br>AR(1) + GARCH<br>Heavy-tailed Inno."]