STRASMORE/EXPLORE 2,882 QUERIES

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.

as of series 7×4read in context →
volumen_berliner_stunden — 7 rows by 4 columns, computed from US exchange, SIP and OPRA data.
berlin_timevolumen_anteil_pctvolumen_mrd_aktientrades_je_minute
15:30-16:3026.543.23572
16:30-17:3015.551.873275
17:30-18:3011.891.432649
18:30-19:3010.141.221320
19:30-20:309.31.121242
20:30-21:3011.471.381351
21:30-22:0015.121.823081
Rows × columns
7 × 4
Computed
Completeness
No missing values
Source
US exchange, SIP and OPRA market data
Licence
Strasmore terms · free, no signup
Formats
JSON · CSV · the SQL below

What each column holds

Column definitions for volumen_berliner_stunden, derived from the stored result.
ColumnTypeRangeNotes
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
⌘/Ctrl + Enter

Arbeiten Sie mit diesen Daten in Ihrem KI-Assistenten

Öffnet sich abfragebereit, mit den Daten dieser Seite. Kostenlos, ohne Konto.