Backtested research example
🗓 Backtest period: 2020-01-01..2026-07-15
Spec ID: spec-multitimeframe-momentum-us-stocks-1783167355_v6 · Generated: 2026-07-10 05:58 UTC
Cluster: Momentum · Sub Cluster: Weekly Daily Trend Alignment
Long-only US stock momentum strategy that buys liquid large-cap names when both daily and completed-week trend filters are bullish. Positions are ATR-risk-sized, capped per name, and exited on trend deterioration, trailing stop, or maximum holding period.
The strategy attempts to capture medium-term trend persistence by requiring agreement across two timeframes: a shorter daily trend and a slower weekly trend. The premise is that stocks with synchronized daily and weekly upside momentum may benefit from institutional flows, delayed information diffusion, and behavioral underreaction.
The completed-week filter is intended to reduce noise and avoid reacting to unfinished weekly bars, while the daily filter provides timelier entry and exit control. ATR-based sizing and trailing stops seek to normalize risk across names with different volatility profiles.
[code omitted from public view]
| Param | Value | Notes |
|---|---|---|
| Rule type | MULTI_TIMEFRAME_TREND_MOMENTUM |
Long-only trend-following rule |
| Universe | Top 20 US stocks by capitalization | Symbols include AAPL, AMZN, BRK-A, BRK-B, GOOG, GOOGL, JPM, MSFT, NVDA, TSLA, and others |
| Backtest window | 2020-01-01 to 2026-07-15 | Supplied plan; available data period shown as 2018-01-01 to 2023-01-01 |
| Bar / rebalance | Daily bars, rebalance at close | Signals and execution both use close-based daily data |
| Daily trend | 20-day SMA > 50-day SMA; close > 20-day SMA; 20-day SMA slope over 5 days positive | Daily confirmation layer |
| Weekly trend | 20-week SMA > 50-week SMA; weekly close > 20-week SMA; 20-week SMA slope over 4 weeks positive | Weekly confirmation layer |
| Weekly resampling | Daily-to-weekly, Friday close, completed weeks only | Avoids incomplete weekly bar usage |
| Liquidity filter | 20-day average dollar volume >= $10,000,000 | Entry filter only |
| Position sizing | ATR volatility-adjusted | 1% target risk per position using 14-day ATR |
| Position cap | 10% of equity per symbol | Limits single-name concentration |
| Max leverage | 4.0x | Gross exposure cap |
| Exit rules | Trend failure, 3.0x ATR trailing stop, or 126-day max hold | Multiple exit triggers |
| Costs | $0.004/share commission, $1 minimum order, 1% max commission, 0 bps slippage | Slippage assumption is optimistic |
| # | Concern | Status |
|---|---|---|
| 1 | Weekly trend uses incomplete week data | Mitigated by use_completed_week_only=true and Friday completed-week resampling |
| 2 | Same-close signal and execution | Requires care: if indicators use the same close as execution price, live implementation may need next-bar execution or closing auction modeling |
| 3 | Survivorship bias in top-cap universe | Needs verification that universe membership is point-in-time rather than current constituents applied historically |
| 4 | Corporate actions and adjusted prices | Must confirm split/dividend adjustments are consistently applied to close/high/low and volume-derived fields |
| 5 | Data-period mismatch | Backtest interval extends beyond the stated available data end date, so effective tested dates should be verified |
| 6 | Transaction cost realism | Commission modeled, but slippage is 0 bps; market impact and close-auction liquidity are not stress-tested |
The backtest produced a positive total return of 64.88% with a Sharpe ratio of 0.80, Sortino of 0.92, and maximum drawdown of -13.57%. The profit factor of 1.55 and win rate of 36.09% are consistent with a trend-following profile: many losing or flat trades offset by larger winners. Results are directionally encouraging but should be interpreted with caution given the concentrated universe, zero-slippage assumption, and the apparent mismatch between the requested backtest interval and stated data availability.
| Metric | Value |
|---|---|
| Total Return | 64.88% |
| 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.