Strasmore Research
Formazione Matt ConnorDi Matt Connor

Come trovare la data di scadenza del lockup

La data del lockup è nel prospetto IPO, non in un calendario. Dove trovarla su EDGAR e perché contare 180 giorni dal primo scambio può portare a errori.

La data di scadenza del lockup è indicata nel prospetto dell’IPO. Il modo più rapido per trovarla è aprire il prospetto finale dell’emittente su EDGAR e leggere due sezioni: quella intitolata "Shares Eligible for Future Sale" e la sezione "Lock-Up Agreements" all’interno di "Underwriting". Insieme indicano il numero di azioni che diventano vendibili e il giorno in cui la restrizione viene meno. È proprio la regola di conteggio riportata sotto a causare la maggior parte degli errori nelle date pubblicate. Le condizioni di svincolo descritte dopo spiegano invece perché una data stampata non sia sempre quella effettiva.

Se vuoi partire dal concetto, che cos’è il lockup di un’IPO spiega cosa prevede l’accordo e chi lo firma. Questa pagina serve per trovare la data.

Dove è indicata la data di scadenza del lockup

Ogni IPO statunitense lascia le stesse tracce documentali. Apri la ricerca full text di EDGAR, trova la società e apri l’elenco dei filing.

  • Il S-1 è il registration statement. Contiene la formulazione del lockup fin dalla prima bozza pubblica. Gli aggiornamenti arrivano come S-1/A e i termini possono cambiare da una versione all’altra.
  • Il 424B4 è il prospetto finale, depositato entro due giorni lavorativi dal pricing. Corrisponde all’operazione effettivamente conclusa. È questo il documento da leggere.

Nel documento, cerca entrambe le grafie, "lock-up" e "lockup", perché i filing non sono coerenti nell’uso del trattino. La risposta si trova in tre sezioni.

  • Shares Eligible for Future Sale è il calendario dell’offerta: indica quante azioni sono soggette a restrizioni e la data in cui ciascun blocco diventa vendibile. La frase da individuare è simile a "beginning 181 days after the date of this prospectus".
  • Underwriting, talvolta intitolata "No Sales of Similar Securities", è il contratto: indica chi ha firmato, cosa non può fare, le eccezioni e quali underwriter hanno il potere di svincolare anticipatamente le azioni.
  • Risk Factors ripete quasi sempre il calendario in un inglese più semplice, all’interno del fattore di rischio relativo a vendite future consistenti.

I filing depositati da una società descrive il resto dell’alfabeto dei moduli.

Conta dalla data di pricing, non dal primo giorno di contrattazione

Il conteggio parte da "the date of this prospectus". È la data di pricing, cioè la sera in cui gli underwriter fissano il prezzo. Il titolo apre nella seduta successiva. Chi conta 180 giorni dalla prima barra di un grafico arriva con un giorno di ritardo.

Il conteggio avviene inoltre in giorni di calendario, non in sedute, e la data risultante può cadere di sabato. Nove quotazioni note, con il giorno 180 calcolato dalla data di pricing di ciascuna operazione:

QueryGiorno 180 calcolato dalla pricing date: nove quotazioni USA
L'esatto SQL dietro ogni numero
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

Centottanta giorni di calendario corrispondevano a 122 aperture di mercato per DASH e 123 per RDDT. Contare invece 180 giorni di trading porta a una data distante circa due mesi da quella effettiva. È l’altro errore comune.

Il pannello è ordinato in modo da mettere per prime le date che cadono quando il mercato è chiuso. DASH ha effettuato il pricing il Dec 8, 2020; il giorno 180 è caduto di Sunday e la prima seduta successiva è stata Jun 7, 2021. Le azioni diventano vendibili alla data prevista dal contratto. Possono però passare di mano solo alla successiva apertura.

180 giorni sono una convenzione, non una regola

