{"slug":"covered-call-etfs-explained","qid":"price_path","label":"Price path indexed to 100: two index funds and their covered call counterparts, month ends","post_title":"Covered Call ETFs: the Real Tradeoff","post_url":"/blog/covered-call-etfs-explained#q-price_path","columns":["month","nasdaq_fund_price","nasdaq_covered_call_price","sp500_fund_price","sp500_covered_call_price"],"rows":[{"month":"2023-07","nasdaq_fund_price":100,"nasdaq_covered_call_price":100,"sp500_fund_price":100,"sp500_covered_call_price":100},{"month":"2023-08","nasdaq_fund_price":98.4,"nasdaq_covered_call_price":96.8,"sp500_fund_price":98.4,"sp500_covered_call_price":97.4},{"month":"2023-09","nasdaq_fund_price":93.4,"nasdaq_covered_call_price":93,"sp500_fund_price":93.4,"sp500_covered_call_price":94.1},{"month":"2023-10","nasdaq_fund_price":91.4,"nasdaq_covered_call_price":92.1,"sp500_fund_price":91.4,"sp500_covered_call_price":92.3},{"month":"2023-11","nasdaq_fund_price":101.3,"nasdaq_covered_call_price":94.5,"sp500_fund_price":99.7,"sp500_covered_call_price":94.2},{"month":"2023-12","nasdaq_fund_price":106.7,"nasdaq_covered_call_price":96.2,"sp500_fund_price":103.8,"sp500_covered_call_price":95.4},{"month":"2024-01","nasdaq_fund_price":108.6,"nasdaq_covered_call_price":97.8,"sp500_fund_price":105.5,"sp500_covered_call_price":96.3},{"month":"2024-02","nasdaq_fund_price":114.4,"nasdaq_covered_call_price":99,"sp500_fund_price":111,"sp500_covered_call_price":97.2},{"month":"2024-03","nasdaq_fund_price":115.7,"nasdaq_covered_call_price":99.4,"sp500_fund_price":114.3,"sp500_covered_call_price":98.6},{"month":"2024-04","nasdaq_fund_price":110.6,"nasdaq_covered_call_price":96.5,"sp500_fund_price":109.7,"sp500_covered_call_price":96.4},{"month":"2024-05","nasdaq_fund_price":117.7,"nasdaq_covered_call_price":97.2,"sp500_fund_price":115.2,"sp500_covered_call_price":96.8},{"month":"2024-06","nasdaq_fund_price":124.8,"nasdaq_covered_call_price":98,"sp500_fund_price":118.9,"sp500_covered_call_price":97.7},{"month":"2024-07","nasdaq_fund_price":122.7,"nasdaq_covered_call_price":97.4,"sp500_fund_price":120.2,"sp500_covered_call_price":98},{"month":"2024-08","nasdaq_fund_price":124.1,"nasdaq_covered_call_price":99.2,"sp500_fund_price":123.1,"sp500_covered_call_price":99.8},{"month":"2024-09","nasdaq_fund_price":127.1,"nasdaq_covered_call_price":100,"sp500_fund_price":125.4,"sp500_covered_call_price":100.3},{"month":"2024-10","nasdaq_fund_price":126.1,"nasdaq_covered_call_price":99.6,"sp500_fund_price":124.2,"sp500_covered_call_price":98.9},{"month":"2024-11","nasdaq_fund_price":132.8,"nasdaq_covered_call_price":101.1,"sp500_fund_price":131.6,"sp500_covered_call_price":101.9},{"month":"2024-12","nasdaq_fund_price":133.2,"nasdaq_covered_call_price":101,"sp500_fund_price":128,"sp500_covered_call_price":101.3},{"month":"2025-01","nasdaq_fund_price":136.1,"nasdaq_covered_call_price":102.4,"sp500_fund_price":131.5,"sp500_covered_call_price":102.4},{"month":"2025-02","nasdaq_fund_price":132.4,"nasdaq_covered_call_price":99.4,"sp500_fund_price":129.8,"sp500_covered_call_price":101},{"month":"2025-03","nasdaq_fund_price":122.2,"nasdaq_covered_call_price":92.2,"sp500_fund_price":122.1,"sp500_covered_call_price":95.4},{"month":"2025-04","nasdaq_fund_price":123.9,"nasdaq_covered_call_price":90.4,"sp500_fund_price":121.1,"sp500_covered_call_price":92.7},{"month":"2025-05","nasdaq_fund_price":135.2,"nasdaq_covered_call_price":90.7,"sp500_fund_price":128.8,"sp500_covered_call_price":92.7},{"month":"2025-06","nasdaq_fund_price":143.7,"nasdaq_covered_call_price":92.7,"sp500_fund_price":135,"sp500_covered_call_price":94.1},{"month":"2025-07","nasdaq_fund_price":147.2,"nasdaq_covered_call_price":92.9,"sp500_fund_price":138,"sp500_covered_call_price":94.1},{"month":"2025-08","nasdaq_fund_price":148.6,"nasdaq_covered_call_price":92.3,"sp500_fund_price":140.9,"sp500_covered_call_price":94.1},{"month":"2025-09","nasdaq_fund_price":156.4,"nasdaq_covered_call_price":94.3,"sp500_fund_price":145.5,"sp500_covered_call_price":95},{"month":"2025-10","nasdaq_fund_price":163.9,"nasdaq_covered_call_price":96.7,"sp500_fund_price":149,"sp500_covered_call_price":96.5},{"month":"2025-11","nasdaq_fund_price":161.3,"nasdaq_covered_call_price":96.9,"sp500_fund_price":149.3,"sp500_covered_call_price":97.5},{"month":"2025-12","nasdaq_fund_price":160,"nasdaq_covered_call_price":98,"sp500_fund_price":148.9,"sp500_covered_call_price":98.3},{"month":"2026-01","nasdaq_fund_price":162,"nasdaq_covered_call_price":98.6,"sp500_fund_price":151.1,"sp500_covered_call_price":98.5},{"month":"2026-02","nasdaq_fund_price":158.3,"nasdaq_covered_call_price":97.6,"sp500_fund_price":149.9,"sp500_covered_call_price":98.5},{"month":"2026-03","nasdaq_fund_price":150.4,"nasdaq_covered_call_price":95.1,"sp500_fund_price":142,"sp500_covered_call_price":94.7},{"month":"2026-04","nasdaq_fund_price":173.9,"nasdaq_covered_call_price":99.8,"sp500_fund_price":156.9,"sp500_covered_call_price":97.4},{"month":"2026-05","nasdaq_fund_price":192.3,"nasdaq_covered_call_price":100.3,"sp500_fund_price":165.2,"sp500_covered_call_price":98.5},{"month":"2026-06","nasdaq_fund_price":191.7,"nasdaq_covered_call_price":102.2,"sp500_fund_price":163,"sp500_covered_call_price":98.7}],"shape":"series","sql":"WITH px AS (\n    SELECT toStartOfMonth(toDate(toTimeZone(window_start, 'America/New_York'))) AS m,\n           ticker,\n           argMax(close, window_start) AS price\n    FROM global_markets.delayed_stocks_minute_aggs\n    WHERE ticker IN ('QYLD', 'XYLD', 'QQQ', 'SPY')\n      AND toDate(toTimeZone(window_start, 'America/New_York')) BETWEEN toDate('2023-07-01') AND toDate('2026-06-30')\n      AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60\n           + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959\n    GROUP BY m, ticker\n),\nbase AS (\n    SELECT ticker, argMin(price, m) AS p0\n    FROM px\n    GROUP BY ticker\n)\nSELECT formatDateTime(px.m, '%Y-%m') AS month,\n       round(maxIf(px.price / base.p0 * 100, px.ticker = 'QQQ'), 1) AS nasdaq_fund_price,\n       round(maxIf(px.price / base.p0 * 100, px.ticker = 'QYLD'), 1) AS nasdaq_covered_call_price,\n       round(maxIf(px.price / base.p0 * 100, px.ticker = 'SPY'), 1) AS sp500_fund_price,\n       round(maxIf(px.price / base.p0 * 100, px.ticker = 'XYLD'), 1) AS sp500_covered_call_price\nFROM px\nINNER JOIN base ON px.ticker = base.ticker\nGROUP BY px.m\nORDER BY px.m","computed_at":"2026-08-01T02:22:25.655940+00:00","elapsed":0.005465361}