march_2020_sessions
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-18, from market-wide-circuit-breakers-explained.
| session_date | session_label | open_vs_prior_close_pct | low_vs_prior_close_pct | close_vs_prior_close_pct | breaker_line |
|---|---|---|---|---|---|
| 2020-03-02 | March 2 | 0.66 | -0.61 | 4.33 | |
| 2020-03-03 | March 3 | 0.13 | -3.73 | -2.86 | |
| 2020-03-04 | March 4 | 1.96 | 1.03 | 4.2 | |
| 2020-03-05 | March 5 | -2.52 | -4.11 | -3.32 | |
| 2020-03-06 | March 6 | -3.08 | -4.04 | -1.65 | |
| 2020-03-09 | March 9 | -7.45 | -8.07 | -7.81 | Level 1 line crossed |
| 2020-03-10 | March 10 | 3.8 | -0.27 | 5.17 | |
| 2020-03-11 | March 11 | -2.68 | -6.08 | -4.87 | |
| 2020-03-12 | March 12 | -6.69 | -9.72 | -9.57 | Level 1 line crossed |
| 2020-03-13 | March 13 | 6.04 | 0.59 | 8.55 | |
| 2020-03-16 | March 16 | -10.45 | -11.87 | -10.94 | Level 1 line crossed |
| 2020-03-17 | March 17 | 2.16 | -1.16 | 5.4 | |
| 2020-03-18 | March 18 | -6.55 | -9.8 | -5.06 | Level 1 line crossed |
| 2020-03-19 | March 19 | -0.31 | -3.24 | 0.21 | |
| 2020-03-20 | March 20 | 0.84 | -4.99 | -4.87 | |
| 2020-03-23 | March 23 | -0.27 | -4.61 | -2.56 | |
| 2020-03-24 | March 24 | 5.14 | 4.87 | 9.06 | |
| 2020-03-25 | March 25 | 0.71 | -1.4 | 1.5 | |
| 2020-03-26 | March 26 | 1.11 | 0.92 | 5.84 | |
| 2020-03-27 | March 27 | -3.04 | -3.89 | -2.98 | |
| 2020-03-30 | March 30 | 0.9 | 0.04 | 3.25 | |
| 2020-03-31 | March 31 | -0.42 | -2.08 | -1.49 |
- Rows × columns
- 22 × 6
- Period covered
- to
- Computed
- Completeness
- Some fields are partly empty — see the columns below
- Source
- US exchange, SIP and OPRA market data
- Licence
- Strasmore terms · free, no signup
What each column holds
| Column | Type | Range | Notes |
|---|---|---|---|
session_date |
date | 2020-03-02 to 2020-03-31 | |
session_label |
text | 22 distinct values (March 10, March 11, March 12…) | |
open_vs_prior_close_pct |
number | -10.45 to 6.04 | percent |
low_vs_prior_close_pct |
number | -11.87 to 4.87 | percent |
close_vs_prior_close_pct |
number | -10.94 to 9.06 | percent |
breaker_line |
text | 1 distinct value (Level 1 line crossed) | 4 of 22 rows populated |
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.
the exact SQL behind every number
SELECT
toString(d) AS session_date,
concat(monthName(d), ' ', toString(toDayOfMonth(d))) AS session_label,
round((open_px / prev_close_px - 1) * 100, 2) AS open_vs_prior_close_pct,
round((low_px / prev_close_px - 1) * 100, 2) AS low_vs_prior_close_pct,
round((close_px / prev_close_px - 1) * 100, 2) AS close_vs_prior_close_pct,
multiIf((1 - low_px / prev_close_px) * 100 >= 20, 'Level 3 line crossed',
(1 - low_px / prev_close_px) * 100 >= 13, 'Level 2 line crossed',
(1 - low_px / prev_close_px) * 100 >= 7, 'Level 1 line crossed',
'') AS breaker_line
FROM
(
SELECT
d,
open_px,
low_px,
close_px,
lagInFrame(close_px, 1) OVER (ORDER BY d ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS prev_close_px
FROM
(
SELECT
date AS d,
toFloat64(max(open)) AS open_px,
toFloat64(min(low)) AS low_px,
toFloat64(max(close)) AS close_px
FROM global_markets.stocks_daily_aggs
WHERE ticker = 'SPY'
AND date BETWEEN toDate('2020-02-24') AND toDate('2020-03-31')
GROUP BY date
)
)
WHERE d >= toDate('2020-03-02')
ORDER BY d
Run your own version of this
The same 22 years of US equities and 12 years of options data are queryable in SQL or plain English. A free account runs 100 queries a day and takes no card.
More from this analysismarket-wide-circuit-breakers-explained
daily_recalc
series 15×5
→
halt_days
series 4×8
→
trigger_levels
table 3×7
→
One SPY $600 LEAPS call's price over two years (expired Jan 16 2026)
series 470×2
→
monthly
series 241×4
→
2s10s spread, monthly average: last 20 years
series 240×2
→
See all 2,358 queries →