Il termine di 180 giorni è lo standard di mercato. È una prassi, non un requisito. Nei filing si incontrano anche queste varianti:

  • 90 giorni, più frequenti nelle operazioni di dimensioni ridotte.
  • 365 giorni, applicati occasionalmente ai founder o agli azionisti di controllo nella stessa operazione in cui per tutti gli altri valgono 180 giorni.
  • Svincoli scaglionati, in cui una parte diventa libera a una data e il saldo a un’altra. Il prospetto indica ogni tranche con il relativo numero di azioni e la relativa data.
  • Termini diversi per gruppo. Officer e director, fondi pre-IPO e dipendenti possono firmare accordi diversi nella stessa operazione. In questo caso non esiste un’unica data di scadenza del lockup.

Il numero di azioni è importante quanto la data. Confronta il blocco soggetto a restrizioni con il flottante del titolo per capire quanta offerta negoziabile il calendario aggiunge sulla carta.

Cosa può spostare la data dopo la sua pubblicazione

  • Una waiver. Gli underwriter indicati possono svincolare anticipatamente i titolari per iscritto. Spesso lo fanno insieme a un’offerta secondaria distribuita sul mercato. Il filing originario non cambia.
  • Condizioni di svincolo anticipato. Molti accordi recenti liberano una tranche quando il titolo scambia a un prezzo pari o superiore a un determinato premio rispetto al prezzo IPO per un numero prestabilito di giorni all’interno di una finestra. Lo svincolo può inoltre essere subordinato alla pubblicazione dei risultati del primo o del secondo trimestre.
  • Apertura delle finestre dopo gli utili. Gli accordi spesso aprono la finestra di svincolo dopo un numero prestabilito di giorni di trading dalla pubblicazione dei risultati. La data effettiva dipende quindi dal calendario degli utili, non dall’anniversario del pricing.
  • Una nuova registrazione. Un registration statement per la rivendita, o un takedown da uno shelf, può portare un blocco sul mercato secondo un calendario autonomo.

Ciascuno di questi eventi risulta da un filing o da un annuncio della società. Una data riportata da un sito di calendario senza il supporto di un filing è una stima.

Cosa mostra il tape intorno al giorno 180

Il volume è l’elemento osservabile. Ecco una quotazione seguita settimana per settimana nel primo anno: Reddit, che ha effettuato il pricing il 20 marzo 2024:

QueryVolume medio giornaliero settimanale: primo anno di trading di Reddit, marzo 2024–marzo 2025
L'esatto SQL dietro ogni numero
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

Il grafico copre 53 settimane. La prima media è stata di 32.21 milioni di azioni per seduta. L’ultima è stata di 12.16 milioni. Raggruppando le stesse sedute in base alla distanza dalla data di pricing, si ottengono valori per le finestre rilevanti per chi analizza un lockup:

QueryVolume delle azioni Reddit per finestra, calcolato in giorni dalla pricing date del 20 marzo 2024
L'esatto SQL dietro ogni numero
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

I giorni da 1 a 30 hanno registrato una media di 10.17 milioni di azioni per seduta. I giorni da 91 a 170, il periodo che precede il giorno 180, hanno registrato una media di 3.39 milioni. I giorni da 171 a 200, le quattro settimane a cavallo della data, hanno registrato una media di 3.92 milioni, con una seduta di punta da 7.2 milioni di azioni.

Consideralo il dato di una singola società, non una regola. Ora applica la convenzione dei 180 giorni a tutte e nove le quotazioni:

QueryVolume nelle quattro settimane intorno al giorno 180 rispetto alle settimane precedenti: nove quotazioni USA
L'esatto SQL dietro ogni numero
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

Il rapporto divide il volume medio giornaliero dei giorni da 171 a 200 per lo stesso dato relativo ai giorni da 120 a 170. Un valore vicino a 1 indica che le settimane intorno al giorno 180 sono state simili a quelle precedenti. UBER ha registrato il valore più alto, pari a 4.53x, su una base di 8.47 milioni di azioni per seduta. LYFT ha registrato il valore più basso, pari a 0.93x. Su 9 operazioni, la stessa ipotesi produce risultati molto diversi. È un motivo per leggere il filing invece di affidarsi alla convenzione.

Gli annunci di offerte registrate arrivano dopo la chiusura. Il primo print visibile è quello dell’apertura della mattina successiva. I gap overnight descrivono questo meccanismo.

Offerte secondarie e Form 144 intorno alla data

