Strasmore Research
Leren Matt ConnorDoor Matt Connor

Lockup-expiratiedatum vinden in een IPO-prospectus

Vind de lockup-expiratiedatum in EDGAR, controleer de relevante prospectussecties en voorkom de fout om 180 dagen vanaf de eerste handelsdag te tellen.

Een lockup-expiratiedatum staat in het IPO-prospectus. De snelste manier om deze te vinden is het definitieve prospectus van de emittent in EDGAR te openen en twee onderdelen te lezen: de sectie met de titel "Shares Eligible for Future Sale" en de bespreking van de "Lock-Up Agreements" binnen "Underwriting". Samen vermelden zij het aantal aandelen dat verhandelbaar wordt en de dag waarop de beperking vervalt. De onderstaande telregel is de reden dat de meeste gepubliceerde data verkeerd zijn. De vrijgavevoorwaarden daarna verklaren waarom een gedrukte datum soms niet de feitelijke datum is.

Als u eerst het concept wilt begrijpen, behandelt wat een IPO-lockup is wat de overeenkomst regelt en wie deze ondertekent. Deze pagina is bedoeld om de datum op te zoeken.

Waar de expiratiedatum van de lockup staat

Elke Amerikaanse IPO laat hetzelfde papieren spoor na. Open EDGAR full text search, zoek de onderneming en open de lijst met filings.

  • De S-1 is de registratieverklaring. Deze bevat vanaf het eerste openbare concept bepalingen over de lockup. Wijzigingen verschijnen als S-1/A en de voorwaarden kunnen daartussen veranderen.
  • De 424B4 is het definitieve prospectus, dat binnen twee handelsdagen na pricing wordt ingediend. Het sluit aan op de deal die daadwerkelijk heeft plaatsgevonden. Lees dit document.

Zoek in het document op beide schrijfwijzen, "lock-up" en "lockup", omdat filings niet consequent met het koppelteken omgaan. Drie secties bevatten het antwoord.

  • Shares Eligible for Future Sale is het aanbodschema: hoeveel aandelen beperkt zijn en op welke datum elk blok voor verkoop in aanmerking komt. De relevante zin luidt ongeveer: "beginning 181 days after the date of this prospectus".
  • Underwriting, soms met de titel "No Sales of Similar Securities", is het contract: wie heeft ondertekend, wat mogen zij niet doen, welke uitzonderingen gelden en welke underwriters aandelen vervroegd kunnen vrijgeven.
  • Risk Factors herhaalt het schema bijna altijd in eenvoudiger Engels, binnen de risicofactor over substantiële toekomstige verkopen.

De filings die een onderneming indient behandelt de rest van het formulieralfabet.

Tel vanaf de pricingdatum, niet vanaf de eerste handelsdag

De klok begint bij "the date of this prospectus". Dat is de pricingdatum, de avond waarop de underwriters de prijs vaststellen. Het aandeel opent in de volgende sessie. Wie 180 dagen telt vanaf de eerste bar op een chart, komt een dag te laat uit.

De telling gebeurt ook in kalenderdagen, niet in sessies. De datum kan op een zaterdag vallen. Negen bekende listings, met dag 180 gerekend vanaf de pricingdatum van elke deal:

QueryDag 180 gerekend vanaf de pricing date: negen Amerikaanse listings
De exacte SQL achter elk getal
WITH ipos AS (
    SELECT tupleElement(pair, 1) AS ticker,
           toDate(tupleElement(pair, 2)) AS pricing_date
    FROM (
        SELECT arrayJoin([('LYFT', '2019-03-28'), ('UBER', '2019-05-09'),
                          ('DASH', '2020-12-08'), ('ABNB', '2020-12-09'),
                          ('HOOD', '2021-07-28'), ('RIVN', '2021-11-09'),
                          ('CAVA', '2023-06-14'), ('BIRK', '2023-10-10'),
                          ('RDDT', '2024-03-20')]) AS pair
    )
),
sessions AS (
    SELECT DISTINCT toDate(toTimeZone(window_start, 'America/New_York')) AS session_date
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'SPY'
      AND window_start >= toDateTime('2019-03-01 00:00:00')
      AND window_start < toDateTime('2026-08-01 00:00:00')
)
SELECT i.ticker AS ticker,
       formatDateTimeInJodaSyntax(i.pricing_date, 'MMM d, yyyy') AS pricing_date_label,
       formatDateTimeInJodaSyntax(addDays(i.pricing_date, 180), 'MMM d, yyyy') AS day_180_label,
       formatDateTime(addDays(i.pricing_date, 180), '%W') AS day_180_weekday,
       countIf(s.session_date > i.pricing_date
               AND s.session_date <= addDays(i.pricing_date, 180)) AS market_opens,
       formatDateTimeInJodaSyntax(
           minIf(s.session_date, s.session_date >= addDays(i.pricing_date, 180)),
           'MMM d, yyyy') AS next_open_session_label
