STRASMORE/EXPLORE 2,433 QUERIES

soxs_monthly

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-20, from how-inverse-etfs-work.

as of table 6×5read in context →
soxs_monthly — 6 rows by 5 columns, computed from US exchange, SIP and OPRA data.
labelsoxx_ret_pctsoxs_ret_pctnaive_minus3x_pctgap_pp
2025年3月-6.514.819.5-4.7
2025年4月-2.4-34.97.2-42.1
2025年5月11.6-31.6-34.83.2
2025年6月14.7-36.2-44.17.9
2025年7月1-3.5-3-0.5
2025年8月3.4-10.9-10.2-0.7
Rows × columns
6 × 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 soxs_monthly, derived from the stored result.
ColumnTypeRangeNotes
label text 6 distinct values (2025年3月, 2025年4月, 2025年5月…)
soxx_ret_pct number -6.5 to 14.7 percent
soxs_ret_pct number -36.2 to 14.8 percent
naive_minus3x_pct number -44.1 to 19.5 percent
gap_pp number -42.1 to 7.9

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.

SELECT
    concat(toString(toYear(date)), '年', toString(toMonth(date)), '月')          AS label,
    round((toFloat64(argMaxIf(close, date, ticker = 'SOXX'))
         / toFloat64(argMinIf(close, date, ticker = 'SOXX')) - 1) * 100, 1)      AS soxx_ret_pct,
    round((toFloat64(argMaxIf(close, date, ticker = 'SOXS'))
         / toFloat64(argMinIf(close, date, ticker = 'SOXS')) - 1) * 100, 1)      AS soxs_ret_pct,
    round(-3 * soxx_ret_pct, 1)                                                     AS naive_minus3x_pct,
    round(soxs_ret_pct - naive_minus3x_pct, 1)                                      AS gap_pp
FROM global_markets.stocks_daily_aggs
WHERE ticker IN ('SOXX', 'SOXS')
  AND date >= '2025-03-01'
  AND date <  '2025-09-01'
GROUP BY toYear(date), toMonth(date)
ORDER BY toYear(date), toMonth(date)
⌘/Ctrl + Enter