Strasmore Research
Deep Dives Matt ConnorBy Matt Connor

Do Stocks Fall When a Lockup Expires?

Do stocks fall when a lockup expires? What the event studies actually find, and why a date printed in the prospectus is usually priced in ahead of time.

Do stocks fall when a lockup expires? On average they give up a little ground, and much less than the folklore promises. A lockup expiration is the first date on which company insiders and pre-IPO investors may sell shares they already hold, and the published event studies find a small negative average abnormal return around that date alongside a large, lasting step up in trading volume. The date is printed in the IPO prospectus months in advance, and the market has all of that time to work with it.

What a lockup expiration actually changes

A lockup agreement is a contract between a newly public company's insiders and the banks that underwrite its offering. For a fixed stretch after the IPO, usually 180 days and sometimes 90, those holders agree not to sell. When the clock runs out, no new shares are issued and nothing about the business itself changes. What changes is the number of shares legally free to trade, the free float. A company that sold 10 percent of itself in the offering can arrive at expiration day with several times that number of shares newly eligible to reach the market.

Two features of that setup matter. The potential supply increase is large next to the float, and the date is knowable by anyone who opens the prospectus. Those two pull in opposite directions, which is where the naive story and the measured result part company. For the mechanics of the agreement itself, see our IPO lockup expiration explainer.

Do stocks fall when a lockup expires? What the research finds

This is one of the better studied events in equity markets, since the date is set by contract rather than by news. Field and Hanka (2001, Journal of Finance) examined more than a thousand lockup expirations and reported a statistically significant negative abnormal return concentrated in the days around the date, together with a permanent increase in average trading volume. Abnormal return means the portion of a stock's move left over after subtracting what the broad market did over the same days.

Bradley, Jordan, Roten and Yi (2001) documented the same shape, with the price weakness concentrated in venture-backed IPOs. Brav and Gompers (2003) treated the lockup as a commitment device and tied the size of the expiration effect to firm characteristics rather than to the unlock alone. Ofek and Richardson (2000) read the price behaviour as evidence of a downward sloping demand curve for shares, meaning buyers absorb extra supply at a lower price. Cao, Field and Hanka (2004) tested whether the insider supply damages liquidity around these dates and found trading conditions holding up rather than deteriorating.

Carry two things from that body of work. The average effect is real but small, of an order that one ordinary session can erase. And the spread of outcomes around that average is much wider than the average itself.

Volume is the more dependable part of the pattern

The panel below takes 6 US IPOs from 2023 and 2024 and compares average daily share volume in the 30 calendar days before the conventional 180 day mark against the 30 days after it. It uses the 180 day convention rather than each prospectus's contractual date, which is a deliberate simplification set out in the data notes at the end.

QueryAverage daily volume before and after the 180 day mark, 2023-2024 IPOs
The exact SQL behind every number
WITH multiIf(
        ticker = 'ARM',  toDate('2023-09-14'),
        ticker = 'CART', toDate('2023-09-19'),
        ticker = 'BIRK', toDate('2023-10-11'),
        ticker = 'ALAB', toDate('2024-03-20'),
        ticker = 'RDDT', toDate('2024-03-21'),
        ticker = 'RBRK', toDate('2024-04-25'),
        toDate('2024-01-01')) + 180 AS lockup_mark
SELECT
    ticker,
    round(avgIf(day_volume, session_date <  lockup_mark) / 1e6, 2) AS avg_volume_before_m,
    round(avgIf(day_volume, session_date >= lockup_mark) / 1e6, 2) AS avg_volume_after_m,
    round(100 * (avgIf(day_volume, session_date >= lockup_mark)
                 / avgIf(day_volume, session_date <  lockup_mark) - 1), 1) AS volume_change_pct
FROM
(
    SELECT
        ticker,
        toDate(toTimeZone(window_start, 'America/New_York')) AS session_date,
        toFloat64(sum(volume))                               AS day_volume
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN ('ARM', 'CART', 'BIRK', 'ALAB', 'RDDT', 'RBRK')
      AND window_start >= toDateTime('2024-01-15 00:00:00')
      AND window_start <  toDateTime('2024-12-15 00:00:00')
      AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
           + toMinute(toTimeZone(window_start, 'America/New_York'))) >= 570
      AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
           + toMinute(toTimeZone(window_start, 'America/New_York'))) < 960
    GROUP BY ticker, session_date
)
WHERE session_date >= lockup_mark - 30
  AND session_date <= lockup_mark + 30
GROUP BY ticker
HAVING countIf(session_date <  lockup_mark) > 0
   AND countIf(session_date >= lockup_mark) > 0
ORDER BY volume_change_pct DESC
Run this yourself

The widest gap in the group belongs to ALAB at 13.6%, moving from 3.18 million shares a session to 3.62 million. At the other end of the panel sits ARM at -67.6%. Turnover is where the unlock shows up most plainly: shares that could not change hands now can, and some of them do.

The price outcomes scatter

