STRASMORE/EXPLORE 2,170 QUERIES 22Y EQUITIES · 12Y OPTIONS

2,170 answered market questions

every one with its exact SQL, its result and the date it was computed · free, no signup

Covered Call vs Cash-Secured Put
Both positions at four moments: entry, three weeks in, the SPY high, and the June diptable · 2026-07-31 · 4×5 What each strike paid on May 1, 2026: SPY June 18 calls and puts side by sideranking · 2026-07-31 · 8×3Preview: 8 ranked values, largest first. Covered call vs cash-secured put: profit and loss per share, same strike, same expiryseries · 2026-07-31 · 29×3Preview: a 16-point series, ending higher.
Both positions at four moments: entry, three weeks in, the SPY high, and the June dip

Both positions at four moments: entry, three weeks in, the SPY high, and the June dip

most recentas of table 4×5read in context →
Both positions at four moments: entry, three weeks in, the SPY high, and the June dip — 4 rows by 5 columns, computed from US exchange, SIP and OPRA data.
stagespy_pricecovered_call_plcash_secured_put_plgap_abs
1. Both trades opened (May 1)720000
2. Three weeks in (May 15)737.347.326.440.88
3. SPY high (Jun 2)759.6315.4713.352.12
4. SPY dip (Jun 10)722.887.596.451.14
the exact SQL behind every number
WITH entry AS (
    SELECT avgIf(option_close, ticker = 'O:SPY260618C00720000') AS call0,
           avgIf(option_close, ticker = 'O:SPY260618P00720000') AS put0,
           avg(underlying_close) AS spy0
    FROM global_markets.options_greeks
    WHERE ticker IN ('O:SPY260618C00720000', 'O:SPY260618P00720000')
      AND date = '2026-05-01'
      AND implied_volatility > 0.02
)
SELECT multiIf(g.date = '2026-05-01', '1. Both trades opened (May 1)',
               g.date = '2026-05-15', '2. Three weeks in (May 15)',
               g.date = '2026-06-02', '3. SPY high (Jun 2)',
               '4. SPY dip (Jun 10)') AS stage,
       round(avg(g.underlying_close), 2) AS spy_price,
       round(avg(g.underlying_close) - any(entry.spy0) + any(entry.call0)
             - avgIf(g.option_close, g.ticker = 'O:SPY260618C00720000'), 2) AS covered_call_pl,
       round(any(entry.put0)
             - avgIf(g.option_close, g.ticker = 'O:SPY260618P00720000'), 2) AS cash_secured_put_pl,
       round(abs((avg(g.underlying_close) - any(entry.spy0) + any(entry.call0)
                  - avgIf(g.option_close, g.ticker = 'O:SPY260618C00720000'))
                 - (any(entry.put0)
                    - avgIf(g.option_close, g.ticker = 'O:SPY260618P00720000'))), 2) AS gap_abs
FROM global_markets.options_greeks g, entry
WHERE g.ticker IN ('O:SPY260618C00720000', 'O:SPY260618P00720000')
  AND g.date IN ('2026-05-01', '2026-05-15', '2026-06-02', '2026-06-10')
  AND g.implied_volatility > 0.02
GROUP BY g.date
ORDER BY g.date
$