Methodology: how we calculate signals and results
A backtest is only as good as its methodology. This page explains what we do, how we check it and what its limitations are, so that you can judge it for yourself.
Data
- Prices: daily closes adjusted for dividends and splits (total return) of US-listed ETFs.
- Frequency: we convert to month-end closes (last business day).
- Latest monthly close included: September 30, 2026. Latest data downloaded: October 16, 2026.
- We only publish derived results (signals and strategy returns), never third-party price series.
How the strategies are calculated
The rules follow the original papers:
- HAA Balanced: Keller and Keuning (2023), SSRN 4346906. TIP canary; 8 offensive assets (SPY, IWM, VWO, VEA, VNQ, DBC, IEF, TLT); the 4 with the highest momentum are selected; any with non-positive momentum is replaced by BIL or IEF (whichever has the higher momentum); momentum = average of the 1, 3, 6 and 12-month returns.
- BAA-G12: Keller and Keuning (2022), SSRN 4166845. Canaries SPY, VWO, VEA, BND with 13612W momentum (weights 12, 4, 2, 1; the mode switches if any is negative); ranking by price/SMA(12) − 1; the best 6 of 12 offensive assets or the best 3 of 7 defensive ones (with substitution by BIL).
- Dual Momentum (GEM): Antonacci (2014). Comparison of 12-month returns between SPY, ACWX (as a proxy for international equities) and BIL; aggregate bonds (AGG) if SPY does not beat BIL.
- Permanent Portfolio: 25% each in SPY, TLT, GLD and BIL, rebalanced annually in December.
- 60/40: 60% SPY and 40% IEF, rebalanced annually in December.
Simulated execution
- The signal is calculated with the close of the last business day of the month and the portfolio is held through the following month (execution at the close is assumed, as in the papers).
- Costs: 0.1% of the amount traded on every purchase or sale (the same assumption as the papers). The comparison tool and the simulator let you change it and add the annual fund cost.
- No taxes. All results are before taxes.
- Risk-free rate for the Sharpe ratio: BIL's monthly return.
- Turnover = total purchases in the year (half the sum of absolute weight changes).
Checks against the papers
We replicate the papers' periods to verify that the engine applies the rules correctly. For HAA Balanced, over December 2012 – December 2022 the paper reports 8.5% a year and a maximum drawdown of -6.4%; our replication gives 8.6% and -6.4%. For BAA-G12 the HAA paper reports 7.1% and -7.7% over that period; we get 6.6% and -7.5%.
Limitations you should know about
- Short history with ETFs. Data for all the ETFs only exists from 2007-2008. The papers use decades more, with adjusted indices; their long-run figures are less reliable.
- Data snooping. The papers' rules were designed with knowledge of the past. The only clean test is the period after their publication, which we show and keep updated.
- Real-world execution. Trading exactly at the close of the last business day is hard; trading the next day changes the results.
- Your fund may differ from the US-listed ETF. If you hold equivalent funds listed elsewhere (for example UCITS ETFs in Europe), currency, index and tax treatment differ and real results will be different.
- No taxes or inflation. Returns are nominal and before taxes.
- The past does not guarantee the future. These strategies can go years returning less than a passive portfolio.
Live tracking
To prevent after-the-fact tweaking, we log each month's signal on the day it is published and measure its subsequent performance. It is on the tracking page.
Updates and corrections
Signals are recalculated at each month-end close. If you find an error, write to us from the contact page: we will publish the correction and note it here.
Independence
The site is funded by advertising. We are not paid to include or favour any product, and the strategy rules are those of their original authors, not ours.