Backtested research example
🗓 Backtest period: 2020-01-01..2026-07-01
Spec ID: spec-multitimeframe-momentum-us-stocks-1783167355_v8 · Generated: 2026-07-10 09:52 UTC
Cluster: Momentum · Sub Cluster: Weekly-Daily Trend Alignment
Long-only US large-cap momentum strategy that buys stocks only when daily and completed-week trend filters are simultaneously bullish. Positions are ATR-sized, capped per name, and exited on trend deterioration, trailing stop, or max holding age.
The hypothesis is that persistent equity trends are more robust when short/intermediate daily momentum is confirmed by a slower weekly trend regime. Requiring both horizons to agree attempts to avoid low-quality breakouts and whipsaw periods while retaining exposure to large-cap winners with institutional sponsorship.
The structural rationale is behavioral and flow-based: investors underreact to improving price trends, trend-following and benchmark-relative flows can reinforce moves, and large liquid stocks can sustain multi-week momentum. ATR-based sizing normalizes risk across names, while the trailing stop and trend exits aim to cut failed trends before they dominate portfolio risk.
[code omitted from public view]
| Param | Value | Notes |
|---|---|---|
| Rule type | MULTI_TIMEFRAME_TREND_MOMENTUM | Long-only trend-following momentum |
| Daily trend | SMA20 > SMA50, close > SMA20, SMA20 5-day slope > 0 | Daily confirmation filter |
| Weekly trend | SMA20w > SMA50w, weekly close > SMA20w, SMA20w 4-week slope > 0 | Uses completed Friday-resampled weeks only |
| Entry liquidity | 20-day average dollar volume >= $10,000,000 | Skip illiquid names |
| Position sizing | ATR volatility adjusted | Risk target 1% of equity per position |
| Position cap | 10% of equity per symbol | Before leverage constraints |
| Max leverage | 4.0x | Portfolio-level cap |
| Exit rules | Trend failure, 3.0x ATR trailing stop, or 126 max holding days | ATR period is 14 days |
| Rebalance | Daily at close | Signals and execution use close-based data |
| Universe | 20 US stocks, top-cap filtered list | Includes AAPL, AMZN, BRK share classes, GOOG/GOOGL, MSFT, NVDA, TSLA, and others |
| Backtest interval | 2020-01-01 to 2026-07-01 | Available data period shown as 2018-01-01 to 2023-01-01 in the run context |
| Costs | $0.004/share commission, $1 minimum/order, max commission 0.01%, 0 bps slippage | Slippage assumption is optimistic |
| # | Concern | Status |
|---|---|---|
| 1 | Weekly signal may use incomplete current week | Mitigated by use_completed_week_only=true and Friday completed-week resampling |
| 2 | Close-to-close execution can use same close as signal | Needs careful implementation; if signal and fill both occur at the same close, results may be optimistic unless orders are modeled as MOC submitted before close |
| 3 | Universe selection by current top capitalization can introduce survivorship/look-ahead bias | Requires point-in-time universe construction; provided symbol list appears static |
| 4 | Corporate actions and share-class handling | Must use split/dividend-adjusted prices and consistent identifiers for BRK-A/BRK-B, GOOG/GOOGL, etc. |
| 5 | Missing data and stale prices | Policy skips trades/signals when required inputs are missing; still audit sparse symbols and halted names |
| 6 | Transaction costs and market impact | Commissions included, but slippage is set to 0 bps, which likely understates implementation drag |
The backtest produced a 64.29% total return with a Sharpe of 0.80, Sortino of 0.92, and Calmar of 0.59. Max drawdown was -13.57% with 12.43% volatility, indicating moderate risk-adjusted performance rather than an unusually strong standalone anomaly. The win rate was low at 36.05%, but the profit factor of 1.55 and larger average wins than losses suggest the edge came from asymmetric trend capture across 1,326 trades. Results should be interpreted cautiously given the static universe, zero-slippage assumption, and date/data-period ambiguity.
| Metric | Value |
|---|---|
| Total Return | 64.29% |
| Sharpe | 0.80 |
| Sortino | 0.92 |
| Calmar | 0.59 |
| Max Drawdown | -13.57% |
| Volatility | 12.43% |
| Win Rate | 36.05% |
| Profit Factor | 1.55 |
| Total Trades | 1326 |
| 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.