volumen_berliner_stunden
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-01, from us-market-volume-by-hour-german-time.
| berlin_time | volumen_anteil_pct | volumen_mrd_aktien | trades_je_minute |
|---|---|---|---|
| 15:30-16:30 | 26.54 | 3.2 | 3572 |
| 16:30-17:30 | 15.55 | 1.87 | 3275 |
| 17:30-18:30 | 11.89 | 1.43 | 2649 |
| 18:30-19:30 | 10.14 | 1.22 | 1320 |
| 19:30-20:30 | 9.3 | 1.12 | 1242 |
| 20:30-21:30 | 11.47 | 1.38 | 1351 |
| 21:30-22:00 | 15.12 | 1.82 | 3081 |
- Rows × columns
- 7 × 4
- 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 |
|---|---|---|---|
berlin_time |
text | 7 distinct values (15:30-16:30, 16:30-17:30, 17:30-18:30…) | |
volumen_anteil_pct |
number | 9.3 to 26.54 | percent |
volumen_mrd_aktien |
number | 1.12 to 3.2 | |
trades_je_minute |
number | 1,242 to 3,572 | count |
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.
SELECT
berlin_time,
round(100 * bucket_volume / sum(bucket_volume) OVER (), 2) AS volumen_anteil_pct,
round(bucket_volume / 1e9, 2) AS volumen_mrd_aktien,
trades_je_minute
FROM
(
SELECT
intDiv(berlin_minute - 930, 60) AS bucket,
concat(
leftPad(toString(intDiv(930 + 60 * bucket, 60)), 2, '0'), ':',
leftPad(toString(modulo(930 + 60 * bucket, 60)), 2, '0'), '-',
leftPad(toString(intDiv(least(990 + 60 * bucket, 1320), 60)), 2, '0'), ':',
leftPad(toString(modulo(least(990 + 60 * bucket, 1320), 60)), 2, '0')
) AS berlin_time,
sum(volume) AS bucket_volume,
round(avg(transactions), 0) AS trades_je_minute
FROM
(
SELECT
toHour(toTimeZone(window_start, 'Europe/Berlin')) * 60
+ toMinute(toTimeZone(window_start, 'Europe/Berlin')) AS berlin_minute,
volume,
transactions
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('SPY', 'AAPL', 'MSFT', 'NVDA', 'KO')
AND window_start >= '2026-07-01'
AND window_start < '2026-09-26'
)
WHERE berlin_minute >= 930 AND berlin_minute < 1320
GROUP BY bucket, berlin_time
)
ORDER BY bucket
Arbeiten Sie mit diesen Daten in Ihrem KI-Assistenten
Öffnet sich abfragebereit, mit den Daten dieser Seite. Kostenlos, ohne Konto.