Strasmore Research
Learn Matt ConnorBy Matt Connor · data as of August 17, 2026 · refreshed weekly

Cost Basis After a Stock Split, Step by Step

Cost basis after a stock split: the total never changes, per share basis divides by the ratio, and only the cash paid for a fraction counts as a sale.

Your cost basis after a stock split is the same total dollar amount it was the day before. A split changes how many shares that money is spread across, so the per share figure divides by the split ratio while the total sits still. The holding period carries over unbroken, and the one step in the sequence that gets reported as a sale is the cash a broker sends for a leftover fraction of a share.

What happens to cost basis after a stock split

Cost basis is what you paid for a holding: the purchase price plus commissions and fees. A tax lot is a single purchase, kept as its own record with its own acquisition date and its own basis. Buy the same stock four times and you own four lots, not one merged position. That distinction carries the whole topic, and it sits underneath how FIFO and specific identification choose which lot you sell.

A forward split multiplies the share count. A 4-for-1 split turns 1 share into 4. Four things happen to each lot:

  • Total basis: unchanged. Not a cent moves in or out.
  • Per share basis: divided by the ratio. A 4-for-1 divides it by four.
  • Share count: multiplied by the ratio.
  • Holding period: unchanged. The new shares inherit the original acquisition date.

The corporate action itself is covered in what a stock split actually does. The clearest way to watch those two numbers move in opposite directions is to run one lot through a real split history. The panel below takes every AAPL split on record and carries a hypothetical lot of 100 shares with a $5,000 total basis through all of them, beginning before the first.

QueryOne hypothetical 100-share lot through every AAPL split
The exact SQL behind every number
WITH events AS
(
    SELECT
        execution_date                                                      AS split_day,
        any(toFloat64(split_to)) / any(toFloat64(split_from))               AS ratio,
        concat(toString(any(split_to)), '-for-', toString(any(split_from))) AS split_label
    FROM global_markets.stocks_splits
    WHERE ticker = 'AAPL'
      AND execution_date <= today()
      AND split_from > 0
      AND split_to > 0
    GROUP BY execution_date
)
SELECT
    toString(split_day)                   AS split_date,
    formatDateTime(split_day, '%b %Y')    AS split_month,
    split_label,
    toUInt32(round(100 * cumulative))     AS share_count,
    round(5000.0 / (100 * cumulative), 4) AS per_share_basis
FROM
(
    SELECT
        split_day,
        split_label,
        exp(sum(log(ratio)) OVER (ORDER BY split_day ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)) AS cumulative
    FROM events
)
ORDER BY split_day
Run this yourself

The share count climbs to 5600 by Aug 2020. The per share basis travels the other way, from $25 after the 2-for-1 split in Feb 2005 down to $0.8929 after the last of the 3 splits listed. Multiply the final two columns on any row and $5,000 comes back every time. That is the invariant worth memorizing.

Two lots through a 4-for-1 split

Splits apply lot by lot, never to a blended average across the position. Take a hypothetical holder with two lots of the same stock:

  • Lot A: 63 shares bought at $30.00, a total basis of $1,890.00.
  • Lot B: 42 shares bought at $40.00, a total basis of $1,680.00.

A 4-for-1 forward split takes effect. Multiply each share count by four, divide each per share basis by four:

  • Lot A: 252 shares at $7.50, still $1,890.00.
  • Lot B: 168 shares at $10.00, still $1,680.00.

The position now holds 420 shares with a combined basis of $3,570.00, exactly the figure it held before. Lot A is still the cheaper lot, and both lots still carry their original acquisition dates. No sale has occurred at any point in that adjustment. Chart history gets the same treatment, which is what split adjusted price history is showing you.

Reverse splits and cash in lieu of fractional shares

A reverse split runs the arithmetic backwards. A 1-for-10 reverse split turns 10 shares into 1, so the share count divides by ten and the per share basis multiplies by ten. The total again does not move. The mechanics are laid out in what a reverse stock split is.

Share counts rarely divide evenly, which is where the one reportable step appears. Continue the two lots through a 1-for-10 reverse split:

  • Lot A: 252 shares becomes 25.2 shares, at a per share basis of $75.00.
  • Lot B: 168 shares becomes 16.8 shares, at a per share basis of $100.00.

Most brokers and transfer agents do not carry a partial share through a reverse split. They pay the fraction out in cash, which the paperwork calls cash in lieu of fractional shares. Say the reference price used for the payout is $80.00 a share. Lot A's 0.2 fraction pays $16.00, and lot B's 0.8 fraction pays $64.00.

That payment is a disposition of the fractional share, and it is the only step in the whole sequence reported as a sale. The basis attached to the piece sold follows the per share figure of the lot the fraction came from:

  • Lot A: 0.2 shares at $75.00 carries $15.00 of basis. Proceeds of $16.00 leave a $1.00 gain.
  • Lot B: 0.8 shares at $100.00 carries $80.00 of basis. Proceeds of $64.00 leave a $16.00 loss.

What remains is 25 shares in lot A at $75.00, a basis of $1,875.00, and 16 shares in lot B at $100.00, a basis of $1,600.00. Total remaining basis is $3,475.00. Start from $3,570.00, take away the $95.00 of basis that left with the two fractions, and the books close to the cent. The holding period on each fraction is the original lot's holding period, not a new one opened by the split. Where those fractions come from is covered in stock splits and fractional shares.

Reverse splits are not an edge case worth skipping. The panel below counts both directions across the record for the past ten calendar years.

QueryForward and reverse splits per calendar year
The exact SQL behind every number
SELECT
    toString(toYear(execution_date))     AS year,
    toUInt32(countIf(to_val > from_val)) AS forward_splits,
    toUInt32(countIf(from_val > to_val)) AS reverse_splits
