STRASMORE/EXPLORE 2,985 QUERIES

last_buy_window

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-03, from upcoming-us-dividend-dates-in-ist.

as of table 3×6read in context →
last_buy_window — 3 rows by 6 columns, computed from US exchange, SIP and OPRA data.
tickerex_etlast_buy_etwindow_opens_istwindow_closes_istdays_to_ex
AXP2026-10-092026-10-0808 Oct, 19:0009 Oct, 01:306
VZ2026-10-092026-10-0808 Oct, 19:0009 Oct, 01:306
ABBV2026-10-152026-10-1414 Oct, 19:0015 Oct, 01:3012
Rows × columns
3 × 6
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 last_buy_window, derived from the stored result.
ColumnTypeRangeNotes
ticker text 3 distinct values (ABBV, AXP, VZ)
ex_et date 2026-10-09 to 2026-10-15
last_buy_et date 2026-10-08 to 2026-10-14
window_opens_ist text 2 distinct values (08 Oct, 19:00, 14 Oct, 19:00)
window_closes_ist text 2 distinct values (09 Oct, 01:30, 15 Oct, 01:30)
days_to_ex number 6 to 12

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
    ticker,
    toString(ex_date)       AS ex_et,
    toString(last_buy_day)  AS last_buy_et,
    formatDateTime(
        toTimeZone(toDateTime(concat(toString(last_buy_day), ' 09:30:00'), 'America/New_York'),
                   'Asia/Kolkata'), '%d %b, %H:%i') AS window_opens_ist,
    formatDateTime(
        toTimeZone(toDateTime(concat(toString(last_buy_day), ' 16:00:00'), 'America/New_York'),
                   'Asia/Kolkata'), '%d %b, %H:%i') AS window_closes_ist,
    toUInt16(dateDiff('day', today(), ex_date))     AS days_to_ex
FROM
(
    SELECT
        ticker,
        ex_dividend_date AS ex_date,
        ex_dividend_date - if(toDayOfWeek(ex_dividend_date) = 1, 3, 1) AS last_buy_day
    FROM global_markets.stocks_dividends
    WHERE ex_dividend_date >= today()
      AND ex_dividend_date <= today() + 45
      AND currency = 'USD'
      AND cash_amount > 0
      AND ticker IN ('AAPL', 'MSFT', 'KO', 'JNJ', 'PG', 'XOM', 'CVX', 'PEP', 'MCD', 'HD',
                     'VZ', 'ABBV', 'CSCO', 'WMT', 'IBM', 'CAT', 'MRK', 'ADP', 'COST', 'AXP')
    GROUP BY ticker, ex_dividend_date
)
ORDER BY ex_date, ticker
LIMIT 10
⌘/Ctrl + Enter

Work with this data in your AI assistant

Opens ready to query, with this page's data. Free, no account.