Strategy Detail
Time-Series Momentum
Long when the past-year return (excluding the most recent month) is positive, short when it is negative. Rebalance monthly. The AQR-style trend-following rule, parameterized.
What It Does
Time-Series Momentum runs on a single contract at daily bars. Every rebalance_period_days daily closes, the strategy looks back lookback_days bars and measures the return between two points: the close skip_days bars ago, and the close skip_days + lookback_days bars ago. The skip window is there to step around short-term mean reversion that often shows up in the most recent few weeks.
- If that lookback return is positive and the side allows long, the strategy holds long for the next
rebalance_period_daysbars. - If the lookback return is negative and the side allows short, the strategy holds short.
- If the sign is filtered out by the side, the strategy sits flat until the next rebalance.
At each rebalance, the position is held into the next evaluation. There are no stops, no profit targets, no intra-period filters. The lookback sign is the only thing that decides where the position lives, and it only gets a vote every rebalance_period_days bars.
A bars-since-rebalance counter is incremented on every daily close. When it reaches the rebalance period, the strategy evaluates, flips if needed, resets the counter, and waits again.
Why It Works (Sometimes)
The 12-1 month formulation has a long published track record across futures markets. Moskowitz, Ooi and Pedersen documented it in equities, bonds, currencies, and commodities; AQR has run live versions of it for years. The mechanism is straightforward: assets that have been trending in one direction tend to keep doing so for a few more months on average, while the past month or so is dominated by short-term reversal noise that the skip window is meant to filter out.
The edge is slow, the variance is large, and the strategy can spend a year or more flat on its biggest loser while a fast reversal punishes the most recent rebalance. TSMOM blew up in 2018 when the late-year selloff caught long-side positioning, and again in early 2020 when the COVID drawdown reversed faster than the monthly rebalance could react. Those are not bugs in the rule; they are the price of using a slow signal in markets that occasionally move very fast.
Presets
Five presets ship out of the box, covering the canonical TSMOM variants:
- 12-1 Month TSMOM: the AQR canonical formulation. 252-day lookback, 21-day skip, 21-day rebalance, both sides.
- 12-1 Month Long Only: same window, long-only. Sits flat when the past-year return is negative instead of flipping short.
- 6-1 Month TSMOM: shorter 126-day lookback. Faster reactions, more whipsaws.
- 3-1 Month TSMOM: 63-day lookback. Closer to a short-term trend filter than a classic momentum signal.
- Weekly Rebalance 12-1: the same 12-1 lookback evaluated every 5 trading days. More turnover, less drift between sign change and position change.
Use the form to set your own lookback, skip, and rebalance window; the presets are starting points, not endpoints.
Best In
- Multi-month directional regimes. The same kind of trend environment that rewards moving-average crossovers tends to reward TSMOM too, with a slower reaction.
- Markets with persistent risk premia that show up in the past-year return. Equity indices and gold are reasonable defaults.
- Research where you want a clean, well-known trend baseline to compare a more sophisticated trend idea against.
Where It Struggles
- Fast reversals. The signal only updates at rebalance time, so a regime flip in the middle of a rebalance period rides the wrong side until the next evaluation.
- Range-bound markets. The lookback return keeps flipping signs near zero, producing a string of small whipsaw trades.
- Markets where the past month is itself the most informative window. The skip window throws that information away.
- Single-instrument runs. The published TSMOM track record relies on diversification across many uncorrelated futures; one contract has a much messier equity curve.
Possible Uses
- A control strategy when evaluating other trend ideas. Any setup whose returns track 12-1 TSMOM on the same contract is not adding much on top of the simplest published rule.
- A regime context layer for a faster strategy. Knowing the sign of the slow signal can help filter or scale a more active rule.
- A starting point for layered trend strategies. TSMOM combined with a volatility filter, or with a position-sizing rule based on lookback magnitude, often produces more usable equity curves than the bare rule does.
What It Does Not Do
- No stops, no targets, no time exit. Once a side is taken, it is held until the next rebalance regardless of how the position is doing.
- No multi-instrument averaging. Each backtest is a single contract; the canonical TSMOM benefit from holding many uncorrelated bets is out of scope here.
- No volatility-scaling of position size. The same
position_sizeapplies in calm and chaotic regimes. - No re-entry inside a rebalance period. Once a side is set, the next chance to change it is at the next evaluation.
Presets (5)
Named parameter bundles for this family. Pick one to see its parameters and pre-fill the New Backtest form. The form lets you adjust contract, date range, and capital before running.
Preset
12-1 Month TSMOM
The AQR formulation: 252-day lookback, skip the last 21 days, rebalance monthly. Takes both sides as the lookback sign flips.
Preset
12-1 Month Long Only
Same 12-1 window, but only takes long signals. Sits flat when the past-year return is negative.
Preset
6-1 Month TSMOM
Shorter 126-day lookback with the same one-month skip. Reacts faster to regime change, takes more whipsaws.
Preset
3-1 Month TSMOM
Fastest standard variant: 63-day lookback with a 21-day skip. Closer to a short-term trend filter than a classic momentum signal.
Preset
Weekly Rebalance 12-1
The 12-1 lookback evaluated every 5 trading days instead of monthly. More turnover, faster response to lookback sign flips.