Skip to content
All hypotheses

Hypotheses

Double-7s Portfolio (pinkfish, F. Aultman after Connors & Alvarez): Buy a 7-Day Closing Low Above the 200-SMA, Sell a 7-Day Closing High, Equal Weight Across SPY/QQQ/DIA/IWM, USEQ Daily Bars, Long-Only

A faithful statement of pinkfish's 'double-7s-portfolio' example (Farrell Aultman, MIT licence;…

Hypothesis

A faithful statement of pinkfish's 'double-7s-portfolio' example (Farrell Aultman, MIT licence; https://github.com/fja05680/pinkfish/blob/18a0d557ead25e0e82de3ece86bcab6c325a59ed/examples/portfolios/double-7s-portfolio/strategy.py). It applies Larry Connors and Cesar Alvarez's Double 7's rule from 'Short Term Strategies that Work' to a portfolio of ETFs. The rule is long-only mean reversion on daily closes: buy when an ETF closes at its 7-day closing low while it is above its 200-day SMA, and sell when it closes……Show moreShow less

A faithful statement of pinkfish's 'double-7s-portfolio' example (Farrell Aultman, MIT licence; https://github.com/fja05680/pinkfish/blob/18a0d557ead25e0e82de3ece86bcab6c325a59ed/examples/portfolios/double-7s-portfolio/strategy.py). It applies Larry Connors and Cesar Alvarez's Double 7's rule from 'Short Term Strategies that Work' to a portfolio of ETFs. The rule is long-only mean reversion on daily closes: buy when an ETF closes at its 7-day closing low while it is above its 200-day SMA, and sell when it closes at its 7-day closing high. The source was written for ETFs, so it goes on the zero-commission USEQ venue with DAILY bars, which have decades of history. The source takes the symbol list from the caller and does not hard-code one. We use the four broad US index ETFs Connors tested the rule on: SPY, QQQ, DIA and IWM. That is 4 names, within the ~10-name cap from lesson 173. The list is a fixed choice, but all four are index trackers that have existed and stayed liquid since 1993-2000, so there is no survivorship selection among single names. Default options, copied exactly from the source: period=7, stop_loss_pct=1.0 (the source reads this as 100%, so the stop sits at 0 and never fires; it stays in as a parameter), margin=1 (no leverage), use_regime_filter=True, use_vola_weight=False (equal weight 1/N), use_adj=False. use_adj cannot be honoured here: our USEQ prices are split-adjusted and dividends are not in PnL. That is a known, small deviation from the source, because it uses unadjusted closes and pinkfish's own accounting also leaves dividends out. Fee arithmetic: USEQ has zero commission, and ~0.02-0.05% round trip for spread and impact on these ETFs. Published Double-7s results on SPY show an average trade of roughly +0.6 to +1.0% gross over a 3-8 session hold. Even if half of that decays after publication (~0.4%), it is about 10x the cost. The expected lifetime trade count across 4 ETFs is ~8-12 trades per ETF per year over ~25 years, so about 800-1,100 trades. The strategy has a flat state. Each ETF is in the market about 25-35% of the time. The book is fully flat whenever no ETF is at a 7-day low above its 200-SMA, and it is also flat through bear regimes, when closes sit below the 200-SMA.

Analysis

double-7s-portfolio

Backtest and paper results are hypothetical. Trading involves risk of loss.