AQAI QuantAI research lab for systematic strategies

Case study · Backtest

Weekly-Daily Trend Alignment Momentum for US Large-Cap Stocks

MULTI_TIMEFRAME_TREND_MOMENTUM
momentummulti-timeframetrend-followingweekly-daily-alignmentus-stockslarge-cap

🗓 Backtest period: 2018-01-01..2023-01-01

Jan 2018Total 32.5%Dec 2022
Max DD -11.5%

Backtest metrics

Sharpe
0.72
Total Return
32.5%
Max Drawdown
-11.5%
CAGR
5.8%
Volatility
9.0%
Beta vs SPY
0.15
Trades
1,064

Strategy Card

Weekly-Daily Trend Alignment Momentum for US Large-Cap Stocks — strategy card

Spec ID: spec-multitimeframe-momentum-us-stocks-1783167355 · Generated: 2026-08-19 10:25 UTC

Cluster: Momentum · Sub Cluster: Weekly-Daily Trend Alignment

One-line description

The strategy holds liquid US large-cap stocks only when completed-week and daily moving-average trends are simultaneously bullish. Positions are ATR-sized and exit on trend failure, a 3-ATR trailing stop, or a 126-trading-day holding limit.

Why this trade exists

Price trends can persist because investors adjust gradually to information, institutional portfolios rebalance incrementally, and market participants herd or underreact. Requiring agreement between weekly and daily trends seeks to participate in sustained advances while filtering short-lived daily signals that conflict with the slower regime.

ATR-based sizing and trailing exits attempt to normalize risk across stocks with different volatility and reduce exposure when an established trend reverses. The approach accepts frequent small losing trades in exchange for retaining fewer, larger winners.

Algorithm

[code omitted from public view]

Parameters

Param Value Notes
Direction Long only Requires bullish weekly and daily trends
Daily fast / slow SMA 20 / 50 days Fast SMA must exceed slow SMA
Daily fast-SMA slope 5 days, positive Close must also exceed fast SMA
Weekly fast / slow SMA 20 / 50 weeks Constructed from Friday-ending weeks
Weekly fast-SMA slope 4 weeks, positive Weekly close must exceed fast SMA
Weekly data timing Completed weeks only Last available daily close is the weekly close
Liquidity threshold $10 million Minimum 20-day average dollar volume
ATR period 14 days Used for sizing and trailing exits
Trailing stop 3.0 × ATR Applied to open positions
Target risk 1% per position ATR-volatility-adjusted sizing
Position cap 10% of portfolio Per-symbol maximum
Maximum leverage 4.0× Portfolio leverage ceiling
Maximum holding period 126 trading days Time-based exit
Rebalance / execution Daily at close Platform market-on-close convention
Universe Fixed 20 US stocks Labeled top 20 by capitalization; includes multiple share classes and several atypical constituents
Backtest window 2018-01-01 to 2023-01-01 Daily bars; no walk-forward analysis
Commission $0.004/share; $1 minimum Maximum commission is 1% of order value
Slippage 0 bps No market-impact allowance
Missing data Skip signal or trade Synthetic execution prices are prohibited

Look-ahead audit

# Concern Status
1 Daily close, high, low, or volume used with same-day open execution Pass — execution is at the same-day close under the platform's market-on-close convention
2 Incomplete weekly bars entering weekly indicators Pass — only completed Friday-ending weeks are used
3 Rolling SMA, slope, ATR, and liquidity windows using future observations Pass by specification — all windows are trailing; implementation should retain chronological sorting
4 Fixed top-cap universe selected with information unavailable at the historical date Review required — constituent selection date and point-in-time ranking are not documented
5 Corporate actions, delistings, and missing-price handling Partial — missing inputs are skipped, but point-in-time membership and adjustment quality are not established

Caveats / known limitations

Results

The backtest produced a 32.52% total return with a 0.72 Sharpe ratio, 8.99% volatility, and an 11.51% maximum drawdown. Beta versus SPY was low at 0.15. Across 1,064 trades, the 38.16% win rate and 1.52 profit factor fit a trend-following payoff profile in which relatively few larger gains offset more frequent losses. These figures are encouraging but remain sensitive to the unresolved universe construction, the single test window, and zero assumed slippage.

Run diagnostics

Recomputed here from the run's stored daily returns, because every annualized figure in the table above is derived from the LENGTH of that array (years = n / 252). Only total return and max drawdown do not depend on the row count, so when the recomputed and stored values differ by a common factor, those two are the numbers to trust.

Check From the run's own returns Note
Daily-return rows 1,259 1.00x the 1,260 trading days in 2018-01-01..2023-01-01
Distinct dates 1,259 one row per date
Date span 2018-01-02 .. 2022-12-30
Sum of daily returns 32.52% matches the reported total return
Sharpe from these rows 0.72 stored 0.72
Volatility from these rows 8.99% stored 8.99%
Max drawdown from these rows -11.51% stored -11.51%
CAGR from these rows 5.80% stored 5.80%

Backtest metrics snapshot

Metric Value
Total Return 32.52%
Sharpe 0.72
Sortino 0.72
Calmar 0.50
Max Drawdown -11.51%
Volatility 8.99%
Beta vs SPY 0.15
Win Rate 38.16%
Profit Factor 1.52
Total Trades 1064
Symbols 20 (AAPL, ACON, AMZN, BETR, BRK-A, BRK-B, GOODO, GOOG, GOOGL, HOLO, +10 more)