Entry
- At the end of each month: compute the 12-month return for each candidate (e.g. S&P 500, MSCI EAFE, bonds)
- Pick the equity asset with the highest return (relative momentum)
- Check: is its 12M return > the T-bill return? (absolute momentum)
- If yes -> 100% into the equity asset; if no -> 100% into aggregate bonds
Exit
- Re-evaluate at month-end - on a signal change, reallocate completely
| Name | Typ. value | Description |
|---|---|---|
| lookback_months | 12 | Window for the momentum ranking |
| rebalance | monthly | Frequency |
| universe_size | 2-3 equity indices + 1 bond | Antonacci uses S&P 500, MSCI EAFE, Barclays Agg |
Pros
- Very low trade frequency (2-3 trades/year)
- Clear binary signals, simple to code
- Drawdown substantially reduced vs. buy-and-hold
- Confirmed by a 215-year backtest
Cons
- Underperforms in V-shaped rebound rallies (re-enters too late)
- Endogenous risk: after a large drawdown it is stuck in 'safe' bonds and misses the bounce
- Operates at monthly granularity; misses intra-month moves
Core idea
Dual Momentum combines two classic effects:
- Relative momentum (Jegadeesh/Titman 1993): past winners beat past losers.
- Absolute momentum (time-series momentum): the asset must additionally have performed positively versus cash/bonds.
The idea: both filters together pull you out of bear markets in particular, because after deep drawdowns even the 'relative winner' is often still absolutely negative - then Dual Momentum moves into bonds and waits.
The GEM rule (Global Equities Momentum)
At month-end:
- Compute the 12-month return for S&P 500, MSCI EAFE (non-US equities) and aggregate bonds.
- Which equity asset has the higher 12M return? -> candidate.
- Is the candidate's 12M return > T-bills?
- Yes: 100% into the candidate equity.
- No: 100% into aggregate bonds.
The result: 2-3 trades per year, long holding phases, substantially reduced drawdown.
Why it works
The absolute-momentum filter is the key. In 2008 the relative winner was still strongly negative -> into bonds, missing the crash. In 2020 it flips quickly back into equities as soon as the macro trend turns. In the 1970s bear markets (long, grinding) it sat in bonds until the absolute filter turned.
Criticism
- V-shaped recoveries like March 2020 are captured poorly - by the time the 12M return turns positive again, a 30% rally is over.
- The monthly cadence is arbitrary; daily/weekly variants perform similarly or better.
- On pure US-equity history, GEM is barely superior to a simple 200-MA filter.
Relevance for Botty
Botty is a single-asset intraday bot - Dual Momentum in the original GEM format does not fit. The concept of the absolute filter is, however, valuable: only allow long trades when BTC's 30-day return is positive. This is a very simple rule that historically filters out long signals in downtrend regimes - exactly what Dual Momentum does at a coarser granularity.