STRASMORE/EXPLORE 2,170 QUERIES

AAPL by month: the stock's move against the same move capped at 5%

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-08-05, from How to Calculate Covered Call Returns.

as of series 24×3read in context →
AAPL by month: the stock's move against the same move capped at 5% — 24 rows by 3 columns, computed from US exchange, SIP and OPRA data.
monthstock_pctcalled_away_pct
2024-082.372.37
2024-091.761.76
2024-10-4.91-4.91
2024-117.125
2024-125.455
2025-01-6.19-6.19
2025-023.013.01
2025-03-8.6-8.6
2025-04-5.52-5.52
2025-05-4.17-4.17
2025-062.572.57
2025-073.483.48
2025-089.135
2025-099.275
2025-106.525
2025-113.073.07
2025-12-2.24-2.24
2026-01-4.79-4.79
2026-021.771.77
2026-03-3.28-3.28
2026-048.45
2026-0512.645
2026-06-7.18-7.18
2026-076.355
Rows × columns
24 × 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 by month: the stock's move against the same move capped at 5%, derived from the stored result.
ColumnTypeRangeNotes
month date 2024-08 to 2026-07
stock_pct number -8.6 to 12.64 percent
called_away_pct number -8.6 to 5 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.

the exact SQL behind every number
WITH monthly AS
(
    SELECT
        toStartOfMonth(toTimeZone(window_start, 'America/New_York')) AS m,
        toFloat64(argMax(close, window_start))                       AS last_close
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'AAPL'
      AND window_start >= '2024-07-01'
      AND window_start <  '2026-08-01'
    GROUP BY m
)
SELECT
    formatDateTime(m, '%Y-%m')                                AS month,
    round(100 * (last_close / prev_close - 1), 2)             AS stock_pct,
    round(least(100 * (last_close / prev_close - 1), 5.0), 2) AS called_away_pct
FROM
(
    SELECT
        m,
        last_close,
        lagInFrame(last_close) OVER (ORDER BY m ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) AS prev_close
    FROM monthly
)
WHERE prev_close > 0
ORDER BY m

Run your own version of this

The same 22 years of US equities and 12 years of options data are queryable in SQL or plain English. A free account runs 100 queries a day and takes no card.

More from this analysisHow to Calculate Covered Call Returns
Median implied volatility on near-the-money AAPL calls, by month series 24×2 Median implied volatility on 20 to 45 day near-the-money calls, July 2026 ranking 5×3 AAPL call delta by strike distance, 20 to 45 days to expiry, July 2026 ranking 5×3 2026 cash dividends per share at eight widely held payers ranking 8×4 Moving the strike up costs premium: AAPL calls 30 to 45 days out ranking 6×3 What extra time is worth: at-the-money AAPL call premium by days to expiry ranking 6×3 See all 2,170 queries →