STRASMORE/EXPLORE 2,170 QUERIES

Share of each 15 minute bucket spent at a one cent quoted spread

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-13, from Half-Penny Tick Sizes Under Rule 612.

as of series 30×3read in context →
Share of each 15 minute bucket spent at a one cent quoted spread — 30 rows by 3 columns, computed from US exchange, SIP and OPRA data.
et_timeaapl_floor_pctf_floor_pct
09:001.675
09:150.850
09:3041.495.4
09:4553.4100
10:005499.9
10:1556.5100
10:3065.5100
10:4560.4100
11:0048.5100
11:1547.5100
11:3058.1100
11:4559.5100
12:0067.6100
12:1568.6100
12:3068.6100
12:4572.5100
13:0075.1100
13:1576.4100
13:3072.3100
13:4562.4100
14:0071.9100
14:1585100
14:3085.8100
14:4584.9100
15:0085.1100
15:1589.2100
15:3079100
15:4562.1100
16:001.952.4
16:155.144.4
Rows × columns
30 × 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 Share of each 15 minute bucket spent at a one cent quoted spread, derived from the stored result.
ColumnTypeRangeNotes
et_time date 09:00 to 16:15
aapl_floor_pct number 0.8 to 89.2 percent
f_floor_pct number 44.4 to 100 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.

the exact SQL behind every number
WITH per_second AS
(
    SELECT
        ticker,
        toDateTime(sip_timestamp, 'America/New_York') AS quote_second,
        max(toFloat64(bid_price))                     AS best_bid,
        min(toFloat64(ask_price))                     AS best_ask
    FROM global_markets.cache_stocks_quotes
    WHERE ticker IN ('AAPL', 'F')
      AND sip_timestamp >= '2026-08-05 13:00:00'
      AND sip_timestamp <  '2026-08-05 20:30:00'
      AND bid_price > 0
      AND ask_price > 0
    GROUP BY ticker, quote_second
)
SELECT
    formatDateTime(toStartOfInterval(quote_second, INTERVAL 15 MINUTE), '%H:%i') AS et_time,
    round(100 * countIf(ticker = 'AAPL' AND best_ask - best_bid < 0.011)
              / countIf(ticker = 'AAPL'), 1) AS aapl_floor_pct,
    round(100 * countIf(ticker = 'F' AND best_ask - best_bid < 0.011)
              / countIf(ticker = 'F'), 1)    AS f_floor_pct
FROM per_second
WHERE best_ask > best_bid
GROUP BY toStartOfInterval(quote_second, INTERVAL 15 MINUTE)
HAVING countIf(ticker = 'AAPL') > 0 AND countIf(ticker = 'F') > 0
ORDER BY toStartOfInterval(quote_second, INTERVAL 15 MINUTE) ASC

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 analysisHalf-Penny Tick Sizes Under Rule 612
Average quoted spread and time on the penny floor, pinned session ranking 8×3 What one cent is worth, as a share of the closing price ranking 8×3 Share of the session spent at each quoted spread, three names ranking 5×4 What one cent is worth, by share price band ranking 8×3 The penny tick and the quoted gap, in basis points table 7×5 Share of prints that landed on a sub-penny price ranking 7×3 See all 2,170 queries →