Backtesting a monthly 30-DTE SPY call spread
Recorded in cvforge on June 28, 2026 by ConvexValue · Published July 25, 2026
Buying an ATM call, selling the 0.30-delta call at 30 days out, once a month, closed at month end — run over history from end-of-day options data.
Exact prompt
I want a dashboard to visualize the backtest of following strategy: Going long a 30-dte call spread (long atm call, short 0.3 delta call) at the start of each month and closing it at the end of each month. Lets start out with $SPY.
Data cadence
End-of-day historical options aggregates: daily open, high, low, close, volume and open interest per contract.
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.
Fields used
open_interest, day_volume, strike_price, expiration_date, contract_type
How to read it
A rules-based strategy stated in one sentence and tested against history. The rules are completely specified — entry timing, both legs, the delta target, the exit — which is what makes it testable at all.
Read the result with the usual backtest scepticism, and one specific to options: the fill assumption. Historical options data here is end-of-day aggregates, so entries and exits are priced off daily marks without executable-market or transaction-cost data. That omission flatters any strategy that trades frequently.
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
- Historical options data is end-of-day aggregates, so intraday paths within a day are not available.
- A study over a long window covers contracts that have since expired; survivorship and roll choices change the result.
- Backward-looking results are not evidence about forward returns.
Related demos
- Judging whether options are expensive using volatility history
- MU option volume against its 90-day average, as a heatmap
- Today’s action on MU and SNDK against their own history
Search focus: call spread backtest 30 dte. Related: monthly options strategy backtest, spy call spread historical performance. Originally posted on X.