Calculations › Market: Risk

Which materials are the most volatile right now (90-day annualised)?

The query

-- table market-wide: annualised volatility of every material, most volatile first
WITH daily AS (
  SELECT tp.ticketnameid, tp.datetime, tp.price,
         LAG(tp.price) OVER (PARTITION BY tp.ticketnameid ORDER BY tp.datetime) AS prev_price
  FROM ticketprice tp JOIN ticketname tn ON tn.id = tp.ticketnameid
  WHERE tn.tickettype = 'material'
    AND tp.datetime >= EXTRACT(EPOCH FROM NOW())::bigint - 90*86400
),
rets AS (
  SELECT ticketnameid, (price - prev_price) / NULLIF(prev_price,0) AS ret
  FROM daily WHERE prev_price IS NOT NULL
)
SELECT tn.ticket AS symbol, COALESCE(NULLIF(sm.name, tn.ticket), tn.ticketname, tn.ticket) AS name,
       COUNT(*) AS days_measured,
       STDDEV_SAMP(r.ret) * SQRT(252) * 100 AS annualised_volatility_pct
FROM rets r
JOIN ticketname tn ON tn.id = r.ticketnameid
LEFT JOIN symbolmetadata sm ON sm.ticketnameid = r.ticketnameid
GROUP BY tn.ticket, sm.name, tn.ticketname
HAVING COUNT(*) >= 20
ORDER BY annualised_volatility_pct DESC NULLS LAST

Runs against Cryptobi's market tables — ticketname (symbols), ticketprice (daily prices and volume) and symbolmetadata (sector, exchange, market cap and other reference fields).

Current output

SymbolNameDays measuredAnnualised volatility %
CC=F Cocoa Dec 26 61 55.42
BZ=F Brent Crude Oil Last Day Financial Futures 62 54.98
CL=F Crude Oil Oct 26 62 50.92
KC=F Coffee Dec 26 61 48.26
PA=F Palladium Dec 26 62 43.44
NG=F Natural Gas Oct 26 62 40.11
SI=F Silver Dec 26 62 36.71
PL=F Platinum Oct 26 62 36.32
ZW=F Chicago SRW Wheat Futures,Dec-2 61 34.95
CT=F Cotton Mar 26 61 31.62
SB=F Sugar #11 Oct 26 61 29.36
ZC=F Corn Futures,Dec-2026 61 26.13
GC=F Gold Dec 26 62 22.42
HG=F Copper Dec 26 62 21.96
ZS=F Soybean Futures,Nov-2026 61 19.22

Live output, first 15 rows, refreshed periodically. Model estimates are trend projections from recent prices, not financial advice.

Run this on your own holdings, change it, or write your own in SQL or Python — then put it on a dashboard or have it emailed on a schedule. Free, no credit card.

Sign Up Free