adriaparcerisasUniswap pools 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
›
⌄
with
top10 as (
select distinct pool_name, sum(AMOUNT1_USD) as volume
from ethereum.uniswapv3.ez_swaps
group by 1 having volume is not null order by 2 desc limit 10
),
price_changes AS (
SELECT
DATE_TRUNC('week', BLOCK_TIMESTAMP) AS day,
POOL_NAME,
TOKEN0_SYMBOL,
TOKEN1_SYMBOL,
PRICE_0_1 AS price,
LAG(PRICE_0_1, 1) OVER (PARTITION BY POOL_NAME ORDER BY BLOCK_TIMESTAMP) AS previous_price
FROM ethereum.uniswapv3.ez_swaps
WHERE POOL_NAME in (select distinct pool_name from top10)
),
daily_volatility AS (
SELECT
day,
POOL_NAME,
TOKEN0_SYMBOL,
TOKEN1_SYMBOL,
STDDEV(price - previous_price) AS daily_volatility
FROM price_changes
WHERE previous_price IS NOT NULL
GROUP BY day, POOL_NAME, TOKEN0_SYMBOL, TOKEN1_SYMBOL having daily_volatility<100
)
SELECT
day,
POOL_NAME,
TOKEN0_SYMBOL,
TOKEN1_SYMBOL,
daily_volatility,
-- LVR continuous formula: σ² / 8
POWER(daily_volatility, 2) / 8 AS daily_LVR_continuous,
QueryRunArchived: QueryRun has been archived