STRASMORE/EXPLORE 3,127 QUERIES

AAPL and MSFT return correlation measured quarter by quarter

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-06, from Stock Correlation Matrix in One SQL Query.

as of ranking 7×3read in context →
AAPL and MSFT return correlation measured quarter by quarter — 7 rows by 3 columns, computed from US exchange, SIP and OPRA data.
window_startquarter_labelreturn_corr
2025-01-01Jan 20250.415
2025-04-01Apr 20250.729
2025-07-01Jul 20250.032
2025-10-01Oct 20250.203
2026-01-01Jan 20260.108
2026-04-01Apr 20260.265
2026-07-01Jul 20260
Rows × columns
7 × 3
Period covered
to
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 AAPL and MSFT return correlation measured quarter by quarter, derived from the stored result.
ColumnTypeRangeNotes
window_start date 2025-01-01 to 2026-07-01
quarter_label text 7 distinct values (Apr 2025, Apr 2026, Jan 2025…)
return_corr number 0 to 0.729

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,
            toFloat64(close) AS px,
            lagInFrame(toFloat64(close), 1) OVER (
                PARTITION BY ticker ORDER BY date
                ROWS BETWEEN 1 PRECEDING AND CURRENT ROW
            ) AS prev_px
        FROM global_markets.stocks_daily_aggs
        WHERE ticker IN ('AAPL', 'MSFT')
          AND date >= '2025-01-01'
          AND date <  '2026-10-01'
    ),
    rets AS
    (
        SELECT ticker, date, px / prev_px - 1 AS ret
        FROM daily
        WHERE prev_px > 0
    ),
    paired AS
    (
        SELECT
            a.date AS d,
            a.ret  AS ret_aapl,
            b.ret  AS ret_msft
        FROM rets AS a
        INNER JOIN rets AS b ON a.date = b.date
        WHERE a.ticker = 'AAPL' AND b.ticker = 'MSFT'
    )
SELECT
    toString(toStartOfQuarter(d))                AS window_start,
    formatDateTime(toStartOfQuarter(d), '%b %Y') AS quarter_label,
    round(corr(ret_aapl, ret_msft), 3)           AS return_corr
FROM paired
GROUP BY window_start, quarter_label
ORDER BY window_start
⌘/Ctrl + Enter

Work with this data in your AI assistant

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

More from this analysisStock Correlation Matrix in One SQL Query
Correlation of price levels against correlation of daily returns, same pairs ranking 15×4 → Pairwise correlation of daily returns, six large caps, Oct 2025 to Sep 2026 ranking 15×2 → Daily bars per name against sessions shared with SPY, Oct 2025 to Sep 2026 ranking 6×3 → KO: total cash dividends per share by year ranking 22×2 → P/E ratios of US companies above $500B market cap ranking 12×2 → SPY implied volatility by days-to-expiry bucket, latest session ranking 11×2 → See all 3,127 queries →