STRASMORE/EXPLORE 2,549 QUERIES

factor_identity

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-09-24, from bonus-shares-vs-stock-splits.

as of ranking 16×4read in context →
factor_identity — 16 rows by 4 columns, computed from US exchange, SIP and OPRA data.
split_labelprice_factorbonus_shares_per_heldevent_count
2-for-121804
3-for-132334
4-for-143229
5-for-154235
6-for-16535
7-for-17620
8-for-18717
9-for-1983
10-for-1109142
11-for-111104
12-for-112117
13-for-113124
15-for-1151414
16-for-116154
18-for-118172
20-for-1201932
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 factor_identity, derived from the stored result.
ColumnTypeRangeNotes
split_label text 16 distinct values (10-for-1, 11-for-1, 12-for-1…)
price_factor number 2 to 20 US dollars
bonus_shares_per_held number 1 to 19 count
event_count number 2 to 804 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
    concat(toString(n), '-for-1')   AS split_label,
    round(toFloat64(n), 2)          AS price_factor,
    round(toFloat64(n) - 1, 2)      AS bonus_shares_per_held,
    uniqExact(split_id)             AS event_count
FROM
(
    SELECT
        toUInt32(split_to) AS n,
        id                 AS split_id
    FROM global_markets.stocks_splits
    WHERE execution_date >= '2015-01-01'
      AND execution_date <  today()
      AND toUInt32(split_from) = 1
      AND toUInt32(split_to) BETWEEN 2 AND 20
)
GROUP BY n
ORDER BY n
⌘/Ctrl + Enter

Work with this data in your AI assistant

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