adriaparcerisasUniswap continuous LVR alltime
Updated 2024-09-09
99
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
›
⌄
-- forked from Uniswap continuous LVR 4 @ https://flipsidecrypto.xyz/studio/queries/a5ca067e-850d-47f6-b0aa-a4fa16cd3041
WITH price_changes AS (
SELECT
DATE_TRUNC('week', BLOCK_TIMESTAMP) AS day,
POOL_ADDRESS,
TOKEN0_SYMBOL,
TOKEN1_SYMBOL,
PRICE_0_1 AS price,
LAG(PRICE_0_1, 1) OVER (PARTITION BY POOL_ADDRESS ORDER BY BLOCK_TIMESTAMP) AS previous_price
FROM ethereum.uniswapv3.ez_swaps
WHERE POOL_NAME = '{{pool_name}}'
),
daily_volatility AS (
SELECT
day,
POOL_ADDRESS,
TOKEN0_SYMBOL,
TOKEN1_SYMBOL,
STDDEV(price - previous_price) AS daily_volatility
FROM price_changes
WHERE previous_price IS NOT NULL
GROUP BY day, POOL_ADDRESS, TOKEN0_SYMBOL, TOKEN1_SYMBOL having daily_volatility<100
)
SELECT
day,
POOL_ADDRESS,
TOKEN0_SYMBOL,
TOKEN1_SYMBOL,
daily_volatility,
-- LVR continuous formula: σ² / 8
POWER(daily_volatility, 2) / 8 AS daily_LVR_continuous,
avg(daily_LVR_continuous) over (order by day) as avg_LVR_continuous,
sum(daily_LVR_continuous) over (order by day) as cum_LVR_continuous
FROM daily_volatility
ORDER BY day desc
QueryRunArchived: QueryRun has been archived