QQQ, SPY and IWM straddles compared year to date
Recorded in cvforge on July 25, 2026 by ConvexValue · Published July 25, 2026
The same trade in three index ETFs — a December ATM straddle opened in January — with the strike selection worked out from history for each one.
Exact prompt
Give me a dashboard comparing the YTD PnL of a dec 2026 ATM straddle on $QQQ vs $SPY vs $IWM opened at the begining of the year.
Data cadence
Live U.S. option snapshots, refreshed through the session. Open interest is an end-of-previous-day figure and updates once daily.
Plan requirements
Needs the Research data plan, which adds end-of-day historical options aggregates. The rest of the build runs on the free tier.
What the agent built
- pulls historical data to find the ATM level of each etf at the start of the year
- pulls options data to find out what the contracts and strikes are the appropriate ones for the december 2026 expiration
- pulls historical options data to calculate the PnL
Fields used
fair_market_value, strike_price, expiration_date, contract_type, break_even_price, implied_volatility, delta
How to read it
The build has to solve a small problem before it can chart anything: “ATM at the start of the year” means a different strike in each ETF, so it looks up where each was trading in January and picks the matching contract. That step is why the three lines are comparable.
What this measures is which index delivered movement relative to what its options cost. All three are long volatility on correlated underlyings, so they move together; the divergence between them is the interesting series, and it usually says more about the relative pricing in January than about the subsequent move.
Change it
The prompt is the interface. Ask for a different ticker, a different expiration window, or an extra column in the same sentence style and the agent edits the app in place — you do not start over, and you do not wait for anyone to build it.
Limitations
- Snapshot data, not a transaction tape: the build reads the chain as it stands, so it cannot attribute a trade to a buyer or a seller.
- Open interest updates once a day, so an intraday volume/OI comparison is always this session’s volume against yesterday’s open interest.
- Contract coverage is U.S. listed equities, ETFs and indices. Indices use the I: prefix, for example I:SPX.
- Current per-contract valuation is Massive fair market value (FMV), a proprietary estimate. cvforge does not provide option bids, asks, midpoint, quote sizes, NBBO or last trades, and FMV is not an executable quote.
- Payoffs use Massive fair market value estimates. FMV is not an executable price, so premiums, P&L and break-evens are theoretical.
- Curves before expiration depend on an implied-volatility assumption held constant; in practice volatility moves with price.
Related demos
- Six months of P&L on an MU 1000 straddle
- Finding a poor man’s covered call on NVDA
- A month of P&L on an SPX 7300–7400 strangle
Search focus: compare straddle performance across etfs. Related: qqq spy iwm straddle comparison, index etf volatility trade comparison. Originally posted on X.