The same six names, the same windows, measured on closing price instead of volume.

QueryPrice change over the 30 days before and after the 180 day mark
The exact SQL behind every number
WITH multiIf(
        ticker = 'ARM',  toDate('2023-09-14'),
        ticker = 'CART', toDate('2023-09-19'),
        ticker = 'BIRK', toDate('2023-10-11'),
        ticker = 'ALAB', toDate('2024-03-20'),
        ticker = 'RDDT', toDate('2024-03-21'),
        ticker = 'RBRK', toDate('2024-04-25'),
        toDate('2024-01-01')) + 180 AS lockup_mark
SELECT
    ticker,
    round(100 * (argMaxIf(day_close, session_date, session_date <  lockup_mark)
               / argMinIf(day_close, session_date, session_date <  lockup_mark) - 1), 1) AS return_before_pct,
    round(100 * (argMaxIf(day_close, session_date, session_date >= lockup_mark)
               / argMaxIf(day_close, session_date, session_date <  lockup_mark) - 1), 1) AS return_after_pct
FROM
(
    SELECT
        ticker,
        toDate(toTimeZone(window_start, 'America/New_York'))   AS session_date,
        toFloat64(argMax(close, window_start))                 AS day_close
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN ('ARM', 'CART', 'BIRK', 'ALAB', 'RDDT', 'RBRK')
      AND window_start >= toDateTime('2024-01-15 00:00:00')
      AND window_start <  toDateTime('2024-12-15 00:00:00')
      AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
           + toMinute(toTimeZone(window_start, 'America/New_York'))) >= 570
      AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
           + toMinute(toTimeZone(window_start, 'America/New_York'))) < 960
    GROUP BY ticker, session_date
)
WHERE session_date >= lockup_mark - 30
  AND session_date <= lockup_mark + 30
GROUP BY ticker
HAVING countIf(session_date <  lockup_mark) > 0
   AND countIf(session_date >= lockup_mark) > 0
ORDER BY return_after_pct DESC
Run this yourself

The 30 days following the mark carried 51% for ALAB at one end of the panel and 1.9% for BIRK at the other. Six names is an illustration rather than a study, and that is the point of showing it: the dispersion across a handful of ordinary unlocks dwarfs the small average the literature measures across a thousand of them. Anyone quoting a single expected percentage for an unlock is quoting the middle of a very wide distribution.

What positioning ahead of the date looks like

The expiration date is public from the prospectus, so professional traders can position ahead of it. One visible trace of that is short sale volume, the portion of each day's reported share volume marked as a short sale. It is not short interest, which is the outstanding borrowed-share balance published twice a month. Short volume is a daily flow measure, and it is high for most liquid stocks in normal conditions.

QueryShort-marked share of reported volume, 30 days either side of the mark
The exact SQL behind every number
WITH multiIf(
        ticker = 'ARM',  toDate('2023-09-14'),
        ticker = 'CART', toDate('2023-09-19'),
        ticker = 'BIRK', toDate('2023-10-11'),
        ticker = 'ALAB', toDate('2024-03-20'),
        ticker = 'RDDT', toDate('2024-03-21'),
        ticker = 'RBRK', toDate('2024-04-25'),
        toDate('2024-01-01')) + 180 AS lockup_mark
SELECT
    ticker,
    round(100 * sumIf(short_vol, session_date <  lockup_mark)
              / sumIf(total_vol, session_date <  lockup_mark), 1) AS short_share_before_pct,
    round(100 * sumIf(short_vol, session_date >= lockup_mark)
              / sumIf(total_vol, session_date >= lockup_mark), 1) AS short_share_after_pct
FROM
(
    SELECT
        ticker,
        date                            AS session_date,
        toFloat64(max(short_volume))    AS short_vol,
        toFloat64(max(total_volume))    AS total_vol
    FROM global_markets.stocks_short_volume
    WHERE ticker IN ('ARM', 'CART', 'BIRK', 'ALAB', 'RDDT', 'RBRK')
      AND date >= toDate('2024-01-15')
      AND date <  toDate('2024-12-15')
    GROUP BY ticker, session_date
)
WHERE session_date >= lockup_mark - 30
  AND session_date <= lockup_mark + 30
GROUP BY ticker
HAVING sumIf(total_vol, session_date <  lockup_mark) > 0
   AND sumIf(total_vol, session_date >= lockup_mark) > 0
ORDER BY short_share_before_pct DESC
Run this yourself

ALAB holds the highest pre-mark reading in the group: 58.4% of reported volume marked short in the 30 days before, next to 48.7% in the 30 days after. Read the levels rather than the step. Short-marked prints already make up a large slice of daily turnover well before the unlock arrives, which is what anticipation looks like in the tape. The borrow market often tightens into these dates too, and a stock that is expensive to borrow is a stock other traders have already crowded into.

One name, session by session

Averages hide the shape of the thing. This is Reddit through the weeks surrounding its own 180 day mark in the autumn of 2024, closing price with daily volume underneath.