FROM ipos AS i
CROSS JOIN sessions AS s
GROUP BY i.ticker, i.pricing_date
ORDER BY (minIf(s.session_date, s.session_date >= addDays(i.pricing_date, 180))
          > addDays(i.pricing_date, 180)) DESC,
         i.pricing_date ASC
Run this yourself

Honderdtachtig kalenderdagen kwamen uit op 122 market opens voor DASH en 123 voor RDDT. Wie in plaats daarvan 180 trading days telt, komt ongeveer twee maanden na de werkelijke datum uit. Dat is de andere veelvoorkomende fout.

Het panel is gesorteerd zodat een telling die op een gesloten markt eindigt bovenaan staat. DASH werd geprijsd op Dec 8, 2020, dag 180 viel op een Sunday en de eerste sessie op of na die datum was Jun 7, 2021. Aandelen worden verhandelbaar op de contractdatum. Ze kunnen pas bij de volgende opening van eigenaar wisselen.

180 dagen is een conventie, geen regel

De termijn van 180 dagen is de marktstandaard. Het is een gewoonte, geen vereiste. In filings komt u onder meer deze varianten tegen:

  • 90 dagen, vaker bij kleinere deals.
  • 365 dagen, soms van toepassing op oprichters of controlerende aandeelhouders binnen dezelfde deal waarin alle anderen 180 dagen krijgen.
  • Gefaseerde vrijgave, waarbij een deel op de ene datum en het resterende deel op een andere datum vrijkomt. Het prospectus vermeldt elke tranche met een aantal aandelen en een datum.
  • Gesplitste voorwaarden per groep. Officers en directors, pre-IPO-fondsen en werknemers kunnen binnen één deal elk verschillende overeenkomsten ondertekenen. In dat geval bestaat er helemaal geen enkele lockup-expiratiedatum.

Het aantal aandelen is net zo belangrijk als de datum. Vergelijk het beperkte blok met de float van het aandeel om te zien hoeveel verhandelbaar aanbod het schema op papier toevoegt.

Wat de datum na publicatie kan verschuiven

  • Een waiver. De aangewezen underwriters kunnen houders schriftelijk vervroegd vrijgeven. Dat gebeurt vaak samen met een aangekondigde secondary offering. In de oorspronkelijke filing verandert niets.
  • Voorwaarden voor vervroegde vrijgave. Veel recente overeenkomsten maken een tranche vrij zodra het aandeel gedurende een vastgesteld aantal dagen binnen een bepaald tijdvenster op of boven een vastgelegde premie ten opzichte van de IPO-prijs handelt. Dit gebeurt soms pas na de eerste of tweede kwartaalpublicatie.
  • Openstelling rond earnings. Overeenkomsten stellen het vrijgavevenster vaak open na een bepaald aantal trading days na een earnings report. Daardoor wordt de effectieve datum bepaald door de earningskalender en niet door de verjaardag van de pricingdatum.
  • Een nieuwe registratie. Een resale registration statement of een takedown off a shelf kan een blok volgens een eigen schema op de markt brengen.

Elk van deze gebeurtenissen staat in een filing of een aankondiging van de onderneming. Een datum op een kalendersite die door geen enkele filing wordt ondersteund, is een schatting.

Wat de tape rond dag 180 doet

Volume is het waarneembare onderdeel. Hieronder staat één listing die gedurende het eerste jaar per week is gevolgd: Reddit, dat op 20 maart 2024 werd geprijsd:

QueryGemiddeld dagelijks volume per week: Reddit's eerste handelsjaar, maart 2024 tot maart 2025
De exacte SQL achter elk getal
WITH daily AS (
    SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS session_date,
           toFloat64(sum(volume)) AS shares
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'RDDT'
      AND window_start >= toDateTime('2024-03-21 00:00:00')
      AND window_start < toDateTime('2025-03-21 00:00:00')
    GROUP BY session_date
)
SELECT toMonday(session_date) AS week,
       round(avg(shares) / 1e6, 2) AS avg_daily_volume_m
FROM daily
GROUP BY week
ORDER BY week
Run this yourself

De chart bestrijkt 53 weken. Het gemiddelde in de eerste periode bedroeg 32.21 miljoen aandelen per sessie. In de laatste periode was dat 12.16 miljoen. Door dezelfde sessies te groeperen op hun afstand tot de pricingdatum, worden de vensters zichtbaar die voor een lezer van een lockup relevant zijn:

