Guide
Using the backtest form
Each field in the form (Simulator page) sets one input to the engine. Here is what each does.
- Risk asset universe The basket of assets the strategy rotates among each month, chosen from the menu. Each universe's composition and defaults are detailed on the Methodology page.
- Assets to hold How many of the basket to hold at once, equally weighted — the top 1 to 5 by momentum. Hold 1 and the strategy is always in a single asset; hold 3 and it spreads across the three strongest.
- Single absolute momentum This is the in/out switch, and its effect is easy to misread from the field name — read the option text, not the title. Yes takes the defensive decision on one fixed barometer (the Absolute momentum asset below): if that barometer is trending up the whole basket is held, otherwise the whole basket moves to the out-of-market asset. No (Antonacci's GEM) takes the decision on the selected top asset itself: you hold it only when its own momentum is positive, and the fixed barometer is ignored.
- Absolute momentum asset The fixed barometer used only in Yes mode above. In No mode it has no effect, and the field is hidden.
- Out-of-market asset What the strategy holds when the absolute-momentum filter turns negative — the defensive position. The default is cash (BIL); gold and bonds are also offered. Which defensive asset is the better choice is a question of substance, not mechanics — see How it works and the convictions behind the allocation for that.
- Benchmark comparison asset A point of confusion worth clearing up: this is the line drawn for visual comparison only — the Buy & Hold reference overlaid on the charts and tables. It is not the in/out threshold. The threshold the strategy measures momentum against is cash, fixed behind the scenes. Changing this field moves the comparison line; it does not change a single trade.
- Equity chart scale Cosmetic only — a linear or logarithmic Y axis on the equity curve. It changes nothing in the calculation.
- Lookback preset Over which past periods an asset's strength is measured — 1/3/6, 1/2/3 or 3/6/12 months — blended with fixed 33/33/34 weights. Shorter windows react faster and rotate more; longer windows are steadier.
The absolute-momentum barometer and the reference curve are always the broad index of the class (SPY for US equities, DBC for commodities, AGG for bonds, BTC for crypto); the out-of-market refuge is cash or gold.
Single-universe vs composite results. A single universe produces a page for one rotating basket. A composite (the 70/30) rotates two fixed-weight legs and shows one signal per leg; its six controls are then ignored.
Crypto — a backtest-only group. Crypto (Bitcoin, Bitcoin/Ethereum rotation): an exploratory testbed, short 1-2-3 lookback (crypto reverses trend too fast for the standard 1-3-6).
How the momentum score is computed
Each month, every candidate asset gets a single momentum score. The score is not one number from one period — it blends the asset's total return over several look-back windows. With the default preset (1-3-6) that is the return over the last 1, 3 and 6 months, each counting for roughly a third. Blending windows this way smooths out a single noisy month and rewards a trend that holds across the short and the medium term. (The other presets — 1-2-3 for faster-moving assets, 3-6-12 for slower ones — simply change which windows are averaged.)
Two filters then turn these scores into a decision:
- Relative momentum — rank the candidates by score and keep the strongest (the top one, for the live strategy). It answers: which asset is leading?
- Absolute momentum — check that the chosen asset is actually trending up against cash, not merely the least-bad of a falling group. If its momentum is below the cash threshold (Treasury bills), the strategy steps aside and holds cash instead. It answers: is it worth being invested at all?
The absolute filter is what lets the strategy sit out sustained declines: when nothing clears the cash bar, it waits in cash. Which asset the absolute check watches depends on the mode set by the form control — see the form section above. For why the out-of-market asset is cash, see Methodology.
Performance metrics
The key numbers, computed over the whole tested window.
- CAGR Compound Annual Growth Rate — the annualised, compounded growth rate over the full period. It measures how fast the portfolio grew, not how smoothly: two strategies with the same CAGR can have very different rides.
- Max Drawdown The worst peak-to-trough loss on record. This is the nerve test: how much you would have been down had you bought at the worst possible moment before a fall.
- CAGR / |Max Drawdown| The return-per-risk ratio used here as a Sharpe proxy. The higher it is, the more return the strategy generates per unit of worst loss endured. There is no stable risk-free rate across the 2016–2026 window, which is why this proxy is used rather than a textbook Sharpe.
- Benchmark Buy & Hold on the first risk asset of the universe (e.g. IWF for us-style), not necessarily SPY. It measures what the monthly rotation adds versus simply holding the asset and doing nothing.
All drawdowns on this site are measured on monthly closes, the strategy's native cadence; measured day by day they would look deeper.
Up / Down Capture
Two ratios that split the strategy's behaviour into the months when the benchmark rose and the months when it fell. Together they describe the shape of the returns, not just their size.
- Up Capture The fraction of the benchmark's gains captured while the benchmark is rising. Above 100% means the strategy does better than the benchmark in up-markets.
- Down Capture The fraction of the benchmark's losses suffered while the benchmark is falling. Below 100% means the strategy loses less in down-markets.
- The ideal profile High Up Capture and low Down Capture. Dual momentum typically aims for a Down Capture well below 100 — the absolute-momentum filter cuts prolonged declines — sometimes at the cost of a moderate Up Capture.
Equity curve
The value of a $10,000 portfolio reinvested from the start of the period, plotted month by month. Two series are drawn: the dual-momentum strategy (solid line) and the reference Buy & Hold (thin line). The scale toggle changes what is easy to read.
- Linear scale Absolute moves are comparable — a $1,000 gain always takes up the same height. Useful for seeing drawdown episodes in dollar terms.
- Logarithmic scale Percentages are comparable — a 10% gain always takes up the same height. More honest over long periods, where compounding distorts the linear scale.
Annual & Active Returns
The same returns seen calendar year by calendar year, first in absolute terms and then as the gap to the benchmark.
- Annual Returns Calendar-year return (Jan–Dec) of the strategy and the Buy & Hold, side by side. The current year is marked with an asterisk (it is still incomplete).
- Active Returns The yearly difference, strategy minus Buy & Hold. A positive bar means the strategy outperformed that year; a negative bar means it underperformed. Summed across the period, the active bars give the total extra return the strategy added (the cumulative "alpha").
Monthly Returns heatmap
A grid of 12 columns (months) by N rows (years). Each cell is the strategy's return for that month. Colour encodes sign — green for positive, red for negative — and intensity encodes magnitude.
Look for clusters: a recurring dark column suggests a seasonal pattern, a dark row a bad year, an isolated cell a one-off shock.
Drawdowns
Where the metrics give a single worst-loss figure, this section shows the full history of losses and the ten deepest episodes.
- Underwater curve For every month, the decline from the most recent peak. Zero means a fresh all-time high. A trough at −20% means the strategy was down 20% from its peak at that moment. The longer the curve stays below zero, the slower the recovery.
- Top 10 table The ten worst drawdown episodes. The key columns: Peak (date of the high before the fall), Trough (date of the low point), Recovery (date the portfolio returned to the peak — blank if not yet recovered), Depth (the episode's maximum loss), and Length (total peak → recovery duration in months).
Rolling Returns
An annualised return computed over a sliding window — 1, 3 or 5 years — moved month by month across the history. It is more honest than the single headline CAGR: it shows how many sub-periods were profitable, not just the final outcome.
An always-positive 3-year rolling return means no entry point lost money over three years; the min / median / max summary gives the distribution.
Current Signal & Trades
The bottom of the page is the strategy's present state and the rotations that produced the curve above.
- Current Signal The portfolio's state at the last computed month. For each risk asset, a momentum score (a weighted blend of 1-, 3- and 6-month returns). The asset with the highest score is selected — unless its absolute score is negative, in which case the strategy turns defensive ("Out of Market").
- Out of Market The strategy holds the defensive asset instead of a risk asset — for the production 70/30, cash (BIL) on both sleeves, equity and commodity alike. This is the absolute-momentum filter in action.
- Trades Each row is a monthly rotation. Columns: date, asset sold, asset bought, and the return of the incoming position's first month. The frequency of rotations signals the real friction cost (transaction fees) to watch in live trading.
Reading the future signal
The Compute Future signal button runs the same engine on live prices, treating the unfinished current month: it answers "what would the strategy hold now?" rather than "how did it perform?".
- Market state & fetched-at Whether the market is open, pre-market, after-hours or closed, and the timestamp of the prices used. They tell you how fresh and how settled the snapshot is.
- The signal The current momentum score for each asset, the decision (a risk asset, or Out of Market), and the asset that would be selected. This is provisional: the month is not closed, so the score — and the decision — can still change before the rotation date.
- Performance banner — held, not signalled The figures at the top (MTD = month-to-date, YTD = year-to-date) are the performance of what the strategy currently holds — the position from the last completed rotation — not the provisional signal shown below. The two can differ, and conflating them is the easy mistake: the banner is where you are, the signal is where you might go next.
- Snapshots used The live close used for each ticker, with its timestamp and source (and, for the life-insurance replicas, the matching contract fund and ISIN). This is the raw input the signal is computed from, shown so the number is auditable.
- Compute my orders Below the signal, a small calculator turns the target allocation into concrete buy / sell orders for accounts you trade by hand. You enter the amount you currently hold per line — it manipulates plain numbers, in any currency, and uses no live price — and it returns, per ticker, the order needed to reach the target. The total to rebalance is the sum of your entries (cash you want to put to work is just another line); for each ticker the target is weight × total and the order is target − held (positive = buy, negative = sell). A ticker you hold but the target dropped is sold to zero, and the defensive cash leg (BIL/SHY/GLD) is treated like any other line. It is client-side and never places an order — and it is hidden on the life-insurance replicas, where rebalancing happens inside the contract.
Treat it as a preview, not an instruction. It is a state computed from current data — useful for seeing the strategy lean before month-end — but it is not investment advice, and it is not final until the bar closes.
Why the backtest runs on US tickers
The strategy is a momentum strategy: each month it reads the recent trend of every asset and keeps only the ones still trending up. That reading is only as good as the price series it runs on — so it should run on the market where each exposure is actually priced. For US large-cap stocks, broad commodities, gold and Treasury bills, that market is the United States. The deepest volume and the most continuous trading sit there, so that is where the price is discovered and where the trend is cleanest. A thinly-traded local listing can lag, gap or wobble around the real move; the US series gives the truest read. In short, the US market sets the reference everything else tunes to, and the signal is most reliable when read from it.
This is not mainly about currency or trading hours. Yes, US prices are in dollars and US sessions close later than European ones — but neutralising those two points would not change the choice. Priced in euros and aligned to a European clock, the US series would still be the reference, because that is where the volume is.
You don't have to hold US tickers to follow the signal. The European UCITS equivalents track the same underlying exposures and are what you actually buy from Europe; the signal is simply read off the US reference series. The map from each US proxy to its UCITS equivalent (name and ISIN) is on Investing from Europe → European equivalents.
Every figure on the results page is computed on a single historical window (2016–2026). It describes how the strategy behaved in sample — not a guarantee that the same numbers hold across future market regimes.