Release note
Our buy-and-hold benchmark was rebalanced every month. It is now bought once and held
Until 28 September, the benchmark behind "Did it beat buy-and-hold?" was not a buy-and-hold. The default benchmark, an equal-weight basket of your strategy's own symbols, was rebalanced back to equal weights at the start of every month, which sells the winners and tops up the losers. Simply holding the same names doesn't do that. Every buy-and-hold benchmark is now bought once on the first day and held to the end. If you compared a strategy on several symbols with its benchmark before 28 September, please run it again: the new run gives the corrected comparison, and old cached results are not reused.
What changed. The benchmark buys its symbols in equal parts on the first day of the test and never trades again, so the weights drift with prices, exactly as they would if you bought and held. On a total-return run each dividend is reinvested in the holding that paid it, on the same cost and tax basis as the strategy. The card names the benchmark exactly, for example "Equal-weight buy-and-hold of 4 names (bought once, weights drift)", and "How was this calculated?" and the reproduce download say how it was held.
How big the difference can be. Take an equal-weight basket of SPY and TLT over the 10 years to 25 September, before dividends and costs. Bought once and held, it returned 7.62% a year. The old monthly-rebalanced version returned 4.28% a year. With shares far ahead of bonds over that decade, the old benchmark understated the passive alternative by 3.3 percentage points a year, so strategies looked better against it than they were.
Which results are affected. The biggest changes are for strategies on several symbols compared with the default equal-weight benchmark, and for everything that depends on the benchmark: "Did it beat buy-and-hold?", excess return, alpha, beta and the capture ratios. When the benchmark is a single fund, such as SPY on its own, the monthly rebalance only reinvested idle cash, so those comparisons barely move. Goal search, the evidence explorer and Prove it used the same monthly basket and now buy once too. Prove it's buy-and-hold comparison had also been run on prices only against total-return strategies; it now uses the strategy's own basis.
Older results. Results from before the change keep their numbers, but where the default benchmark held several symbols it is now labelled "Equal weight of N names, rebalanced monthly", and the verdict asks "Did it beat its benchmark?" instead of "Did it beat buy-and-hold?". Our changelog entry of 26 September said the benchmark bought every symbol on the first day and held. That described what it was meant to do, not what ran, and this is the fix.
The one rebalanced benchmark. If you pick "50/50 SPY + TLT", it stays a stock and bond portfolio rebalanced monthly, which is what that kind of benchmark usually means. It is labelled "rebalanced monthly" everywhere and is never called buy-and-hold.
Also fixed on the card. The cost lines said 5 basis points of slippage and no commission, while the engine charged 1.0 basis point of slippage plus 0.5 of commission per side. The card, the reproduce download and saved strategies now read costs and taxes from the engine's own report of what it charged. And momentum prompts over sector ETFs, such as "each month hold the 3 ETFs with the best 12-month return", were read as a rotation holding the top 12; they now run as a 12-month momentum ranking holding the top 3.