A complete breakdown of how our quantitative momentum strategy works, from stock selection to portfolio construction.
This page explains our momentum strategy framework. You'll learn about the 85-stock universe we trade from, our proprietary momentum scoring system, how the QQQ market filter protects capital during downtrends, and how we construct and rebalance the portfolio daily. We also cover our trade execution process and portfolio construction methodology.
The EquiAlgo momentum strategy is a systematic, rules-based approach that identifies stocks with the strongest momentum characteristics and holds them in an equal-weight portfolio. The strategy operates on the empirical observation that stocks exhibiting strong momentum tend to continue outperforming in the near term.
The strategy trades from a curated universe of 85 stocks, carefully selected for their liquidity, volatility characteristics, and growth potential. These stocks span multiple sectors but are concentrated in areas with historically strong momentum characteristics.
The largest and most liquid tech stocks that drive market momentum.
Chip makers benefiting from AI, data centers, and device proliferation.
Companies disrupting traditional finance and digital assets.
Enterprise software and cloud infrastructure leaders.
Next-generation technologies including quantum, AI, and space.
Diversified holdings across healthcare, industrials, and consumer.
Each stock receives a composite momentum score from 0 to 100, calculated using our proprietary multi-factor algorithm. The algorithm analyzes multiple dimensions of momentum including price action, volume dynamics, trend structure, and relative performance.
Only stocks trading above their short-term exponential moving average are considered for scoring, automatically filtering out stocks in downtrends before they enter the ranking process.
Recent price performance and trend strength across multiple timeframes
Institutional buying patterns and volume confirmation signals
Technical structure and consistency of the underlying trend
Performance versus the broader market benchmark
The strategy uses QQQ (Nasdaq 100 ETF) as a market regime indicator. We check whether QQQ is trading above or below its 14-day simple moving average to determine if we're in a favorable environment for buying.
This filter helps avoid deploying capital during market corrections. When the market is falling, it's often better to preserve cash than to buy stocks that may continue declining with the broader market.
Important: The filter decision uses the previous day's closing price of QQQ, not the current day. This ensures we only use information that would have been available at the time of the decision, avoiding any look-ahead bias in the backtest.
The strategy uses a next-day execution model: signals are generated at market close and trades are executed at the following day's open. This ensures realistic backtesting without look-ahead bias and reflects how a real trader would implement these signals.
Stock is currently held and remains in the top rankings. The position is maintained, with shares adjusted up or down to return to equal weight.
Stock is not currently held but has entered the top rankings. A new position will be opened (subject to the market filter allowing buys).
Stock is currently held but has dropped out of the top rankings. The entire position will be sold regardless of whether the market filter allows buying.
Trades are executed in a specific order to ensure proper cash management and realistic order filling.
All EXIT signals are executed first, selling entire positions. This frees up cash that can be used for new entries and rebalancing. Exits always happen regardless of the market filter.
For KEEP positions that have grown above their target weight (due to outperformance), excess shares are sold to bring them back to equal weight. This generates additional cash for underweight positions.
If the market filter allows buying, we calculate how many shares are needed for each underweight KEEP position and each new ENTER position to reach target weight.
Available cash is distributed to positions based on how far they are from target weight. Positions furthest from target get priority. Any remaining cash after filling major shortfalls is distributed by adding single shares to the cheapest positions.
The portfolio uses equal-weight allocation, meaning each position receives an equal share of total portfolio value. With 10 positions, each stock gets approximately 10% of the portfolio. This approach provides diversification benefits and prevents over-concentration in any single stock.
Each day, we calculate the target dollar amount per position by dividing total portfolio value by the number of positions. We then calculate how many whole shares that buys at the current open price.
Strategy parameters are optimized to maximize the Calmar ratio, which is annualized return divided by maximum drawdown. This metric balances high returns with controlled risk, favoring strategies that make money without excessive volatility.
The algorithm's factor weights are optimized by testing tens of thousands of weight combinations. Each combination is backtested, and the weights producing the best Calmar ratio are selected.
We tested holding anywhere from 4 to 30 stocks, along with different minimum score thresholds (55 to 80). After extensive backtesting, 10 positions emerged as optimal, balancing concentration with diversification.
The QQQ moving average period is tested from 10 to 50 days. Shorter periods react faster but may whipsaw; longer periods are smoother but slower to respond.
Parameter optimization is performed on historical data and may not perfectly predict future performance. Markets change, and what worked in the past may not work as well going forward. We use the Calmar ratio rather than raw returns as the optimization target to balance performance with risk management. All backtested results are hypothetical and past performance is not indicative of future results.