Only short Nasdaq-100 momentum on 'risk-off' days (utilities vs SPY)
Keep your intraday Nasdaq-100 momentum bot, but only let it take short trades when utilities have been beating the S&P 500 (a classic risk-off signal).
What they did
AEY Capital took an existing Nasdaq-100 ETF intraday momentum strategy and added a regime filter decided on the prior close: the XLU/SPY ratio's change over the last few weeks, scored as a z-score against the past year. Above 0 means 'risk-off'. The idea comes from Gayed and Bilello's 2014 Dow Award paper on utilities as a leading signal. They tested 2007–2026.
How it went
Per the author: short trades on risk-on days averaged 0.00R (1,066 trades) versus +0.04R on risk-off days (1,044 trades). The short side was better on risk-off days in all four sub-periods and on three different data feeds, with p ≈ 0.02. Long trades were unaffected by the filter.
Sources:
Worth knowing
- +0.04R per trade is a small edge. Commissions and slippage can erase it, so test with realistic costs.
- 'The last few weeks' isn't an exact lookback. The [blanks] in the prompt are our guesses, not the author's settings.
- It's a filter for a strategy you already run, not a standalone system.
The prompt
Each evening after the close:
1. Compute the ratio XLU/SPY from daily closes.
2. Compute its [20]-day % change, then the z-score of that change versus the last [252] days.
3. If the z-score is above 0, tag tomorrow as RISK-OFF; otherwise RISK-ON. Tell me which.
Tomorrow, run my existing intraday momentum rules on [QQQ / NQ]: [paste my entry/exit rules].
- Long signals: allowed on any day.
- Short signals: allowed ONLY on RISK-OFF days. On RISK-ON days, log the short signal as 'skipped' and do not trade it.
Weekly report: shorts taken vs skipped, average R for each group, and costs paid.
SAFETY DEFAULTS (keep unless you deliberately change them):
- Use the PAPER trading account only. Never touch a live account.
- Before every order, show me: symbol, side, size, order type, limit price, stop, and the rule that triggered it. Then WAIT for my "approve".
- Hard limits: max [$500] per trade, max [3] open positions, stop all trading for the day after a loss of [$300].
- Log every signal, decision and fill to [a running log / spreadsheet] with timestamps.To go fully autonomous: (1) run on paper for at least [4–8 weeks] or [30+ trades]; (2) delete the 'WAIT for my approve' line and keep the hard limits; (3) switch to live keys or account. On Robinhood, turn off trade approvals in your agent settings, but note that some orders can still require in-app approval or acknowledging a pre-trade alert, so unattended execution isn't guaranteed for every order. On IBKR, standard AI Integration asks for approval on every order. Its new Autonomous Trading mode (eligible individual non-margin accounts, after 10 approved trades) lets the AI trade a funded AI Partition without per-order approval. Never remove the daily loss limit.