STRASMORE/EXPLORE 2,170 QUERIES

Average move by New York half hour, two foreign listings

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-08-10, from International Fund NAV: Fair Value Pricing.

as of series 25×3read in context →
Average move by New York half hour, two foreign listings — 25 rows by 3 columns, computed from US exchange, SIP and OPRA data.
et_timejapan_adr_bpseurope_adr_bps
04:0045.856.7
04:301025.6
05:0013.222.1
06:0013.327.4
06:301828.6
07:0015.434.6
07:3017.822.2
08:0012.833.2
08:3016.427.8
09:0030.442.7
09:3060.283.9
10:0025.350
10:302149.9
11:0021.637.3
11:3015.429.8
12:001821.9
12:3013.821.3
13:0014.924.6
13:3014.419
14:0015.918.7
14:30919.7
15:0017.321.6
15:3020.828.3
16:0032.222.3
16:3021.110.9
Rows × columns
25 × 3
Period covered
to
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 Average move by New York half hour, two foreign listings, derived from the stored result.
ColumnTypeRangeNotes
et_time date 04:00 to 16:30
japan_adr_bps number 9 to 60.2
europe_adr_bps number 10.9 to 83.9

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.

the exact SQL behind every number
WITH buckets AS
(
    SELECT
        ticker,
        toDate(toTimeZone(window_start, 'America/New_York')) AS et_day,
        formatDateTime(toStartOfInterval(toTimeZone(window_start, 'America/New_York'), INTERVAL 30 MINUTE), '%H:%i') AS et_time,
        argMin(toFloat64(open), window_start)  AS bucket_open,
        argMax(toFloat64(close), window_start) AS bucket_close
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN ('SONY', 'SAP')
      AND window_start >= '2026-05-01 00:00:00'
      AND window_start <  '2026-08-01 00:00:00'
    GROUP BY ticker, et_day, et_time
)
SELECT
    et_time,
    round(avgIf(abs(bucket_close / bucket_open - 1) * 10000, ticker = 'SONY'), 1) AS japan_adr_bps,
    round(avgIf(abs(bucket_close / bucket_open - 1) * 10000, ticker = 'SAP'), 1)  AS europe_adr_bps
FROM buckets
WHERE bucket_open > 0
GROUP BY et_time
HAVING countIf(ticker = 'SONY') >= 40
   AND countIf(ticker = 'SAP')  >= 40
ORDER BY et_time

Run your own version of this

The same 22 years of US equities and 12 years of options data are queryable in SQL or plain English. A free account runs 100 queries a day and takes no card.

More from this analysisInternational Fund NAV: Fair Value Pricing
The overnight and New York halves of the day, year by year ranking 6×3 Where the daily move lands: overnight gap versus the New York session ranking 6×3 Foreign listings during New York hours, sorted by the US large cap move ranking 5×4 One session's price path, SPY every 15 minutes on June 17, 2026 series 27×2 Share of SPY's session volume by half hour, June 2026 average series 13×2 Distance from the 10:00 a.m. ET price to the close, SPY, by month series 12×4 See all 2,170 queries →