Strasmore Research
Learn Matt ConnorBy Matt Connor

The Real Disadvantages of a Stock Split

The disadvantages of a stock split are all plumbing: a penny tick worth more basis points, odd lots, adjusted options, index divisor work. Measured here.

The disadvantages of a stock split are all plumbing. A split hands you more shares at a proportionally lower price and leaves your claim on the company's earnings and votes exactly where it was, which puts every real cost in the machinery around the shares rather than in the business itself. This page works through the costs that can be measured, and it is blunt about the ones that get listed elsewhere and are not real.

What a stock split actually changes

A forward split multiplies the share count and divides the share price by the same ratio. Ten shares at $400 become forty shares at $100 in a 4-for-1 split, and the position is worth the same at the moment it takes effect. The mechanics live in what a stock split is. The part that matters here is the identity: same company, same market capitalization, more shares, lower price.

That identity is why every genuine drawback is mechanical. Nothing in the business moved, which leaves only the systems keyed to the share price or the share count. There are five worth knowing.

The real disadvantages of a stock split

The one cent tick becomes a bigger share of the price

Most US stocks above $1 are quoted in one-cent increments. That penny is the tick: the smallest gap there can be between the best bid and the best offer. The tick is fixed in dollars while the price is not, so the identical penny costs a different fraction of your money at different price levels. Basis points make the comparison readable. One basis point is one hundredth of one percent.

QueryWhat a one cent tick costs at each price level
price_buckettickers_countmedian_close_usdtick_spread_bps
Under $512411.7557.143
$5 to $20156711.19.009
$20 to $50160332.123.113
$50 to $10092069.371.442
$100 to $250602142.50.702
$250 to $500203320.510.312
$500 and up66673.30.149
The exact SQL behind every number
WITH monthly AS (
    SELECT
        ticker,
        argMax(toFloat64(close), date) AS last_close,
        avg(volume)                    AS avg_volume,
        count()                        AS sessions
    FROM global_markets.stocks_daily_aggs
    WHERE date BETWEEN '2026-09-01' AND '2026-09-30'
      AND ticker NOT IN ('SPCX')
    GROUP BY ticker
    HAVING sessions >= 15
       AND avg_volume >= 100000
       AND last_close > 0
)
SELECT
    multiIf(last_close <   5, 'Under $5',
            last_close <  20, '$5 to $20',
            last_close <  50, '$20 to $50',
            last_close < 100, '$50 to $100',
            last_close < 250, '$100 to $250',
            last_close < 500, '$250 to $500',
                              '$500 and up')                                     AS price_bucket,
    count()                                                                      AS tickers_count,
    round(quantileDeterministic(0.5)(last_close, cityHash64(ticker)), 2)         AS median_close_usd,
    round(100.0 / quantileDeterministic(0.5)(last_close, cityHash64(ticker)), 3) AS tick_spread_bps
FROM monthly
GROUP BY price_bucket
ORDER BY min(last_close)
Run this yourself

In the cheapest bucket the median name closed at $1.75, where a one-cent tick is 57.143 basis points of the share price. In the most expensive bucket the median name closed at $673.3, where the same penny is 0.149 basis points. The curve is the whole lesson. A split moves a stock to the left along it, and the minimum spread the stock can quote, as a fraction of the price a holder pays, rises by the split ratio. Whether the posted spread actually widens to meet that floor depends on how heavily the name trades, which is the territory of the bid ask spread. Some active names also quote in sub-penny increments, covered in half penny tick sizes.

The same arithmetic, one real split at a time.

QueryA one cent tick before and after real forward splits
tickereffective_onsplit_labeltick_before_bpstick_after_bps
CMGJun 26, 202450-for-10.031.518
RGCJun 16, 202538-for-10.0441.667
BKNGApr 6, 202625-for-10.0230.568
MULLJun 26, 202625-for-10.1132.836
KORUJul 15, 202620-for-10.2294.572
MUUJul 15, 202620-for-10.163.198
ORLYJun 10, 202515-for-10.0731.09
PTIRJul 9, 202515-for-10.3134.701
AVGOJul 15, 202410-for-10.0580.583
BULZFeb 24, 202610-for-10.4964.955
COKEMay 27, 202510-for-10.0890.886
KLACJun 12, 202610-for-10.0390.393
The exact SQL behind every number
WITH forward_splits AS (
    SELECT
        ticker,
        execution_date,
        toUInt32(any(split_to))   AS to_shares,
        toUInt32(any(split_from)) AS from_shares
    FROM global_markets.stocks_splits
    WHERE execution_date BETWEEN '2024-01-01' AND '2026-09-30'
      AND split_to > split_from
      AND ticker NOT IN ('SPCX')
    GROUP BY ticker, execution_date
),
qualifying_sessions AS (
    SELECT
        ticker,
        date,
        toFloat64(close) AS close_px
    FROM global_markets.stocks_daily_aggs
    WHERE date BETWEEN '2024-01-01' AND '2026-10-06'
      AND volume >= 500000
      AND ticker IN (SELECT ticker FROM forward_splits)
),
first_close AS (
    SELECT
        s.ticker                      AS ticker,
        s.execution_date              AS effective_date,
        s.to_shares                   AS to_shares,
        s.from_shares                 AS from_shares,
        argMin(f.close_px, f.date)    AS close_after
    FROM forward_splits AS s
    INNER JOIN qualifying_sessions AS f ON f.ticker = s.ticker
    WHERE f.date >= s.execution_date
      AND f.date <= s.execution_date + 6
    GROUP BY s.ticker, s.execution_date, s.to_shares, s.from_shares
)
SELECT
    ticker,
    formatDateTime(effective_date, '%b %e, %Y')                       AS effective_on,
    concat(toString(to_shares), '-for-', toString(from_shares))       AS split_label,
    round(100.0 / (close_after * to_shares / from_shares), 3)         AS tick_before_bps,
    round(100.0 / close_after, 3)                                     AS tick_after_bps
