Panoptic Research

Share this post

LP Profits: Staying "In-Range" on Uniswap v3

research.panoptic.xyz

Discover more from Panoptic Research

The perpetual, oracle-free options protocol. We are the best option.
Continue reading
Sign in
#ResearchBites

LP Profits: Staying "In-Range" on Uniswap v3

How long does the price remain within a given range?

guil-lambert
Mar 17, 2023
Share this post

LP Profits: Staying "In-Range" on Uniswap v3

research.panoptic.xyz
Share

View on Twitter

Liquidity provider positions in UniV3 only collect fees when the price is within that position's range. How long does the price remain within a given range? Let's find out!

🧵Caution: contains math 🤓

We will consider positions centered at the current price at time T=0 and monitor how long it takes the price to move a certain number of ticks up or down. In the example below, a position is minted on Jan. 1st 2022 and the price crossed ±2%, ±3%, ±5%, and ±10% in <6 days.

Waiting for the price to move even more, from ±50% to ±300%, it now takes more than 5 months for the price to drift by 11,000 ticks (the ETH price did go down by 3x YTD in May 2022). What's the relationship between the range and the first exit time? Let's look closer 👇

While crossing times do seem to converge for short exit times (see 10, 20, 30bps), it turns out that the average waiting time scales as the square of the range h:

\(waitTime \sim h^2\)

I'm deriving why this relationship exists based on work by Andersen 2008 and @SinclairEuan 2014.

Image

This h^2 law is a consequence of the price *ticks* following a Brownian Motion with normally distributed steps: in a BM, the average displacement after a time t scales as σ*t^2, where σ=volatility. This relationship can be inverted to estimate σ from average crossing times!

Can we use those first exit times to derive a "per tx" volatility? Kind of! 👇 Per tx data is very noisy (blue dots), but using the average over 10,000 tx reveals known volatile periods like Luna/3AC/FTX collapses, or macro events like the Merge and the start of the Ukraine war.

Key insights:

  • The average time spent within a range ±h scales as (h/σ)^2

  • E[first exit time] can be used to develop resilient and efficient volatility estimators (when on-chain σFTE?)

  • The volatility calculation in the ETH-USDC pool can highlight volatile macro events

Caveats/Questions:

  • Do this still hold if price ticks are not a Brownian motion (see quoted thread)

  • What about 30bps and 100bps pools?

  • Should the range be adjusted for different volatility environments?

  • What's the optimal range for a given σ?

Twitter avatar for @guil_lambert
Guillaume Lambert | gee-yohm.eth | 🦇🔊 @guil_lambert
#ResearchBites from the @Panoptic_xyz team. ============ One of the core assumptions behind financial models is that prices follow a geometric brownian motion (GBM) --eg. Black-Scholes. Does the price of the most traded asset in Uniswap v3 also follow a GBM? Let's find out! 👇
Image
12:03 AM ∙ Jan 6, 2023
80Likes19Retweets

Comment below with questions! 🤝

Like & Retweet & follow @Panoptic_xyz for more #ResearchBites and key updates!

👉Check out our GitHub repo

This content is for educational purposes only and should not be relied upon as financial advice.

Follow on Twitter

Share this post

LP Profits: Staying "In-Range" on Uniswap v3

research.panoptic.xyz
Share
Previous
Next
Comments
Top
New
Community

No posts

Ready for more?

© 2023 Panoptic
Privacy ∙ Terms ∙ Collection notice
Start WritingGet the app
Substack is the home for great writing