tramos_sesion_madrid
Answered against 22 years of US equities and 12 years of US options data and published with the query that produced it. This result is stored as of 2026-10-08, from us-stock-market-hours-madrid-time.
| tramo | cuota_pct | millones_por_sesion |
|---|---|---|
| 10:00 a 15:29 premercado | 2.62 | 1.11 |
| 15:30 a 16:59 apertura | 21.8 | 9.29 |
| 17:00 a 20:59 jornada media | 36.15 | 15.4 |
| 21:00 a 22:00 cierre y subasta | 25.53 | 10.87 |
| 22:01 a 02:00 after hours | 13.91 | 5.92 |
- Rows × columns
- 5 × 3
- Computed
- Completeness
- No missing values
- Source
- US exchange, SIP and OPRA market data
- Licence
- Strasmore terms · free, no signup
What each column holds
| Column | Type | Range | Notes |
|---|---|---|---|
tramo |
text | 5 distinct values | |
cuota_pct |
number | 2.62 to 36.15 | percent |
millones_por_sesion |
number | 1.11 to 15.4 |
Computed from Strasmore's warehouse of US exchange, SIP and OPRA market data. Equity prices are delayed; options greeks and implied volatility are end-of-day. This result is stored, not recomputed on load — it is exactly the numbers that were returned on , and the query below is what returned them.
Run it yourself
This is the exact query behind the result above. Change a ticker, a date or a column and run it against the warehouse — no account, no key. The no-signup tier is smaller than the one this page was computed on; a query that reaches past it comes back saying which plan runs it.
WITH
(
SELECT sum(volume)
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= '2026-09-01 00:00:00'
AND window_start < '2026-10-07 00:00:00'
) AS volumen_total
SELECT
multiIf(minuto < 930, '10:00 a 15:29 premercado',
minuto < 1020, '15:30 a 16:59 apertura',
minuto < 1260, '17:00 a 20:59 jornada media',
minuto <= 1320, '21:00 a 22:00 cierre y subasta',
'22:01 a 02:00 after hours') AS tramo,
round(100 * toFloat64(sum(volumen)) / toFloat64(volumen_total), 2) AS cuota_pct,
round(toFloat64(sum(volumen)) / countDistinct(sesion) / 1e6, 2) AS millones_por_sesion
FROM
(
SELECT
if((toHour(reloj_madrid) * 60 + toMinute(reloj_madrid)) < 240,
toHour(reloj_madrid) * 60 + toMinute(reloj_madrid) + 1440,
toHour(reloj_madrid) * 60 + toMinute(reloj_madrid)) AS minuto,
toDate(toTimeZone(window_start, 'America/New_York')) AS sesion,
volume AS volumen
FROM
(
SELECT
window_start,
toTimeZone(window_start, 'Europe/Madrid') AS reloj_madrid,
volume
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= '2026-09-01 00:00:00'
AND window_start < '2026-10-07 00:00:00'
)
)
GROUP BY tramo
ORDER BY min(minuto)
Work with this data in your AI assistant
Opens ready to query, with this page's data. Free, no account.