Calculations › Market Overview
What is the average year-to-date % change across all stocks?
The query
-- KPI market-wide: average YTD % change across all stocks
WITH latest AS (
SELECT DISTINCT ON (tp.ticketnameid) tp.ticketnameid, tp.price AS price_now
FROM ticketprice tp JOIN ticketname tn ON tn.id = tp.ticketnameid
WHERE tn.tickettype = 'stock'
ORDER BY tp.ticketnameid, tp.datetime DESC
),
year_start AS (
SELECT DISTINCT ON (tp.ticketnameid) tp.ticketnameid, tp.price AS price_start
FROM ticketprice tp JOIN ticketname tn ON tn.id = tp.ticketnameid
WHERE tn.tickettype = 'stock'
AND tp.datetime >= EXTRACT(EPOCH FROM DATE_TRUNC('year', NOW()))::bigint
ORDER BY tp.ticketnameid, tp.datetime ASC
)
SELECT AVG((l.price_now - y.price_start) / NULLIF(y.price_start,0) * 100) AS avg_ytd_pct_change
FROM latest l JOIN year_start y ON y.ticketnameid = l.ticketnameid
WHERE y.price_start >= 0.5;
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
| Avg YTD % change |
|---|
| 5.67 |
Live output, first 1 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