QueryRDDT daily close and volume around its 180 day mark, Aug to Oct 2024
The exact SQL behind every number
SELECT
    toString(toDate(toTimeZone(window_start, 'America/New_York'))) AS session_date,
    round(toFloat64(argMax(close, window_start)), 2)               AS close,
    round(toFloat64(sum(volume)) / 1e6, 2)                         AS volume_m
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'RDDT'
  AND window_start >= toDateTime('2024-08-12 00:00:00')
  AND window_start <  toDateTime('2024-10-25 00:00:00')
  AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
       + toMinute(toTimeZone(window_start, 'America/New_York'))) >= 570
  AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
       + toMinute(toTimeZone(window_start, 'America/New_York'))) < 960
GROUP BY session_date
ORDER BY session_date
Run this yourself

Across the 53 sessions in view, from 2024-08-12 to 2024-10-24, the close went from $52.51 to $78.62. There is no cliff in the middle of the chart. That is the ordinary case, and an ordinary case is still evidence.

When the move is large

The conditions researchers and desks associate with a bigger reaction have a common thread: the unlock is large relative to what the market can absorb, and holders have a stated path to the exit.

  • A small free float against a large unlocking block, so the shares released are a multiple of what trades in a normal week.
  • Ownership concentrated in a few venture or private equity funds near the end of their fund life.
  • A stock trading far from its IPO price in either direction, which changes what holders are sitting on.
  • Thin daily liquidity, where even a modest sale program is a meaningful share of the tape.

When nothing happens at all

Just as often the date passes without a mark on the chart, and the reasons are structural.

  • Insiders already sold in a follow-on or secondary offering, so the supply reached the market weeks earlier in one negotiated block.
  • The underwriters released the lockup early, in whole or in part, which they are permitted to do.
  • The agreement staggers in tranches, or contains early release conditions tied to an earnings report or a price threshold, so the 180 day date is only one of several release points.
  • The largest holders are strategic rather than financial, with no intention of selling on any date.

A checklist for one specific upcoming expiry

  1. Get the contractual date, not the 180 day guess. It is written into the underwriting section of the prospectus. Our guide on how to find a lockup expiration date walks through where to look.
  2. Size the unlock against the float: shares becoming eligible divided by shares currently trading freely.
  3. Check whether a secondary offering already moved part of that block.
  4. Read the release conditions for tranches, price thresholds, or earnings-linked early releases.
  5. Look at what is already positioned into the date, including short volume share and the cost to borrow.
  6. Note how concentrated the holder list is, and whether those holders have publicly stated an exit plan.

For context on how many such dates are in the pipeline this year, see our review of the 2026 IPO market so far.

FAQ

Do stocks always fall when a lockup expires?

No. The published event studies find a small negative average abnormal return around lockup expirations across large samples, with a wide spread of individual outcomes on either side of that average. Plenty of individual unlocks pass with no visible price effect at all.

How long is a typical IPO lockup period?

Most US IPO lockups run 180 days from the offering, with 90 day agreements and staggered multi-tranche structures also common. The binding length is whatever the prospectus states for that specific deal, not the convention.

What happens to trading volume when a lockup expires?

Volume is the most consistent part of the pattern. Field and Hanka (2001) found a permanent increase in average trading volume following expiration, and the panels above show turnover stepping up across most of the names in the sample window.

Can a lockup be lifted before the expiration date?

Yes. The underwriters can waive a lockup early, in full or in part, and many agreements contain their own early release conditions linked to an earnings report or a price threshold. This is one of the main reasons a date calculated as "IPO plus 180 days" can miss entirely.

Is high short volume before an expiration date unusual?

Not by itself. Short-marked prints are a large fraction of daily reported volume for most liquid stocks in normal conditions, so the level before an unlock is best compared against that stock's own baseline rather than against zero.

Data notes and method

The three cross-sectional panels use the 180 day convention measured from each company's IPO date, which is visible in the SQL. That is a simplification: the contractual expiration in the prospectus can differ, can arrive in tranches, and can be waived early. Treat the panels as an illustration of how the window behaves, not as a record of six contractual dates.

Sessions are built from regular-hours minute bars converted to New York time, so extended-hours prints are excluded. The short volume figures come from daily reported short sale volume, deduplicated per ticker and date. Short volume measures marked sell orders in a day's reported flow. It is not short interest, and a short-marked print can be closed out minutes later.

The academic findings referenced above are from Field and Hanka (2001), Bradley, Jordan, Roten and Yi (2001), Ofek and Richardson (2000), Brav and Gompers (2003), and Cao, Field and Hanka (2004). Magnitudes are described in direction only here, since the samples and windows in those papers differ from the window used in these panels.


Every panel on this page ships with the SQL that produced it, so the windows and the ticker list can be checked line by line. To run the same before-and-after comparison on an unlock you are watching, ask it in plain English on the Strasmore terminal.

#ipo#lockup expiration#insider selling#float#event study