Insights
How to Build a Lock-Up Expiration Calendar
Alphanume Team · May 13, 2026
Parsing S-1 and merger lock-up terms into a forward-looking, tradeable calendar.
A lock-up expiration calendar is a forward-looking schedule of dates on which previously restricted shares become eligible for sale. Built across the universe of recent IPOs and de-SPACs, it produces a continuously-updating list of upcoming supply events. The construction is mostly mechanical, with one hard step.
What the calendar should contain
For each lock-up expiration, the calendar should record:
- Issuer. Ticker, CIK.
- Expiration date. The exact date the restriction lapses.
- Shares unlocking. Count, by holder group if disclosed.
- Holder group. Sponsor, target insider, PIPE investor, IPO insider.
- Early-release triggers. Any price-based or time-based early-release provisions.
- Source filing. The lock-up agreement or registration statement that defines the terms.
- Anchor date. The reference date the lock-up runs from (IPO date, merger closing date, etc.).
The sources
Lock-up provisions appear in different filings depending on the type of issuance:
- Traditional IPOs. Lock-up agreements are described in the S-1 prospectus and filed as exhibits to the registration statement. Underwriter-imposed lock-ups are standard 180 days.
- De-SPACs. Lock-up agreements are in the merger documentation (DEFM14A and exhibits to the closing 8-K) — see SPAC lock-up expiration.
- Direct listings. Lock-ups are typically shorter or non-existent.
- Secondary offerings. Some include short lock-ups on insiders, disclosed in the 424B5 prospectus supplement.
- PIPEs and RDOs. Lock-ups (if any) are in the purchase agreement filed as an exhibit to the 8-K — see how to track lock-up expirations from S-1 filings.
The hard step: parsing
Lock-up provisions are unstructured legal text. The relevant terms vary in format. Examples of the kinds of phrasing that appear:
- "...for a period of 180 days from the date of this prospectus..."
- "...for a period commencing on the closing date of the business combination and ending on the date that is the earlier of (i) one year after such date and (ii) the date on which the closing price equals or exceeds $12.00..."
- "...until the date that is 90 days following the date hereof, except that this restriction shall not apply to..."
- "...subject to early release in the discretion of the underwriters..."
Extraction approaches:
- Template extraction for the most common formulations (S-1 underwriter lock-ups follow a small number of templates).
- LLM-based extraction with explicit prompts to identify lock-up periods, anchor dates, and exception clauses.
- Hybrid with manual review for high-priority issuers.
Manual review is feasible at the scale of recent IPOs (a few hundred per year) but becomes painful at scale for PIPE-related lock-ups (thousands per year).
Computing the date
Lock-up periods are expressed as durations from an anchor date. Computing the expiration:
- Identify the anchor date (IPO date, merger closing date, agreement date).
- Add the lock-up duration (typically expressed in days).
- Account for early-release triggers — these may shift the effective expiration earlier.
The anchor date is occasionally ambiguous in the agreement text. The standard rules:
- For IPO lock-ups: the anchor is the date of the prospectus.
- For de-SPAC lock-ups: the anchor is the closing date of the business combination — see how to find de-SPAC closing dates.
- For PIPE lock-ups: the anchor is the closing of the PIPE, typically the same as the contract execution date but occasionally specified differently.
Forward-looking versus historical use
The calendar is built both for forward-looking event prediction and historical-event-study research:
- Forward-looking: Maintain rolling 90-day-ahead view of expirations. Surface upcoming events for watchlist construction.
- Historical: Reconstruct what was known on each historical date — see avoiding look-ahead bias in universe construction.
Forward-looking use of the calendar is straightforward. Historical use requires point-in-time discipline — the calendar as known on, say, 2024-03-15 must reflect only lock-up agreements filed before that date, with their terms as they read on that date (lock-ups can be amended or extended).
Maintenance
The calendar is dynamic:
- New issuances add new entries.
- Amendments to lock-up agreements (sometimes extending, occasionally releasing early) update existing entries.
- Early releases triggered by price action collapse the original expiration to the trigger date.
- Waiver announcements (where underwriters or boards release shares early) collapse the expiration to the waiver date.
Each of these requires its own filings-monitoring layer.
Related reading
SPAC lock-up expiration; tracking lock-up expirations from S-1 filings; float rotation after a de-SPAC; short-selling de-SPACs.
Where Alphanume fits
Alphanume's Dilution Events dataset includes a lock-up calendar built across the de-SPAC universe, with parsed anchor dates, durations, and early-release triggers. The calendar is queryable forward-looking and reconstructible as known on prior dates for backtest purposes.