Backtested research example
🗓 Backtest period: 2020-01-01..2026-07-15
Spec ID: spec-multitimeframe-momentum-us-stocks-1783167355_v5 · Generated: 2026-07-09 21:57 UTC
Cluster: Momentum · Sub Cluster: Weekly-Daily Trend Alignment
Long-only US large-cap momentum strategy that enters stocks only when daily and completed-week trend filters are both bullish. Positions are ATR-risk-sized, capped per name, and exited on trend deterioration, trailing stop, or max holding age.
The strategy attempts to capture medium-term equity trend persistence while reducing false positives by requiring agreement across two horizons. Daily signals react to recent price strength, while completed weekly signals impose a slower trend filter intended to avoid buying short-lived rebounds.
The structural rationale is that large-cap winners can continue to trend due to institutional flows, benchmark rebalancing, underreaction, and gradual information diffusion. ATR-based sizing normalizes position risk across names, and trailing stops seek to truncate left-tail losses while allowing persistent trends to compound.
[code omitted from public view]
| Param | Value | Notes |
|---|---|---|
| Rule type | MULTI_TIMEFRAME_TREND_MOMENTUM |
Long-only trend-following rule using daily and weekly filters |
| Universe | 20 US stocks | Top capitalization-style universe from supplied symbols, including AAPL, MSFT, NVDA, AMZN, GOOG/GOOGL, BRK classes, etc. |
| Backtest window | 2020-01-01..2026-07-15 | Requested backtest interval; supplied data period is 2018-01-01..2023-01-01 |
| Bar / rebalance | Daily / close | Signals and trades evaluated on daily bars at close |
| Daily trend | SMA20 > SMA50, close > SMA20, SMA20 5-day slope > 0 | All daily bullish conditions required |
| Weekly trend | Weekly SMA20 > SMA50, weekly close > SMA20, SMA20 4-week slope > 0 | Uses completed weekly bars only, Friday week close from last available daily close |
| Liquidity filter | 20-day average dollar volume >= $10,000,000 | Skip signals failing liquidity threshold |
| Position sizing | ATR volatility-adjusted | 14-day ATR, target 1% risk per position, max 10% equity per position |
| Exits | Trend break, 3.0x ATR trailing stop, or 126 trading days | Exit if daily or weekly trend is no longer bullish |
| Leverage | Max 4.0x | Portfolio-level leverage cap |
| Costs | $0.004/share, $1 min/order, max commission 1%, 0 bps slippage | No modeled slippage; commissions included as specified |
| Missing data | Skip affected trades/signals | No synthetic execution prices allowed |
| # | Concern | Status |
|---|---|---|
| 1 | Weekly signal look-ahead | Uses completed weekly bars only; current incomplete week is excluded |
| 2 | Same-close signal/execution timing | Signals use close data and execute at close, which may be optimistic unless modeled as market-on-close availability |
| 3 | Universe survivorship bias | Universe appears fixed from supplied symbols; survivorship and historical index membership should be reviewed |
| 4 | Corporate actions and adjusted prices | Requires confirmation that closes/highs/lows are consistently adjusted for splits and dividends where appropriate |
| 5 | Liquidity and capacity | Dollar-volume filter is present, but slippage is set to 0 bps, likely understating implementation cost |
| 6 | Data coverage mismatch | Requested backtest extends beyond supplied data end date; effective tested interval should be verified |
The backtest shows positive but moderate risk-adjusted performance: total return was 64.87% with Sharpe 0.80, Sortino 0.92, and Calmar 0.59. Max drawdown was -13.57% with 12.43% volatility, while the low win rate of 36.09% was offset by a profit factor of 1.55 and larger average wins than losses across 1,330 trades. Overall, the results are directionally consistent with a trend-following profile, but robustness depends heavily on timing assumptions, universe construction, and realistic slippage treatment.
| Metric | Value |
|---|---|
| Total Return | 64.87% |
| Sharpe | 0.80 |
| Sortino | 0.92 |
| Calmar | 0.59 |
| Max Drawdown | -13.57% |
| Volatility | 12.43% |
| Win Rate | 36.09% |
| Profit Factor | 1.55 |
| Total Trades | 1330 |
| Symbols | 20 (AAPL, ACON, AMZN, BETR, BRK-A, BRK-B, GOODO, GOOG, GOOGL, HOLO, +10 more) |
Backtests are historical simulations for research purposes only. They are not investment advice and do not guarantee future performance.