FROM first_close
WHERE close_after >= 10
  AND to_shares / from_shares >= 2
ORDER BY to_shares / from_shares DESC, ticker
LIMIT 12
Run this yourself

The largest forward split in that window is the 50-for-1 in CMG, effective Jun 26, 2024. Before it, a penny was 0.03 basis points of the share price. After it, 1.518. The panel carries 12 splits measured the same way, and in every pair the right-hand bar stands taller than the left. That is division, not forecast.

Odd lots and fractional shares left in the account

Whole-number ratios keep holdings tidy. A 10-for-1 split turns 100 shares into 1,000, and 10 shares into 100. Ratios that are not whole numbers leave residue. A 3-for-2 split turns 5 shares into 7.5, and the broker either credits a fractional position or pays cash in lieu of the fraction, which is a small sale the holder never ordered and generally a reportable one. Stock splits versus fractional shares covers that side in detail.

Odd lots, positions under 100 shares, carry a quoting consequence of their own. Odd-lot trades print to the consolidated tape, but odd-lot quotes do not set the national best bid and offer, so a 50-share order sits outside the quote most screens display. The residue problem is at its worst in a reverse split, the opposite operation, where 1-for-10 turns 150 shares into 15 and 5 shares into half a share.

Option contracts get adjusted, and some stop being standard

Every option contract written before the split references the old strike grid and the old 100-share deliverable, and all of them get adjusted at the split. Whole-number ratios adjust cleanly: the strike divides by the ratio, the contract count multiplies by it, and the deliverable stays at 100 shares. Fractional ratios behave differently. A 3-for-2 split leaves the strike divided by 1.5 and the deliverable at 150 shares, a non-standard contract that trades under its own symbol with its own thinner market. How stock splits affect options walks through the adjustment arithmetic.

The visible fingerprint is the strike grid itself. NVIDIA's split took effect in June 2024, and the strikes carrying volume on its options moved with it.

QueryNVIDIA traded option strikes across its 2024 split
monthperiod_labelstrikes_tradedmedian_strike_usd
2024-03-01Mar 2024318815
2024-04-01Apr 2024332825
2024-05-01May 2024394855
2024-06-01Jun 2024709130
2024-07-01Jul 2024354117
2024-08-01Aug 2024338113
2024-09-01Sep 2024324116
The exact SQL behind every number
SELECT
    toString(toStartOfMonth(date))                                 AS month,
    formatDateTime(toStartOfMonth(date), '%b %Y')                  AS period_label,
    countDistinct(strike_price)                                    AS strikes_traded,
    round(quantileDeterministic(0.5)(toFloat64(strike_price), cityHash64(ticker)), 2) AS median_strike_usd
FROM global_markets.options_greeks
WHERE underlying_symbol = 'NVDA'
  AND date BETWEEN '2024-03-01' AND '2024-09-30'
  AND volume > 0
GROUP BY month, period_label
ORDER BY month
Run this yourself

In Mar 2024 the median traded strike was $815, across 318 distinct strikes with recorded volume. By Sep 2024 the median traded strike was $116, across 324. Holders of pre-split contracts kept the same economic exposure and received a new contract symbol, and anyone quoting the old series had to re-point every model at the new grid.

A price weighted index has to redo its divisor

In a price-weighted index each member's weight is its share price divided by the sum of all member prices. A split cuts one member's price without changing anything about the company, and the index divisor is recomputed on the same date, which keeps the published level continuous across the event. The member's weight falls by the split ratio, and funds tracking the index trade to match the new weights. Stock splits and the Dow divisor shows the calculation step by step.

Market-capitalization-weighted indexes, which covers most of the benchmarks retail funds track, need no adjustment at all. The price divides, the share count multiplies, and the product is unchanged.

The company pays for the mechanics

The issuer carries the administrative cost. The transfer agent processes the distribution to every holder of record, the exchange and the clearing houses are notified, book-entry positions are restated, and when the split needs more authorized shares the charter has to be amended, which usually means a proxy and a shareholder vote. Do stock splits need shareholder approval covers when that vote applies. The bill is modest next to a large issuer's other expenses, and it is the one item on this list a holder never sees.

