Giải thích về ngày hết hạn lockup của IPO
Tìm hiểu ý nghĩa của thời hạn lockup và cách xác định ngày giải tỏa cổ phiếu cho các nhà đầu tư. Bài viết phân tích dữ liệu từ năm đợt hết hạn nổi tiếng.
Lockup IPO là một điều khoản hợp đồng nhằm cấm các cá nhân nội bộ bán cổ phiếu trong một khoảng thời gian nhất định sau khi niêm yết — thông thường là khoảng 180 ngày đối với một đợt IPO truyền thống. Khi thời hạn này kết thúc, số lượng cổ phiếu có thể giao dịch có thể tăng lên gấp nhiều lần chỉ sau một đêm, và ngày hết hạn này đã được công bố trước đó nhiều tháng. Thay vì chỉ dựa vào một ví dụ đơn lẻ, trang này đo lường những gì thực sự đã xảy ra vào năm ngày hết hạn nổi tiếng — bao gồm giá, khối lượng và dữ liệu options.
Thời hạn lockup của IPO là gì?
Lockup là các hợp đồng, không phải quy định pháp lý: thời hạn, phạm vi áp dụng và các điều kiện giải tỏa sớm được quy định trong bản cáo bạch của từng thương vụ, thông qua các thỏa thuận mà những người nội bộ — bao gồm nhà sáng lập, nhân viên, các quỹ tiền IPO — ký kết với các bên bảo lãnh phát hành. Trong thời gian lockup còn hiệu lực, lượng float có thể giao dịch xấp xỉ bằng số cổ phiếu được bán trong đợt chào bán; dữ liệu float cho thấy các đợt IPO trong nửa đầu năm 2026 có lượng cổ phiếu lưu hành trung vị chỉ dưới một phần ba tổng số cổ phiếu tại thời điểm niêm yết, điều này có nghĩa là phần lớn cổ phiếu bị khóa thường lớn hơn nhiều so với lượng cổ phiếu đang giao dịch. Việc hết hạn lockup không bắt buộc bất kỳ ai phải bán; nó chỉ giúp việc bán trở nên khả thi — và thị trường thường dành nhiều tuần trước đó để tranh luận về sự khác biệt này.
Thời hạn lockup thay đổi tùy theo loại hình thương vụ, và "180 ngày" chỉ là một quy ước chứ không phải quy tắc. Các đợt IPO truyền thống thường áp dụng khoảng 180 ngày. Các nhà tài trợ SPAC thường chấp nhận thời hạn khoảng một năm, thường đi kèm điều kiện giải tỏa sớm nếu giá cổ phiếu duy trì trên một mức giá nhất định. Các đợt chào bán bổ sung (follow-on offerings) thường sử dụng thời hạn lockup 90 ngày. Và nhiều thương vụ hiện đại chia việc giải tỏa theo từng đợt — cổ phiếu của nhân viên vào một ngày, các nhà đầu tư sớm vào một ngày khác — nhằm mục đích đảm bảo không có một ngày duy nhất nào gây ra áp lực cung quá lớn lên thị trường.
Cách tìm ngày đáo hạn thực tế
Ngày chính xác nằm trong các hồ sơ của thương vụ, không phải qua tính toán ngày tháng. Bản cáo bạch cuối cùng — hồ sơ 424(B)(4) được nộp trên trang EDGAR của SEC tại thời điểm định giá — quy định các điều khoản trong hai phần: Shares Eligible for Future Sale (số lượng cổ phiếu được mở khóa và thời điểm mở) và Underwriting (đối tượng bị ràng buộc và các điều kiện cho phép giải phóng sớm). Trang quan hệ nhà đầu tư của công ty thường nêu lại ngày này. Việc tính 180 ngày kể từ ngày niêm yết chỉ là một dự đoán dự phòng và có thể sai lệch: đợt mở khóa năm 2019 của Lyft rơi vào ngày 19 tháng 8, sớm hơn vài tuần so với kết quả tính toán 180 ngày kể từ ngày niêm yết 29 tháng 3 — chính các điều khoản của thương vụ đã ấn định ngày sớm hơn đó. Các bên bảo lãnh phát hành cũng có thể miễn trừ thời hạn lockup sớm, và các trường hợp miễn trừ này thường được công bố công khai.
Trước ngày đáo hạn: Sự kiện của Facebook
Sự kiện giải tỏa hạn chế chuyển nhượng được theo dõi nhiều nhất trong lịch sử thị trường là đợt phát hành ngày 14 tháng 11 năm 2012 của Facebook, khi một lượng lớn cổ phiếu nội bộ đồng loạt được tự do giao dịch. Quan điểm phổ biến về ngày này là các mốc thời gian đã biết thường được phản ánh vào giá trước đó. Hai tuần trước ngày đó là bài kiểm tra thực tế:
Câu lệnh SQL chính xác đằng sau mỗi con số
SELECT session, close, shares_m,
round((close / lagInFrame(close, 1, close) OVER (ORDER BY session) - 1) * 100, 1) AS day_change_pct,
round((close / max(close) OVER () - 1) * 100, 1) AS vs_peak_close_pct
FROM (
SELECT toString(toDate(toTimeZone(window_start, 'America/New_York'))) AS session,
round(argMax(close, window_start), 2) AS close,
round(sum(toFloat64(volume)) / 1e6, 1) AS shares_m
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'FB'
AND window_start >= toDateTime('2012-10-22 00:00:00')
AND window_start < toDateTime('2012-11-14 00:00:00')
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY session
)
ORDER BY sessionVào 2012-10-24, phiên giao dịch sau báo cáo quý ba, FB đóng cửa ở mức $23.21 — tăng 19% với khối lượng 193.1 triệu cổ phiếu, mức đóng cửa cao nhất trong giai đoạn này. Sau đó, cổ phiếu đã giảm trở lại trước ngày đáo hạn: ngay trước ngày giải tỏa hạn chế, cổ phiếu đóng cửa ở mức $19.88, thấp hơn -14.4% so với mức đỉnh đó và chỉ cách mức $19.5 (mức đóng cửa trước báo cáo) vài phần trăm. (Khoảng trống trong bảng là có thật — thị trường chứng khoán Mỹ đã đóng cửa từ ngày 29 đến 30 tháng 10 năm 2012 do bão Sandy.) Bất kỳ ai có ý định bán trước ngày giải tỏa đều có nhiều tuần để thực hiện một cách thong thả; ngày này đã được ghi rõ trong bản cáo bạch từ tháng Năm.
Ngày diễn ra sự kiện — và hai tuần sau đó
Sau đó, ngày đáng sợ nhất trong lịch trình của cổ phiếu mới này đã đến:
Câu lệnh SQL chính xác đằng sau mỗi con số
SELECT session, close, shares_m,
round((close / first_value(close) OVER (ORDER BY session) - 1) * 100, 1) AS vs_eve_close_pct
FROM (
SELECT toString(toDate(toTimeZone(window_start, 'America/New_York'))) AS session,
round(argMax(close, window_start), 2) AS close,
round(sum(toFloat64(volume)) / 1e6, 1) AS shares_m
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'FB'
AND window_start >= toDateTime('2012-11-13 00:00:00')
AND window_start < toDateTime('2012-12-01 00:00:00')
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY session
)
ORDER BY sessionVào ngày 2012-11-14, ngày giải tỏa hạn chế chuyển nhượng, FB đóng cửa ở mức $22.36 — cao hơn 12.5% so với mức đóng cửa ngày hôm trước — với khối lượng giao dịch đạt 216 triệu cổ phiếu so với 70.2 triệu cổ phiếu của phiên trước đó. Diễn biến tiếp theo đã trả lời câu hỏi mà các nhà hoài nghi nên đặt ra: liệu đà tăng có duy trì được khi đối mặt với áp lực bán thực tế từ các cổ đông nội bộ? Kết quả là đà tăng vẫn được duy trì và mở rộng — tính đến 2012-11-30, cổ phiếu đứng ở mức 40.7% so với mức đóng cửa ngày hôm trước, với khối lượng giao dịch duy trì ở mức cao hơn mức bình thường trước kỳ hạn trong phần lớn thời gian đó. Nguồn cung sau khi được giải tỏa sẽ hiển thị dưới dạng khối lượng giao dịch khi có lệnh bán, và trong trường hợp này, thị trường đã hấp thụ được lực bán đó với giá tăng lên. Cách giải thích thông thường cho sự kiện này là: kỳ hạn này là sự kiện được dự báo trước rõ ràng nhất trong lịch sử non trẻ của cổ phiếu, nỗi lo sợ đã được bán ra từ trước, và việc ngày này đến đã loại bỏ một sự bất định thay vì tạo thêm một sự bất định mới.
Vượt ra ngoài Facebook: đo lường năm kỳ đáo hạn
Một đợt tăng giá chỉ là sự kiện đơn lẻ. Dưới đây là cùng một phép đo — so sánh giá đóng cửa ngày đáo hạn với phiên trước đó, và bội số khối lượng giao dịch — qua năm sự kiện giải phóng cổ phiếu được theo dõi nhiều nhất trong mười lăm năm qua. Mỗi ngày tương ứng với phiên giải phóng cổ phiếu được báo cáo nhiều nhất của thương vụ đó; một số công ty này phát hành cổ phiếu thành nhiều đợt, vì vậy mỗi dòng chỉ đại diện cho một đợt giảm áp lực cung, không phải toàn bộ lượng cổ phiếu chờ bán.
Câu lệnh SQL chính xác đằng sau mỗi con số
WITH daily AS (
SELECT ticker,
toDate(toTimeZone(window_start, 'America/New_York')) AS d,
argMax(close, window_start) AS close,
sum(toFloat64(volume)) AS vol
FROM global_markets.delayed_stocks_minute_aggs
WHERE ((ticker = 'FB' AND window_start >= toDateTime('2012-11-12 00:00:00') AND window_start < toDateTime('2012-11-15 00:00:00'))
OR (ticker = 'TWTR' AND window_start >= toDateTime('2014-05-04 00:00:00') AND window_start < toDateTime('2014-05-07 00:00:00'))
OR (ticker = 'SNAP' AND window_start >= toDateTime('2017-07-27 00:00:00') AND window_start < toDateTime('2017-08-01 00:00:00'))
OR (ticker = 'LYFT' AND window_start >= toDateTime('2019-08-15 00:00:00') AND window_start < toDateTime('2019-08-20 00:00:00'))
OR (ticker = 'UBER' AND window_start >= toDateTime('2019-11-04 00:00:00') AND window_start < toDateTime('2019-11-07 00:00:00')))
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY ticker, d
),
packed AS (
SELECT ticker, arraySort(x -> x.1, groupArray((d, close, vol))) AS rows
FROM daily
GROUP BY ticker
)
SELECT ticker,
toString(rows[-1].1) AS expiry_session,
round(rows[-2].2, 2) AS prior_close,
round(rows[-1].2, 2) AS expiry_close,
round((rows[-1].2 / rows[-2].2 - 1) * 100, 1) AS expiry_day_change_pct,
round(rows[-1].3 / 1e6, 1) AS expiry_shares_m,
round(rows[-1].3 / rows[-2].3, 1) AS volume_multiple
FROM packed
ORDER BY expiry_sessionBài học nằm ở sự phân bổ, không phải ở các sự kiện đơn lẻ. Bốn trong số năm mã giảm điểm trong ngày, và mức tăng 12.5% của FB là trường hợp ngoại lệ chứ không phải quy luật. Hầu hết các đợt giảm đều không đáng kể — SNAP -1.1%, LYFT -1.6%, UBER -3.9% — những phiên này sẽ không gây chú ý nếu không gắn với ngày đáo hạn. Ngoại lệ là Twitter: -17.7% với mức khối lượng gấp 12.3 so với ngày trước đó — bội số lớn nhất trong bảng — vào ngày 2014-05-06, với 123.8 triệu cổ phiếu được giao dịch trong phiên. Một ngày đáo hạn có thể khiến cổ phiếu biến động mạnh. Điểm chung của tất cả các dòng là cột khối lượng: cả năm phiên đáo hạn đều có lượng cổ phiếu giao dịch ít nhất gấp đôi phiên trước đó. Hướng biến động giá phụ thuộc vào từng thương vụ; nhưng sự gia tăng khối lượng giao dịch thì không.
Dòng lệnh options trước một ngày quan trọng đã biết
Không chỉ các cổ đông mới thực hiện vị thế. Một người nắm giữ cổ phiếu không thể hoặc không muốn bán trước một ngày đã biết có thể mua puts để thay thế — và việc chuẩn bị vị thế này được thể hiện rõ trên dòng lệnh derivatives trước khi kỳ hạn khóa cổ phiếu kết thúc. Việc hết hạn lockup của Uber vào ngày 6 tháng 11 năm 2019 là một ví dụ điển hình trong phạm vi theo dõi giao dịch options của chúng tôi:
Câu lệnh SQL chính xác đằng sau mỗi con số
SELECT toString(toDate(toTimeZone(sip_timestamp, 'America/New_York'))) AS session,
round(sumIf(size, substring(ticker, length(ticker) - 8, 1) = 'P') / 1e3, 1) AS put_contracts_k,
round(sumIf(size, substring(ticker, length(ticker) - 8, 1) = 'C') / 1e3, 1) AS call_contracts_k,
round(100.0 * sumIf(size, substring(ticker, length(ticker) - 8, 1) = 'P') / sum(size), 1) AS put_share_pct,
round(count() / 1e3, 1) AS prints_k
FROM global_markets.options_trades
WHERE ticker >= 'O:UBER19' AND ticker < 'O:UBER20'
AND sip_timestamp >= toDateTime('2019-10-23 00:00:00') AND sip_timestamp < toDateTime('2019-11-09 00:00:00')
GROUP BY session
ORDER BY sessionHai tuần trước đó, vào ngày 2019-10-23, dòng lệnh options của UBER gần như cân bằng: puts chiếm 49.3% khối lượng hợp đồng, tương đương 11.3 nghìn hợp đồng puts. Tiến gần đến ngày đó, dòng lệnh trở nên thiên về puts và có quy mô lớn hơn nhiều — vào ngày 2019-11-06, ngày đáo hạn, có 245.3 nghìn hợp đồng puts được giao dịch, cao hơn nhiều so với số lượng tại thời điểm mở cửa, và puts chiếm 67.8% số hợp đồng trong ngày. Một lưu ý quan trọng: cùng tuần đó Uber cũng công bố báo cáo quý vào sau giờ đóng cửa ngày 4 tháng 11, vì vậy hai mốc thời gian quan trọng nằm cách nhau hai phiên giao dịch trên dòng lệnh này. Trong phiên sau khi hết hạn lockup, tỷ lệ puts đã giảm về mức 51.2% — gần như cân bằng — và số lượng hợp đồng giảm mạnh so với mức đỉnh. Khi rủi ro đã được phòng vệ, các vị thế phòng vệ sẽ biến mất.
Các yếu tố cần kiểm tra khi nắm giữ cổ phiếu qua kỳ unlock
Nội dung này không phải là lời khuyên đầu tư — đây chỉ là các cơ chế cần kiểm tra. Hãy lấy ngày chính xác từ hồ sơ pháp lý — cụ thể là bản 424(B)(4), chứ không phải tính toán theo quy tắc 180 ngày — và lưu ý xem việc giải phóng cổ phiếu có được chia theo giai đoạn hay không. Hãy theo dõi khối lượng giao dịch, không chỉ giá: nếu kỳ hạn kết thúc với khối lượng giao dịch bình thường, điều đó có nghĩa là áp lực bán từ việc unlock chỉ là lý thuyết, và nguồn cung từ nội bộ sẽ hiển thị rõ trên tape khi lệnh được khớp. Phòng ngừa rủi ro (hedging) vào một ngày đã biết sẽ tốn phí premium: các quyền chọn put cho một sự kiện mà ai cũng biết thường rất đắt, và chi phí giao dịch options sẽ bao gồm cả spread và các tính toán premium mà bất kỳ chiến lược hedging nào cũng phải trả. Việc giải phóng cổ phiếu theo giai đoạn giúp giảm bớt áp lực bán đột ngột, giúp phân bổ áp lực cung qua nhiều ngày khác nhau.
Sự kiện expiry quan trọng tiếp theo trong danh sách theo dõi của trang này thuộc về việc niêm yết của SpaceX vào ngày 12 tháng 6 năm 2026. Nếu áp dụng quy ước 180 ngày thông thường, thời điểm kết thúc sẽ rơi vào khoảng đầu tháng 12 năm 2026 — đây là tính toán dựa trên ngày nhận được niêm yết, không phải là tuyên bố về các điều khoản thực tế của thương vụ, vốn nằm trong bản cáo bạch và có thể khác biệt. Sự kiện debut của SK Hynix cũng nằm trong danh sách theo dõi này nhưng chậm hơn một tháng, và nhóm IPO H1 2026 sẽ tập trung thêm nhiều ngày như vậy vào cuối năm 2026.
Câu hỏi thường gặp về hết hạn lockup
Thời hạn lockup IPO là gì?
Đây là một thỏa thuận hợp đồng nhằm ngăn cản những người nội bộ của công ty — bao gồm những người sáng lập, nhân viên và các nhà đầu tư trước IPO — bán cổ phiếu trong một khoảng thời gian nhất định sau khi IPO. Các điều khoản cụ thể nằm trong bản cáo bạch của mỗi thương vụ, và các bên bảo lãnh phát hành có thể cho phép giải tỏa sớm các điều khoản này.
Thời hạn lockup IPO kéo dài bao lâu?
Thông thường là khoảng 180 ngày đối với một đợt IPO truyền thống, nhưng con số này chỉ là quy ước: thời hạn lockup của các nhà tài trợ SPAC thường kéo dài khoảng một năm với điều kiện giải tỏa sớm dựa trên giá, các đợt phát hành thêm thường sử dụng thời hạn 90 ngày, và nhiều thương vụ áp dụng việc giải tỏa phân kỳ theo nhiều ngày khác nhau.
Cổ phiếu có luôn giảm giá khi hết hạn lockup không?
Không. Trong số năm đợt hết hạn tiêu biểu được đo lường ở trên, có bốn đợt đóng cửa ở mức thấp hơn và một đợt — Facebook, tháng 11 năm 2012 — đóng cửa cao hơn 12.5% với khối lượng giao dịch gấp 3.1 lần. Trường hợp tệ nhất trong năm đợt, đợt giải tỏa của Twitter vào tháng 5 năm 2014, ghi nhận mức -17.7% trong ngày đó. Quy luật đáng tin cậy ở đây là khối lượng giao dịch — cả năm đợt đều có khối lượng ít nhất gấp đôi phiên trước đó — chứ không phải là hướng đi của giá.
Làm thế nào để tìm ngày hết hạn lockup của một cổ phiếu?
Trong bản cáo bạch cuối cùng của thương vụ — mẫu 424(B)(4) trên trang EDGAR của SEC — tại mục Shares Eligible for Future Sale (Cổ phiếu đủ điều kiện bán trong tương lai) và Underwriting (Bảo lãnh phát hành). Các phần đó nêu rõ thời hạn, số lượng cổ phiếu theo từng đợt và bất kỳ điều kiện giải tỏa sớm nào: đây là phiên bản chính xác của ngày tháng mà các tiêu đề tin tức thường chỉ ước tính gần đúng.
Khi nào SpaceX hết hạn lockup?
Các điều khoản thực tế của thương vụ nằm trong bản cáo bạch của nó; quy ước 180 ngày thông thường, nếu áp dụng cho ngày niêm yết 12 tháng 6 năm 2026, sẽ chỉ ra thời điểm vào đầu tháng 12 năm 2026. Hãy coi đó là một phép tính toán học, không phải là một ngày đã được xác nhận.
Mỗi bảng trên là một truy vấn đã được lưu trữ và phân phiên dựa trên dữ liệu giao dịch thực tế — bạn có thể mở rộng mã SQL dưới bất kỳ bảng nào, hoặc tự mình đo lường phiên giao dịch của đợt giải tỏa tiếp theo trên terminal Strasmore.