STRASMORE/EXPLORE 3,094 QUERIES

msk_hour_liquidity

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-05, from us-stock-market-hours-moscow-time.

as of series 16×4read in context →
msk_hour_liquidity — 16 rows by 4 columns, computed from US exchange, SIP and OPRA data.
msk_timeet_timephasevolume_pct
11:0004:00премаркет0.29
12:0005:00премаркет0.1
13:0006:00премаркет0.13
14:0007:00премаркет0.32
15:0008:00премаркет0.52
16:0009:00открытие17.06
17:0010:00основная сессия17.01
18:0011:00основная сессия12.72
19:0012:00основная сессия9.5
20:0013:00основная сессия9.07
21:0014:00основная сессия10.19
22:0015:00основная сессия18.61
23:0016:00после закрытия3.94
00:0017:00после закрытия0.33
01:0018:00после закрытия0.11
02:0019:00после закрытия0.1
Rows × columns
16 × 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 msk_hour_liquidity, derived from the stored result.
ColumnTypeRangeNotes
msk_time text 16 distinct values (00:00, 01:00, 02:00…)
et_time text 16 distinct values (04:00, 05:00, 06:00…)
phase text 4 distinct values
volume_pct number 0.1 to 18.61 percent

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
    hourly AS
    (
        SELECT
            toHour(toTimeZone(window_start, 'America/New_York')) AS et_hour,
            sum(volume)                                          AS vol
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE ticker = 'AAPL'
          AND window_start >= toDateTime('2026-09-01 00:00:00')
          AND window_start <  toDateTime('2026-10-01 00:00:00')
          AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
               + toMinute(toTimeZone(window_start, 'America/New_York'))) >= 240
          AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
               + toMinute(toTimeZone(window_start, 'America/New_York'))) < 1200
        GROUP BY et_hour
    )
SELECT
    concat(leftPad(toString((et_hour + 7) % 24), 2, '0'), ':00')                 AS msk_time,
    concat(leftPad(toString(et_hour), 2, '0'), ':00')                            AS et_time,
    multiIf(et_hour < 9,  'премаркет',
            et_hour = 9,  'открытие',
            et_hour < 16, 'основная сессия',
                          'после закрытия')                                     AS phase,
    round(100 * toFloat64(vol) / toFloat64((SELECT sum(vol) FROM hourly)), 2)    AS volume_pct
FROM hourly
ORDER BY et_hour
⌘/Ctrl + Enter

Работайте с этими данными в своём ИИ-ассистенте

Открывается готовым к запросам, с данными этой страницы. Бесплатно, без аккаунта.