1WITH btc_moves AS (
2 SELECT
3 datetime,
4 'BTC' AS asset,
5 close AS price,
6 ((close - LAG(close) OVER (ORDER BY datetime)) /
7 LAG(close) OVER (ORDER BY datetime) * 100) AS daily_return
8 FROM "@coindesk.indices.coindesk_spot_price"
9 WHERE instrument = 'BTC-USD'
10),
11eth_moves AS (
12 SELECT
13 datetime,
14 'ETH' AS asset,
15 close AS price,
16 ((close - LAG(close) OVER (ORDER BY datetime)) /
17 LAG(close) OVER (ORDER BY datetime) * 100) AS daily_return
18 FROM "@coindesk.indices.coindesk_spot_price"
19 WHERE instrument = 'ETH-USD'
20),
21cd20_moves AS (
22 SELECT
23 datetime,
24 'CD20' AS asset,
25 close AS price,
26 ((close - LAG(close) OVER (ORDER BY datetime)) /
27 LAG(close) OVER (ORDER BY datetime) * 100) AS daily_return
28 FROM "@coindesk.indices.multi_assets_indices"
29 WHERE instrument = 'CD20SPOT-USD'
30)
31SELECT
32 datetime,
33 asset,
34 ROUND(price, 2) AS price,
35 ROUND(daily_return, 2) AS daily_return_pct
36FROM (
37 SELECT * FROM btc_moves
38 UNION ALL
39 SELECT * FROM eth_moves
40 UNION ALL
41 SELECT * FROM cd20_moves
42) combined
43WHERE daily_return IS NOT NULL
44 AND datetime >= '2022-01-01'
45ORDER BY ABS(daily_return) DESC
46LIMIT 50