STRASMORE/EXPLORE 2,948 QUERIES

risk_compare

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-10-02, from thematic-etfs-vs-sector-etfs.

as of ranking 4×4read in context →
risk_compare — 4 rows by 4 columns, computed from US exchange, SIP and OPRA data.
tickerhistory_fromvol_1y_pctmax_drawdown_pct
AIQ2003-0929.294.8
BOTZ2016-0926.655.6
XLK2003-0926.353.6
QQQ2003-0919.835.6
Rows × columns
4 × 4
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 risk_compare, derived from the stored result.
ColumnTypeRangeNotes
ticker text 4 distinct values (AIQ, BOTZ, QQQ…)
history_from text 2 distinct values (2003-09, 2016-09)
vol_1y_pct number 19.8 to 29.2 percent
max_drawdown_pct number 35.6 to 94.8 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 px AS
(
    SELECT
        ticker,
        date,
        toFloat64(close)                                                      AS px,
        lagInFrame(toFloat64(close)) OVER (PARTITION BY ticker ORDER BY date)  AS prev_px,
        max(toFloat64(close)) OVER (PARTITION BY ticker ORDER BY date
                                    ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS peak_px
    FROM global_markets.stocks_daily_aggs
    WHERE ticker IN ('AIQ', 'BOTZ', 'XLK', 'QQQ')
)
SELECT
    ticker,
    formatDateTime(min(date), '%Y-%m')                                                                    AS history_from,
    round(100 * sqrt(252) * stddevSampIf(px / prev_px - 1, date >= today() - 370 AND prev_px > 0), 1)      AS vol_1y_pct,
    round(100 * (1 - min(px / peak_px)), 1)                                                               AS max_drawdown_pct
FROM px
GROUP BY ticker
HAVING countIf(date >= today() - 370 AND prev_px > 0) > 150
ORDER BY vol_1y_pct DESC
⌘/Ctrl + Enter

با این داده‌ها در دستیار هوش مصنوعی خود کار کنید

آماده‌ی پرس‌وجو باز می‌شود، با داده‌های همین صفحه. رایگان، بدون حساب.