QueryVolume van Reddit-aandelen per periode, gerekend in dagen vanaf de pricing date van 20 maart 2024
De exacte SQL achter elk getal
WITH daily AS (
    SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS session_date,
           toFloat64(sum(volume)) AS shares
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'RDDT'
      AND window_start >= toDateTime('2024-03-21 00:00:00')
      AND window_start < toDateTime('2025-03-21 00:00:00')
    GROUP BY session_date
)
SELECT multiIf(dateDiff('day', toDate('2024-03-20'), session_date) <= 30, 'Days 1-30',
               dateDiff('day', toDate('2024-03-20'), session_date) <= 90, 'Days 31-90',
               dateDiff('day', toDate('2024-03-20'), session_date) <= 170, 'Days 91-170',
               dateDiff('day', toDate('2024-03-20'), session_date) <= 200, 'Days 171-200',
               'Days 201-365') AS window_label,
       round(avg(shares) / 1e6, 2) AS avg_daily_volume_m,
       round(max(shares) / 1e6, 2) AS busiest_session_m
FROM daily
GROUP BY window_label
ORDER BY min(dateDiff('day', toDate('2024-03-20'), session_date))
Run this yourself

In dagen 1 tot en met 30 bedroeg het gemiddelde 10.17 miljoen aandelen per sessie. In dagen 91 tot en met 170, de periode voorafgaand aan dag 180, was het gemiddelde 3.39 miljoen. In dagen 171 tot en met 200, de vier weken rond dag 180, bedroeg het gemiddelde 3.92 miljoen. De drukste sessie kwam uit op 7.2 miljoen aandelen.

Beschouw dit als het verloop van één onderneming, niet als een regel. Neem nu de conventie van 180 dagen als uitgangspunt en pas deze toe op alle negen listings:

QueryVolume in de vier weken rond dag 180 versus de weken ervoor: negen Amerikaanse listings
De exacte SQL achter elk getal
WITH ipos AS (
    SELECT tupleElement(pair, 1) AS ticker,
           toDate(tupleElement(pair, 2)) AS pricing_date
    FROM (
        SELECT arrayJoin([('LYFT', '2019-03-28'), ('UBER', '2019-05-09'),
                          ('DASH', '2020-12-08'), ('ABNB', '2020-12-09'),
                          ('HOOD', '2021-07-28'), ('RIVN', '2021-11-09'),
                          ('CAVA', '2023-06-14'), ('BIRK', '2023-10-10'),
                          ('RDDT', '2024-03-20')]) AS pair
    )
),
daily AS (
    SELECT ticker,
           toDate(toTimeZone(window_start, 'America/New_York')) AS session_date,
           toFloat64(sum(volume)) AS shares
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN ('LYFT', 'UBER', 'DASH', 'ABNB', 'HOOD', 'RIVN', 'CAVA', 'BIRK', 'RDDT')
      AND window_start >= toDateTime('2019-07-01 00:00:00')
      AND window_start < toDateTime('2024-11-01 00:00:00')
    GROUP BY ticker, session_date
)
SELECT d.ticker AS ticker,
       round(avgIf(d.shares, dateDiff('day', i.pricing_date, d.session_date) BETWEEN 120 AND 170) / 1e6, 2) AS baseline_volume_m,
       round(avgIf(d.shares, dateDiff('day', i.pricing_date, d.session_date) BETWEEN 171 AND 200) / 1e6, 2) AS window_volume_m,
       round(avgIf(d.shares, dateDiff('day', i.pricing_date, d.session_date) BETWEEN 171 AND 200)
             / avgIf(d.shares, dateDiff('day', i.pricing_date, d.session_date) BETWEEN 120 AND 170), 2) AS volume_ratio
FROM daily AS d
INNER JOIN ipos AS i ON d.ticker = i.ticker
GROUP BY d.ticker
HAVING countIf(dateDiff('day', i.pricing_date, d.session_date) BETWEEN 120 AND 170) >= 20
   AND countIf(dateDiff('day', i.pricing_date, d.session_date) BETWEEN 171 AND 200) >= 10
ORDER BY volume_ratio DESC
Run this yourself

De ratio deelt het gemiddelde daily volume in dagen 171 tot en met 200 door hetzelfde cijfer voor dagen 120 tot en met 170. Een waarde rond 1 betekent dat de weken rond dag 180 vergelijkbaar waren met de voorafgaande weken. UBER kwam het hoogst uit op 4.53x, bij een basis van 8.47 miljoen aandelen per sessie. LYFT kwam het laagst uit op 0.93x. Bij 9 deals levert dezelfde aanname een brede reeks uitkomsten op. Dat is de reden om de filing te lezen en niet alleen de conventie te volgen.

