unlock_ladder_volume
Answered against 22 years of US equities and 12 years of US options data and published with the query that produced it. This result is stored as of 2026-09-25, from figma-lockup-expiration.
| session_offset | sep_2025_ratio | nov_2025_ratio | aug_2026_ratio |
|---|---|---|---|
| -5 | 0.2 | 0.74 | 1.13 |
| -4 | 0.27 | 0.79 | 1.57 |
| -3 | 0.78 | 0.77 | 1.17 |
| -2 | 1.42 | 1.57 | 1.99 |
| -1 | 3.66 | 2.48 | 2.26 |
| 0 | 2.59 | 3.6 | 1.29 |
| 1 | 1.16 | 1.33 | 1.02 |
| 2 | 0.93 | 0.97 | 0.7 |
| 3 | 1.14 | 0.53 | 0.58 |
| 4 | 1.57 | 1.07 | 1 |
| 5 | 1 | 0.91 | 0.51 |
- Rows × columns
- 11 × 4
- Computed
- Completeness
- No missing values
- Source
- US exchange, SIP and OPRA market data
- Licence
- Strasmore terms · free, no signup
What each column holds
| Column | Type | Range | Notes |
|---|---|---|---|
session_offset |
number | -5 to 5 | |
sep_2025_ratio |
number | 0.2 to 3.66 | ratio or rate |
nov_2025_ratio |
number | 0.53 to 3.6 | ratio or rate |
aug_2026_ratio |
number | 0.51 to 2.26 | ratio or rate |
Computed from Strasmore's warehouse of US exchange, SIP and OPRA market data. Equity prices are delayed; options greeks and implied volatility are end-of-day. This result is stored, not recomputed on load — it is exactly the numbers that were returned on , and the query below is what returned them.
Run it yourself
This is the exact query behind the result above. Change a ticker, a date or a column and run it against the warehouse — no account, no key. The no-signup tier is smaller than the one this page was computed on; a query that reaches past it comes back saying which plan runs it.
WITH bars AS
(
SELECT
date,
volume,
close,
avg(volume) OVER (ORDER BY date ROWS BETWEEN 20 PRECEDING AND 1 PRECEDING) AS avg_volume_20,
row_number() OVER (ORDER BY date) AS seq
FROM
(
SELECT
date,
argMax(toFloat64(volume), _ingest_time) AS volume,
argMax(toFloat64(close), _ingest_time) AS close
FROM global_markets.stocks_daily_aggs
WHERE ticker = 'FIG'
AND date >= '2025-07-31'
GROUP BY date
)
),
anchors AS
(
SELECT
anyIf(seq, date = '2025-09-05') AS employee_release,
anyIf(seq, date = '2025-11-07') AS ipo_lockup_end,
anyIf(seq, date = '2026-08-07') AS final_tranche
FROM bars
),
offsets AS
(
SELECT arrayJoin(range(11)) - 5 AS session_offset
)
SELECT
o.session_offset AS session_offset,
round(anyIf(b.volume / b.avg_volume_20, toInt32(b.seq) = toInt32(a.employee_release) + o.session_offset), 2) AS sep_2025_ratio,
round(anyIf(b.volume / b.avg_volume_20, toInt32(b.seq) = toInt32(a.ipo_lockup_end) + o.session_offset), 2) AS nov_2025_ratio,
round(anyIf(b.volume / b.avg_volume_20, toInt32(b.seq) = toInt32(a.final_tranche) + o.session_offset), 2) AS aug_2026_ratio
FROM offsets AS o
CROSS JOIN bars AS b
CROSS JOIN anchors AS a
GROUP BY session_offset
ORDER BY session_offset
Work with this data in your AI assistant
Opens ready to query, with this page's data. Free, no account.