FROM
(
    SELECT
        ticker,
        execution_date,
        any(split_from) AS from_val,
        any(split_to)   AS to_val
    FROM global_markets.stocks_splits
    WHERE execution_date >= subtractYears(today(), 10)
      AND execution_date <= today()
      AND split_from > 0
      AND split_to > 0
    GROUP BY ticker, execution_date
)
GROUP BY year
ORDER BY year
Run this yourself

In 2025 the record holds 1036 reverse splits and 424 forward splits. The rightmost point stops at the most recent split on file, so a year still in progress reads low.

Terms cluster tightly as well. The next panel ranks the most frequent split terms of the past five years.

QueryThe most common split terms of the past five years
The exact SQL behind every number
SELECT
    concat(toString(to_val), '-for-', toString(from_val)) AS split_label,
    if(to_val > from_val, 'forward', 'reverse')           AS direction,
    toUInt32(count())                                     AS split_count
FROM
(
    SELECT
        ticker,
        execution_date,
        any(split_from) AS from_val,
        any(split_to)   AS to_val
    FROM global_markets.stocks_splits
    WHERE execution_date >= subtractYears(today(), 5)
      AND execution_date <= today()
      AND split_from > 0
      AND split_to > 0
    GROUP BY ticker, execution_date
)
GROUP BY split_label, direction
ORDER BY split_count DESC
LIMIT 12
Run this yourself

The most common single set of terms is 1-for-10, a reverse split, recorded 947 times across the 12 ranked sets shown. Round ratios dominate the list, and a round ratio is what strands a remainder: a 1-for-10 leaves a fraction on any lot whose share count is not a multiple of ten.

Why the 1099-B and the old trade confirmation disagree

A trade confirmation is a snapshot of one moment: the shares bought, the price paid, the date it happened. It is never restated. A split does not travel back and rewrite a document that was accurate when it printed.

Broker basis records work differently. They are maintained forward, and a corporate action updates them in place. So a confirmation showing 100 shares at $30.00 can sit alongside a 1099-B showing 400 shares at $7.50 after a 4-for-1 split, and both are correct. The total, $3,000.00, is identical on each.

Two things follow. A hand-kept spreadsheet drifts from the broker's numbers unless each split is applied to each lot. And basis transferred between brokers can arrive unadjusted, with the receiving broker reporting what it was handed. Old confirmations are the audit trail for rebuilding what a split did.

Every lot adjusts on its own, including DRIP lots

A blended average is the wrong mental model for a position built over time. Each lot keeps its own basis and its own acquisition date, and each adjusts separately when a split lands.

Dividend reinvestment makes that concrete. A reinvestment plan buys shares on every payment date, and each purchase opens a new lot at that day's price. The panel below lists every KO dividend of the past four years.

QueryEvery KO dividend of the past four years, one new lot each if reinvested
The exact SQL behind every number
SELECT
    toString(ex_dividend_date)                AS ex_date,
    formatDateTime(ex_dividend_date, '%b %Y') AS ex_month,
    round(toFloat64(any(cash_amount)), 4)     AS dividend_per_share
FROM global_markets.stocks_dividends
WHERE ticker = 'KO'
  AND ex_dividend_date >= subtractYears(today(), 4)
  AND ex_dividend_date <= today()
GROUP BY ex_dividend_date
ORDER BY ex_dividend_date
Run this yourself

That is 16 payment dates between Sep 2022 and Jun 2026, running from $0.44 a share to $0.53. A holder reinvesting across that stretch owns that many lots on top of the original purchase. A 4-for-1 split reaches all of them at once, and each divides its own per share basis by four while keeping its own acquisition date. Blend them into one average and the per lot detail is gone, which matters the moment part of a position is sold rather than all of it.

Full data notes

The split ladder seeds a hypothetical 100 share lot with a $5,000 total basis before the earliest AAPL split on file, then applies each split in date order. The $5,000 is an illustration, not a market price. Share counts are the cumulative product of the split ratios, and the per share basis column is $5,000 divided by the running count, so the two multiply back to $5,000 on every row. Split counts are deduplicated to one record per ticker per effective date, and the $80.00 reference price in the cash in lieu example is chosen to keep the arithmetic legible.

FAQ

Does a stock split change my cost basis?

Not the total. A split changes the number of shares the same total is spread across, so the per share basis divides by the split ratio while the dollar total stays where it was. A 4-for-1 split on a $1,890 lot leaves a $1,890 lot.

How do I calculate cost basis after a 4-for-1 split?

Handle each lot separately. Multiply its share count by four and divide its per share basis by four. A lot of 63 shares at $30.00 becomes 252 shares at $7.50, and the $1,890.00 total is untouched. Repeat for every lot held, reinvested dividend lots included.

Is a reverse stock split a taxable event?

Exchanging old shares for new ones is not reported as a sale. What does get reported is the cash paid for a leftover fraction, treated as a disposition of that fraction, with basis equal to the fraction multiplied by the lot's adjusted per share basis.

Why does my 1099-B show a different cost basis than my trade confirmation?

The confirmation records the trade as it happened and is never restated. Broker basis records are maintained forward, so after a split they show the same total spread across the new share count. Both documents are right, and the dollar totals agree.

Does a stock split reset my holding period?

No. Shares created by a split inherit the acquisition date of the shares they came from. A lot held two years before a 4-for-1 split is a lot held two years after it, across four times as many shares.


Every panel here ships with the SQL that produced it, so the count behind each number stays visible. To pull any ticker's split history and run the same ladder against your own lot sizes, ask for it in plain English on the Strasmore terminal.