Aankondigingen van registered offerings verschijnen na het sluiten van de markt. De eerste print die iemand ziet, is de opening van de volgende ochtend. Overnight gaps behandelt dit mechanisme.

Secondary offerings en Form 144 rond de datum

Twee soorten filings verschijnen rond een vrijgave.

  • Een registered offering. Een prospectus supplement dat onder Rule 424(b)(5) wordt ingediend, of een nieuwe S-1 waarin de resale van bestaande aandelen wordt geregistreerd, betekent dat houders via underwriters verkopen in plaats van één voor één op de beurs. Het document vermeldt de verkopende houders en hun aantallen aandelen.
  • Form 144. Een affiliate die restricted stock of control stock wil verkopen, dient een kennisgeving in zodra de verkoop meer dan 5.000 aandelen of $50.000 bedraagt binnen een periode van drie maanden. Sinds 2023 worden deze kennisgevingen elektronisch in EDGAR ingediend, waardoor ze naast alle andere filings doorzoekbaar zijn. Rule 144 beperkt het kwartaalvolume van een affiliate bovendien tot het hoogste van 1% van de uitstaande aandelen of het gemiddelde weekly reported volume over de vier weken vóór de kennisgeving.

Form 4-filings registreren wat insiders daadwerkelijk hebben verkocht. Samen gelezen geeft Form 144 de intentie weer en Form 4 de uitgevoerde transactie.

De IPO-jaargang 2026 volgt hetzelfde papierwerk

Open de 424B4 voor de naam die u nodig hebt, lees de twee secties, tel vanaf de prospectusdatum en controleer vervolgens of de overeenkomst een voorwaarde voor vervroegde vrijgave bevat. De IPO-markt van 2026 behandelt de deal flow van de eerste helft van het jaar. De eerste maand van de SpaceX-listing volgt wat de tape deed in de weken na het debuut.

Wees voorzichtig met gepubliceerde tabellen met komende data. De meeste worden opgesteld door 180 dagen op te tellen bij een listingdatum. Daarmee worden beide fouten hierboven herhaald: de afwijking van één dag en de aanname dat de conventie voor elke houder geldt. Een datum is alleen bruikbaar wanneer een filing deze ondersteunt. Daarom staat er op deze pagina geen forecasttabel.

Veelgestelde vragen over de expiratiedatum van een lockup

Waar staat de expiratiedatum van de lockup in een S-1?

In twee secties. "Shares Eligible for Future Sale" bevat het schema met het aantal aandelen dat vrijkomt en wanneer dat gebeurt. De tekst over "Lock-Up Agreements" binnen "Underwriting" bevat de contractvoorwaarden en vermeldt de underwriters die van de voorwaarden kunnen afwijken. Het definitieve 424B4-prospectus herhaalt beide onderdelen met de cijfers van de geprijsde deal.

Begint een lockup op de IPO-datum of op de pricingdatum?

Op de pricingdatum. Filings formuleren dit als een aantal dagen na "the date of this prospectus". Dat is de dag waarop de deal wordt geprijsd, één sessie voordat de handel opent. Op die manier geteld omvatte dag 180 122 market opens voor DASH. Dag 180 viel daar op Jun 6, 2021.

Heeft elke IPO een lockup van 180 dagen?

Nee. De termijn van 180 dagen is een conventie. Termijnen van 90 en 365 dagen komen beide voor. Gefaseerde vrijgaven kunnen een deel van een belang eerder vrijgeven. Verschillende groepen houders binnen één deal kunnen afzonderlijke overeenkomsten ondertekenen.

Kan een lockup eindigen vóór de datum in het prospectus?

Ja. De underwriters kunnen schriftelijk afstand doen van de beperking. Veel overeenkomsten bevatten bovendien voorwaarden voor vervroegde vrijgave die de share price gedurende een venster van trading days volgen. Vaak geldt daarbij een beperking tot de periode na een earnings release. Bevestig elke vervroegde vrijgave in een filing of een aankondiging van de onderneming.

Hoe ziet u of insiders na afloop van een lockup hebben verkocht?

Form 144-kennisgevingen registreren de intentie van een affiliate om te verkopen. Form 4-filings registreren afgeronde transacties van insiders. Een registered secondary verschijnt als een 424(b)(5)-supplement of een resale S-1 en vermeldt de verkopende houders.


Elk cijfer hierboven komt uit een opgeslagen query op basis van sessiedata, met de SQL onder elk panel. Wijzig de tickers, pas de dagvensters aan en voer dezelfde telling uit op de Strasmore-terminal.