barrier_touch_grid
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-22, from can-german-retail-investors-short-stocks.
| barrier_distance | barrier_level | sessions_observed | days_high_touched | days_closed_above |
|---|---|---|---|---|
| +2% | $156.37 | 63 | 63 | 63 |
| +4% | $159.43 | 63 | 61 | 60 |
| +6% | $162.5 | 63 | 59 | 59 |
| +8% | $165.56 | 63 | 56 | 55 |
| +10% | $168.63 | 63 | 55 | 52 |
| +12% | $171.7 | 63 | 50 | 43 |
| +14% | $174.76 | 63 | 39 | 37 |
| +16% | $177.83 | 63 | 33 | 23 |
| +18% | $180.89 | 63 | 18 | 11 |
| +20% | $183.96 | 63 | 6 | 1 |
- Rows × columns
- 10 × 5
- 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 |
|---|---|---|---|
barrier_distance |
text | 10 distinct values (+10%, +12%, +14%…) | |
barrier_level |
text | 10 distinct values ($156.37, $159.43, $162.5…) | |
sessions_observed |
number | every row is 63 | |
days_high_touched |
number | 6 to 63 | US dollars |
days_closed_above |
number | 1 to 63 |
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 (
SELECT toFloat64(close)
FROM global_markets.stocks_daily_aggs
WHERE ticker = 'NVDA'
AND date = '2025-07-01'
) AS ref_close
SELECT
concat('+', toString(pct), '%') AS barrier_distance,
concat('$', toString(round(ref_close * (1 + pct / 100), 2))) AS barrier_level,
count() AS sessions_observed,
countIf(toFloat64(high) >= ref_close * (1 + pct / 100)) AS days_high_touched,
countIf(toFloat64(close) >= ref_close * (1 + pct / 100)) AS days_closed_above
FROM global_markets.stocks_daily_aggs
ARRAY JOIN [2, 4, 6, 8, 10, 12, 14, 16, 18, 20] AS pct
WHERE ticker = 'NVDA'
AND date > '2025-07-01'
AND date <= '2025-09-30'
GROUP BY pct
ORDER BY pct