I. Two prices, two jobs
The signal and the return are computed from two different price series. The 200-day SMA comparison uses split-adjusted, not dividend-adjusted, closing prices — the same prices a live chart would show that day. The return calculation uses total-return prices, with dividends reinvested. The two series are never mixed: one tells you whether a sector is in trend, the other tells you what you actually earned.
II. Signal today, trade tomorrow
The signal is read at today’s close. Execution happens at the next session’s open — the price used for every trade in this strategy.
III. The band, not the line
The signal doesn’t flip the instant price crosses the 200-day average — it has to clear the line by more than 1% in either direction. Inside that band, the prior position holds. This keeps a sector hovering exactly on its average from flipping in and out on noise alone.
IV. Cash is a real rate, not an assumption
When a sector is out of the market, it earns the actual historical 3-month T-bill rate for that day, compounded daily — not a flat assumed number. Markets and rates both move; the model reflects both.
V. The headline number is drawdown, not return
Most individual sectors underperform their own buy-and-hold on raw return once the signal is applied. What the signal is built to deliver is drawdown reduction.
The model’s value is concentrated there, not in outrunning the market on return.
VI. Drawdown is measured daily, never monthly
Every drawdown figure on this site — strategy and buy-and-hold alike — is computed from the daily price series, never resampled to monthly. Monthly sampling only sees the worst month-end-to-month-end decline; it skips over the worst day-to-day trough inside any given month, which can understate true maximum drawdown by several percentage points.
VII. Sharpe ratio, defined out loud
A Sharpe ratio is annualized return divided by annualized volatility — but some publishers compute it as annualized excess return (return minus the cash rate) divided by volatility, a meaningfully different number from the same underlying series.
We use the first definition throughout, cash rate not subtracted. Any Sharpe comparison across publications is only meaningful once both sides confirm they’re using the same formula.
VIII. Log returns vs. simple returns — both, on purpose
Daily and weekly returns are reported as log returns, because log returns add cleanly across time: five daily log returns sum exactly to the weekly log return. But averaging across the 11 sector sleeves into a single portfolio figure has to use simple returns — log returns can’t be averaged across holdings — and only after that cross-sectional average is taken does the result convert back to log for the time series.
IX. Splitting outperformance into two additive pieces
Any week’s outperformance over the cap-weight benchmark splits cleanly into two pieces, in log returns, with no leftover residual:
EW-Hold is a synthetic equal-weight portfolio — all sectors invested, no timing signal applied — that isolates how much of a week came from spreading risk evenly across sectors versus from the 200-day signal moving sleeves into and out of cash.
X. The day a sector trades isn’t a normal day
On the day a sector enters or exits the portfolio, the return isn’t the usual close-to-close — it’s a stub, and it’s computed as a simple return rather than log. Simple returns are what the cross-sectional average across the 11 sleeves requires (Section IX above); the portfolio-level result is converted to log afterward for time-series reporting.
Stub days also get a dividend check: if a sector goes ex-dividend on that exact day, the usual total-return adjustment doesn’t apply cleanly to a partial day, so those days are flagged for separate review rather than folded silently into the formula above.
XI. A point-in-time universe
Equal weight doesn’t wait for all 11 sector ETFs to exist. The portfolio is equal-weighted across the 9 original sector SPDRs starting in October 1999, becomes 10 sectors when XLRE (Real Estate) lists in July 2016, and 11 when XLC (Communication Services) lists in April 2019. At every point in time, weight is equal among whatever sectors are currently listed — about 9.1% each once all eleven exist (11.1% each in the original 9-sector era, 10% each in the 10-sector era).
XII. No data mining
The 200-day window, the 1% band, equal weighting, and the monthly rebalance were each chosen for an independent rationale before any backtest was run on this data — none were selected by testing a range of values and keeping the best-looking one.
— John