What is not a disadvantage of a stock split

  • It does not dilute you. Dilution is a fall in your ownership percentage, which happens when a company issues shares to someone else. A split issues shares to every holder in the same proportion, leaving percentages untouched.
  • It is not a taxable event by itself. Split shares are not a sale, and the cost basis per share divides along with the price. Cash in lieu of a fractional share is the exception.
  • It does not make the stock cheap. Price per share and valuation are separate ideas. Every per-share metric rescales with the share count, and the ratios built from them stay where they were.
  • It does not change what the company earned.

That last one is worth showing rather than asserting.

QueryShare count, per share earnings and revenue across a split
quarter_end_dateperiod_labeldiluted_shares_bnrevenue_bn_usddiluted_eps_usd
2023-10-29Oct 202324.9418.120.37
2024-01-28Jan 202424.9422.10.49
2024-04-28Apr 202424.8926.040.6
2024-07-28Jul 202424.8530.040.67
2024-10-27Oct 202424.7735.080.78
2025-01-26Jan 202524.839.330.9
2025-04-27Apr 202524.6144.060.76
The exact SQL behind every number
SELECT
    toString(period_end)                                AS quarter_end_date,
    formatDateTime(period_end, '%b %Y')                 AS period_label,
    round(argMax(toFloat64(diluted_shares_outstanding), (filing_date, period_end)) / 1e9, 2) AS diluted_shares_bn,
    round(argMax(toFloat64(revenue), (filing_date, period_end)) / 1e9, 2)                    AS revenue_bn_usd,
    round(argMax(toFloat64(diluted_earnings_per_share), (filing_date, period_end)), 2)       AS diluted_eps_usd
FROM global_markets.stocks_income_statements
WHERE has(tickers, 'NVDA')
  AND timeframe = 'quarterly'
  AND period_end BETWEEN '2023-10-01' AND '2025-06-30'
GROUP BY period_end, period_label
ORDER BY period_end
Run this yourself

The diluted share count printed 24.94 billion for the quarter ended Oct 2023, which closed months before the split, and 24.61 billion for the quarter ended Apr 2025. Both figures sit in the same range, and that sameness is the restatement at work: filers express share counts and per-share history on a post-split basis across the whole comparative series, and the earlier quarter already carries the multiplication the split applied. Diluted earnings per share printed $0.37 and $0.76 on that same restated basis. Revenue, a total rather than a per-share figure, needs no restatement at all and printed $18.12 billion and $44.06 billion. Nowhere in the series is there a step at the split date. Per-share lines rescale, and the filed history is rescaled along with them. Totals never move.

How these panels are built

The price-level panel groups every ticker that traded at least 15 sessions in September 2026 with average volume above 100,000 shares, then prices a one-cent tick against the median close of each bucket. The split panel reconstructs the pre-split price level as the first qualifying post-split close multiplied by the split ratio, which is the split's own arithmetic run backwards, and it keeps forward splits of 2-for-1 or larger whose first post-split session traded at least 500,000 shares. The options panel counts distinct strikes with recorded volume per month, so it shows the traded grid rather than the full listed grid. The fundamentals panel reads quarterly income statements keyed on period end, with the latest filing for each period selected on the period end tie-break, which means share counts and per-share figures appear as last restated rather than as first reported.

FAQ

What are the main disadvantages of a stock split?

All of them are mechanical. The one-cent tick becomes a larger fraction of the share price, ratios that are not whole numbers leave fractional and odd-lot residue in accounts, outstanding option contracts have to be adjusted and some become non-standard, price-weighted indexes recompute a divisor, and the company pays the administrative bill. None of them touch the claim a share has on the business.

Does a stock split hurt shareholders?

A split leaves the value of a holding unchanged at the moment it takes effect. The costs that follow are frictions in how the shares are quoted and referenced by other contracts, and for a heavily traded stock they are small against the size of the position.

Do I pay taxes on a stock split?

Receiving additional shares in a split is not a sale in the US, and the cost basis per share divides by the ratio. Cash received in lieu of a fractional share is a sale of that fraction and is reportable. Treatment varies by jurisdiction and account type, and this page is general information rather than tax advice.

What happens to my options when a stock splits?

Outstanding contracts are adjusted to preserve the same economic exposure. For whole-number ratios the strike divides and the contract count multiplies, with the 100-share deliverable intact. For fractional ratios the strike divides by the ratio and the deliverable changes, producing a non-standard contract with a thinner market.

Does a stock split widen the bid ask spread?

It raises the floor. One cent is a larger share of a lower price, so the narrowest spread the stock can post, measured against the price, widens by the split ratio. Whether the quoted spread sits at that floor is a function of how much the name trades.


Every panel here carries the exact SQL underneath it. Change the ticker, change the window, and run it yourself on the Strasmore terminal.

#stock splits#spreads#odd lots#index mechanics#trading costs