STRASMORE/EXPLORE 3,256 QUERIES

fx_vs_equity

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-09, from most-volatile-us-stocks-in-euros.

as of series 37×4read in context →
fx_vs_equity — 37 rows by 4 columns, computed from US exchange, SIP and OPRA data.
monthvol_spy_pctvol_eur_usd_pctcorrelation_pct
2023-09126-7
2023-1014729
2023-1111954
2023-1210869
2024-0111638
2024-0212526
2024-0310530
2024-0413738
2024-059469
2024-067520
2024-0714424
2024-08197-7
2024-0914529
2024-10115-1
2024-111210-35
2024-1214753
2025-0114935
2025-0213840
2025-032191
2025-045214-39
2025-05179-56
2025-0610621
2025-077722
2025-0812816
2025-097732
2025-10145-29
2025-111541
2025-128337
2026-01109-23
2026-0213520
2026-0318855
2026-0412559
2026-0510466
2026-0618562
2026-0712527
2026-081055
2026-0911447
Rows × columns
37 × 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 fx_vs_equity, derived from the stored result.
ColumnTypeRangeNotes
month text 37 distinct values (2023-09, 2023-10, 2023-11…)
vol_spy_pct number 7 to 52 percent
vol_eur_usd_pct number 3 to 14 percent
correlation_pct number -56 to 69 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
        date,
        ticker,
        toFloat64(close) AS c
    FROM global_markets.stocks_daily_aggs
    WHERE ticker IN ('SPY', 'FXE')
      AND date >= today() - 1130
      AND date <  today()
      AND close > 0
),
rets AS (
    SELECT
        ticker,
        date,
        log(c / lagInFrame(c) OVER (PARTITION BY ticker ORDER BY date
                                    ROWS BETWEEN 1 PRECEDING AND 1 PRECEDING)) AS ret
    FROM px
),
paired AS (
    SELECT
        date,
        anyIf(ret, ticker = 'SPY') AS r_spy,
        anyIf(ret, ticker = 'FXE') AS r_fx
    FROM rets
    WHERE isFinite(ret)
    GROUP BY date
    HAVING countIf(ticker = 'SPY') = 1
       AND countIf(ticker = 'FXE') = 1
)
SELECT
    formatDateTime(toStartOfMonth(date), '%Y-%m')          AS month,
    toUInt32(round(stddevSamp(r_spy) * sqrt(252) * 100))   AS vol_spy_pct,
    toUInt32(round(stddevSamp(r_fx)  * sqrt(252) * 100))   AS vol_eur_usd_pct,
    toInt32(round(corr(r_spy, r_fx) * 100))                AS correlation_pct
FROM paired
GROUP BY month
HAVING count() >= 10
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.