Strategies · Classic rules
Dual momentum
Own whichever of US or international stocks has done better over the past year, but only if stocks as a whole beat cash; otherwise hold bonds. Relative momentum picks the leader, absolute momentum keeps you out of long bear markets.
Pre-registered Sep 26, 2026, before it was tested. Results computed Sep 26, 2026.
Hypothetical backtest; not investment advice; paper trading only.Past results, real or simulated, do not predict future ones. ARCANE places no live orders from this page.
The rule
Trades on the first trading day of each monthMonthly: if the S&P 500’s 12-month return beats T-bills’ (BIL), hold the better of SPY and developed international stocks (EFA) over 12 months; otherwise hold the US bond market (AGG).
Where the numbers came from. Antonacci’s published rule (2014), with Composer’s fifteen-function vocabulary; 252 trading days is a year.
- Hold what is below
- If the 252-day return of SPY is greater than the 252-day return of BIL
- then: Keep the top 1 of 2 blocks by 252-day return
- Hold SPY
- Hold EFA
- Otherwise
- Hold AGG
As text
symphony "Dual momentum"
description "The stronger of US and international stocks, while stocks beat cash; bonds otherwise."
rebalance monthly
benchmark SPY
weight equal
if cumulative-return(SPY, 252) > cumulative-return(BIL, 252)
filter top 1 by cumulative-return(%, 252)
asset SPY
asset EFA
else
asset AGG
How it would have done
Jun 3, 2008 to Sep 25, 2026, against SPYThe whole history
39 tradesA year
+8.7%
Annualized return
In all
+357%
Jun 3, 2008 to Sep 25, 2026
Sharpe
0.61
Return per unit of risk
Worst fall
−34%
Max drawdown
Swings
16%
Volatility, a year
Beta
0.58
To the benchmark
Each decision reads closing prices up to that day and trades at the next day’s close. It trades on the first trading day of each month. Costs: 5 bp of slippage on every trade and 0.3 bp of fees on sales. Uninvested cash earns nothing. Hypothetical: no real orders were placed.
- Growth of $1
- SPY, held
- Held-out period
What it held: SPY 64% of the time; AGG 18% of the time; EFA 18% of the time.
In sample and the sealed holdout
The holdout was set before the preset was tested, and opened once| Measure | In sample Jun 3, 2008 – Sep 24, 2021 | Sealed holdout Sep 27, 2021 – Sep 25, 2026 |
|---|---|---|
| Annualized return | +8.5% | +9.2% |
| Sharpe ratio | 0.59 | 0.65 |
| Sortino ratio | 0.80 | 0.93 |
| Max drawdown | 33.7% | 20.5% |
| Calmar ratio | 0.25 | 0.45 |
| Volatility | 15.9% | 15.4% |
| Alpha against the benchmark | +2.4% | −0.1% |
| Beta | 0.54 | 0.73 |
| Correlation | 0.70 | 0.81 |
| Winning days | 55% | 53% |
| Turnover a year | 2.1× | 2.0× |
| Chance the Sharpe is above zero | 98% | 93% |
Is it real?
Checked on the in-sample window only- Overfitting: Likely overfit
- No clear edge over its benchmark
The result depends on the exact numbers chosen, or does not beat what luck would produce.
- After counting 8 backtests of this idea, the out-of-sample Sharpe still clears the bar luck would set (deflated Sharpe 0.97).
- The best version in one half of history usually lands in the bottom half of the other (probability of overfitting 63%).
- Against SPY the difference (−4.0% a year) is within what luck produces (16% chance it truly beats it).
| Backtests counted | 8 |
| Deflated Sharpe ratio (0.95 is the house bar) | 0.97 |
| Probability of backtest overfitting (20% is the house ceiling) | 63% |
| Walk-forward Sharpe (choosing, then testing) | 0.66 |
| Walk-forward Sharpe with costs doubled | 0.65 |
| Extra return a year against SPY | −4.0% |
The nudged versions (7)
| Change | Sharpe |
|---|---|
| 252-day return of SPY: window → 189 | 0.48 |
| 252-day return of SPY: window → 315 | 0.64 |
| 252-day return of BIL: window → 189 | 0.59 |
| 252-day return of BIL: window → 315 | 0.56 |
| filter sort (252-day return of each block): window → 189 | 0.56 |
| filter sort (252-day return of each block): window → 315 | 0.59 |
| filter keeps 1 → 2 | 0.51 |
The house backtest gate
It does not pass. A strategy needs every one of these before ARCANE would paper-trade it.
| Check | Value | Needs | Result |
|---|---|---|---|
| Evaluation ran without problems | clean | no problems | Passed |
| Report belongs to this pre-registration | dual-momentum | dual-momentum | Passed |
| Evaluated only inside the pre-registered data window (holdout untouched) | 2008-08-28..2021-09-24 | within 2008-06-02..2021-09-24 | Passed |
| Walk-forward folds | 10.000 | >= 3 | Passed |
| Out-of-sample observations | 2520.000 | >= 252 | Passed |
| Deflated Sharpe ratio (8 trials counted) | 0.966 | >= 0.95 | Passed |
| Probability of backtest overfitting | 0.628 | <= 0.2 | Failed |
| Out-of-sample Sharpe (annual, after costs) | 0.665 | >= 0.5 | Passed |
| Out-of-sample maximum drawdown | 0.337 | <= 0.25 | Failed |
| Sharpe with doubled costs | 0.652 | > 0 (needs a turnover series) | Passed |
| Sealed holdout: positive and not clearly worse than the backtest | mean 0.000396, consistent | mean > 0 and consistent | Passed |
The pre-registration
Written before the backtest; changing any of it makes a new variant- Claim
- Antonacci’s dual momentum over SPY, EFA, BIL and AGG, rebalanced monthly, beats SPY buy-and-hold on Sharpe after 5 bp costs over the sealed holdout.
- Why the edge should exist
- Momentum across asset classes persists for months because capital moves slowly between them; the absolute filter avoids holding stocks through long declines.
- Where it comes from
- behavioral
- Who is on the other side
- Investors who rebalance to fixed weights and so sell winners and buy losers.
- Why it is not arbitraged away
- Monthly, crowded and long-horizon: it lags in sharp reversals and whipsaws, which few managers can tolerate against a benchmark.
- Universe
- AGG, BIL, EFA, SPY
- In-sample window
- Jun 2, 2008 to Sep 24, 2021
- Sealed holdout
- Sep 27, 2021 to Sep 25, 2026
- Evaluation
- walk-forward, on sharpe, against SPY buy and hold; 13 variants planned
- Costs
- 5 bp slippage a trade, no commission
- Capacity
- $5,000,000: SPY, EFA, BIL and AGG are highly liquid.
- What stops it
- Paper Sharpe significantly below the backtest after 12 monthly decisions.
The data
Each decision reads closing prices up to that day and trades at the next day’s close. It trades on the first trading day of each month. Costs: 5 bp of slippage on every trade and 0.3 bp of fees on sales. Uninvested cash earns nothing. Hypothetical: no real orders were placed.
- Prices
- Yahoo Finance (unofficial chart API): adjusted daily closes for AGG, BIL, EFA, SPY. Unofficial and not licensed for redistribution. A licensed vendor (Alpaca, Tiingo or Polygon) is a founder decision before the builder is sold.