trend_months
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-16, from soxl-and-soxs-volatility-decay.
| label | index_pct | three_x_pct | soxl_pct | soxl_gap_pct |
|---|---|---|---|---|
| 2026年4月 | 40.4 | 121.2 | 165 | 43.8 |
| 2026年5月 | 23.3 | 70 | 76.7 | 6.7 |
| 2025年6月 | 16.5 | 49.4 | 55.3 | 5.9 |
| 2023年11月 | 16.1 | 48.3 | 53.1 | 4.8 |
| 2025年9月 | 10.5 | 31.6 | 33.8 | 2.2 |
| 2023年1月 | 16 | 48 | 50.2 | 2.1 |
| 2026年1月 | 15 | 45 | 47 | 2 |
| 2022年7月 | 16.5 | 49.5 | 51.4 | 1.8 |
| 2023年5月 | 15.7 | 47 | 48.6 | 1.6 |
| 2023年12月 | 12.2 | 36.5 | 37.7 | 1.2 |
| 2024年2月 | 11.3 | 33.8 | 33.5 | -0.3 |
| 2023年3月 | 8.5 | 25.5 | 24.9 | -0.6 |
| 2024年5月 | 9.4 | 28.1 | 27.3 | -0.8 |
| 2025年5月 | 11.5 | 34.4 | 33 | -1.5 |
| 2022年11月 | 18.9 | 56.6 | 54.9 | -1.6 |
| 2025年10月 | 13.1 | 39.2 | 37.1 | -2.1 |
| 2026年6月 | 12.6 | 37.8 | 18.9 | -18.9 |
- Rows × columns
- 17 × 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 |
|---|---|---|---|
label |
text | 17 distinct values (2022年11月, 2022年7月, 2023年11月…) | |
index_pct |
number | 8.5 to 40.4 | percent |
three_x_pct |
number | 25.5 to 121.2 | percent |
soxl_pct |
number | 18.9 to 165 | percent |
soxl_gap_pct |
number | -18.9 to 43.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
daily AS
(
SELECT
ticker,
date,
anyLast(toFloat64(close)) AS c
FROM global_markets.stocks_daily_aggs
WHERE ticker IN ('SOXX', 'SOXL', 'SOXS')
AND date >= '2021-12-15'
AND date < '2026-09-01'
GROUP BY ticker, date
),
lagged AS
(
SELECT
ticker,
date,
c,
lagInFrame(c, 1) OVER (PARTITION BY ticker ORDER BY date ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) AS prev_c
FROM daily
),
rets AS
(
SELECT
ticker,
date,
c / prev_c - 1 AS r
FROM lagged
WHERE prev_c > 0
AND abs(c / prev_c - 1) < 0.75
AND date >= '2022-01-01'
AND (ticker, date) NOT IN
(
SELECT ticker, toDate(execution_date)
FROM global_markets.stocks_splits
WHERE ticker IN ('SOXX', 'SOXL', 'SOXS')
)
),
monthly AS
(
SELECT
toStartOfMonth(date) AS m,
exp(sumIf(log(1 + r), ticker = 'SOXX')) - 1 AS soxx,
exp(sumIf(log(1 + r), ticker = 'SOXL')) - 1 AS soxl,
exp(sumIf(log(1 + r), ticker = 'SOXS')) - 1 AS soxs
FROM rets
GROUP BY m
HAVING countIf(ticker = 'SOXX') >= 15
AND countIf(ticker = 'SOXL') >= 15
AND countIf(ticker = 'SOXS') >= 15
)
SELECT
concat(toString(toYear(m)), '年', toString(toMonth(m)), '月') AS label,
round(soxx * 100, 1) AS index_pct,
round(soxx * 300, 1) AS three_x_pct,
round(soxl * 100, 1) AS soxl_pct,
round((soxl - 3 * soxx) * 100, 1) AS soxl_gap_pct
FROM monthly
WHERE soxx > 0.08
ORDER BY soxl_gap_pct DESC
Work with this data in your AI assistant
Opens ready to query, with this page's data. Free, no account.