STRASMORE/EXPLORE 2,707 QUERIES

quiet_days

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-27, from what-is-vanna-and-charm-exposure.

as of series 12×5read in context →
quiet_days — 12 rows by 5 columns, computed from US exchange, SIP and OPRA data.
monthmonth_labelquiet_spot_sessionsquiet_spot_iv_shift_sessionsiv_shift_share_pct
2025-092025年9月600
2025-102025年10月700
2025-112025年11月500
2025-122025年12月500
2026-012026年1月900
2026-022026年2月500
2026-032026年3月4125
2026-042026年4月7114.3
2026-052026年5月7114.3
2026-062026年6月300
2026-072026年7月900
2026-082026年8月800
Rows × columns
12 × 5
Computed
Completeness
No missing values
Source
US exchange, SIP and OPRA market data
Licence
Strasmore terms · free, no signup
Formats
JSON · CSV · the SQL below

What each column holds

Column definitions for quiet_days, derived from the stored result.
ColumnTypeRangeNotes
month text 12 distinct values (2025-09, 2025-10, 2025-11…)
month_label text 12 distinct values (2025年10月, 2025年11月, 2025年12月…)
quiet_spot_sessions number 3 to 9
quiet_spot_iv_shift_sessions number 0 to 1 ratio or rate
iv_shift_share_pct number 0 to 25 percent

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 atm AS
(
    SELECT
        date,
        max(toFloat64(underlying_close))                   AS spot,
        round(avg(toFloat64(implied_volatility)) * 100, 3) AS atm_iv_pct
    FROM global_markets.options_greeks
    WHERE underlying_symbol = 'SPY'
      AND date >= '2025-09-01'
      AND date <  '2026-09-01'
      AND iv_converged = 1
      AND volume > 0
      AND days_to_expiry BETWEEN 20 AND 45
      AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) < 0.02
    GROUP BY date
),
steps AS
(
    SELECT
        date,
        100 * (spot / lagInFrame(spot) OVER (ORDER BY date) - 1)     AS spot_move_pct,
        atm_iv_pct - lagInFrame(atm_iv_pct) OVER (ORDER BY date)     AS iv_move_pt,
        dateDiff('day', lagInFrame(date) OVER (ORDER BY date), date) AS gap_days
    FROM atm
)
SELECT
    formatDateTime(toStartOfMonth(date), '%Y-%m')                            AS month,
    concat(toString(toYear(date)), '年', toString(toMonth(date)), '月')       AS month_label,
    countIf(abs(spot_move_pct) < 0.25)                                       AS quiet_spot_sessions,
    countIf(abs(spot_move_pct) < 0.25 AND abs(iv_move_pt) >= 1)              AS quiet_spot_iv_shift_sessions,
    round(100 * countIf(abs(spot_move_pct) < 0.25 AND abs(iv_move_pt) >= 1)
              / countIf(abs(spot_move_pct) < 0.25), 1)                       AS iv_shift_share_pct
FROM steps
WHERE gap_days BETWEEN 1 AND 5
GROUP BY month, month_label
HAVING countIf(abs(spot_move_pct) < 0.25) > 0
ORDER BY month
⌘/Ctrl + Enter

Work with this data in your AI assistant

Opens ready to query, with this page's data. Free, no account.