Due tipi di filing compaiono accanto a uno svincolo.

  • Un’offerta registrata. Un supplemento al prospetto depositato ai sensi della Rule 424(b)(5), oppure un nuovo S-1 che registra la rivendita di azioni esistenti, indica che i titolari vendono tramite underwriter invece di procedere uno alla volta sul mercato. Il documento indica i venditori e il numero di azioni di ciascuno.
  • Form 144. Un affiliate che intende vendere restricted stock o control stock deve depositare una comunicazione quando la vendita supera 5.000 azioni o $50.000 in un qualsiasi periodo di tre mesi. Dal 2023 queste comunicazioni vengono depositate elettronicamente su EDGAR e sono quindi ricercabili insieme agli altri documenti. La Rule 144 limita inoltre il volume trimestrale di un affiliate al maggiore tra l’1% delle azioni in circolazione e il volume medio settimanale comunicato nelle quattro settimane precedenti la comunicazione.

I filing Form 4 registrano ciò che gli insider hanno effettivamente venduto. Letti insieme, il Form 144 rappresenta l’intenzione e il Form 4 la conferma dell’operazione.

La classe 2026 segue la stessa documentazione

Apri il 424B4 del nome che ti interessa, leggi le due sezioni, conta dalla data del prospetto e verifica poi se l’accordo contiene una condizione di svincolo anticipato. Il mercato IPO del 2026 descrive il flusso delle operazioni nella prima metà dell’anno, mentre il primo mese della quotazione di SpaceX segue l’andamento del tape nelle settimane successive al debutto.

Una cautela sulle tabelle pubblicate con le prossime date. La maggior parte viene generata aggiungendo 180 giorni alla data di quotazione. Questo ripropone entrambi gli errori descritti sopra: lo scarto di un giorno e l’ipotesi che la convenzione valga per ogni titolare. Una data è utile solo quando è supportata da un filing. Per questo questa pagina non contiene una tabella previsionale.

FAQ sulla data di scadenza del lockup

Dove si trova la data di scadenza del lockup in un S-1?

In due sezioni. "Shares Eligible for Future Sale" contiene il calendario con il numero di azioni che diventano libere e la relativa data. Il testo "Lock-Up Agreements" all’interno di "Underwriting" contiene i termini contrattuali e indica gli underwriter che possono concedere una waiver. Il prospetto finale 424B4 ripete entrambe le sezioni con i numeri dell’operazione prezzata.

Il lockup inizia alla data dell’IPO o alla data di pricing?

Alla data di pricing. I filing la formulano come un numero di giorni dopo "the date of this prospectus", cioè il giorno in cui viene fissato il prezzo dell’operazione, una seduta prima dell’apertura delle contrattazioni. Calcolato in questo modo, il giorno 180 corrispondeva a 122 aperture di mercato per DASH, il cui giorno 180 è caduto il Jun 6, 2021.

Ogni lockup IPO dura 180 giorni?

No. Il termine di 180 giorni è una convenzione. Nei filing compaiono anche termini di 90 e 365 giorni. Gli svincoli scaglionati liberano prima una parte della partecipazione. Inoltre, gruppi diversi di titolari nella stessa operazione possono firmare accordi differenti.

Un lockup può terminare prima della data indicata nel prospetto?

Sì. Gli underwriter possono concedere una waiver per iscritto. Molti accordi includono inoltre condizioni di svincolo anticipato basate sul prezzo dell’azione in una finestra di giorni di trading, spesso con efficacia subordinata alla pubblicazione dei risultati. Verifica ogni svincolo anticipato in un filing o in un annuncio della società.

Come si verifica se gli insider hanno venduto dopo la scadenza del lockup?

Le comunicazioni Form 144 registrano l’intenzione di vendita di un affiliate. I filing Form 4 registrano le operazioni degli insider effettivamente concluse. Un’offerta secondaria registrata compare come supplemento 424(b)(5) o come S-1 per la rivendita e indica i titolari venditori.


Ogni dato riportato sopra proviene da una stored query sui dati delle sedute, con il codice SQL sotto ciascun pannello. Cambia i ticker, modifica le finestre temporali e ripeti lo stesso conteggio sul terminale Strasmore.