Multi-Factor Composite Screening for Swing Trade Candidates

You scan 500 stocks every weekend. Momentum looks good on 40 of them. Another 30 pass your value filter. A dozen show strong quality metrics. But only 6 sit in the overlap of all three. Those 6 are your real watchlist. Multi-factor composite screening is the process that finds them without you eyeballing every chart.

I run a version of this screen every week. Three factors, one composite score per stock, sorted descending. The top decile gets charted. Everything else gets ignored. It takes about 20 minutes in a spreadsheet. The output is a shortlist where technical setups actually matter, because the underlying stock already passed a fundamental filter.

What Multi-Factor Composite Screening Actually Does

Single-factor screens are blunt instruments. A momentum screen returns stocks that moved the most. Some of those are garbage rallies in low-quality names. A value screen returns cheap stocks. Some of those are cheap for a reason. Quality screens return profitable companies. Some of those have already been priced to perfection.

A composite combines these factors into a single score. Each stock gets ranked on each factor independently. The ranks get combined, usually by simple addition or weighting. The result is one number that reflects a stock’s position across all dimensions simultaneously.

This idea has deep roots. The Fama-French three-factor model, published in 1993, showed that size and value explained stock returns beyond the market factor alone. Carhart added momentum in 1997. More recently, the five-factor model added profitability and investment aggressiveness. These are academic portfolio-construction frameworks, not trading screens. But the underlying logic transfers directly: stocks that rank well on multiple factors tend to outperform stocks that rank well on just one.

FTSE Russell and MSCI both publish research on multi-factor index construction. Their work distinguishes between “composite” approaches (score each stock across all factors, then select) and “intersection” approaches (select top stocks in each factor independently, then find the overlap). The composite method tends to produce more diversified portfolios. For a swing trader working a 5-to-15 name watchlist, both approaches converge. You want the overlap.

The Three Factors That Matter for Swing Traders

Academic factor research uses dozens of variables. As a swing trader, I use three. They cover separate ground and they are simple to compute from free data.

Momentum: the 6-month total return, excluding the most recent month. The one-month skip avoids short-term reversal effects that Jegadeesh and Titman documented in 1993. I pull this straight from a screener. If a stock returned 18% over the past 6 months and lost 2% in the last month, the momentum score is the 5-month return of roughly 20%. Rank all stocks by this number.

Value: earnings yield, calculated as trailing twelve-month earnings per share divided by price. I avoid price-to-book because it misrepresents asset-light companies. Earnings yield is not perfect either, but it is harder to game with accounting tricks than revenue multiples. Rank all stocks by earnings yield, highest first.

Quality: return on equity minus debt-to-equity, normalized into a percentile. This is crude but effective. A company with 25% ROE and 0.3 debt-to-equity scores higher than one with 15% ROE and 1.2 debt-to-equity. I have tried adding gross margin and free cash flow yield as sub-factors. The marginal improvement did not justify the complexity for a weekly screen.

Building the Composite Score Step by Step

Here is the exact workflow I use. Start with a universe. I typically screen the S&P 500, though any liquid universe works. For each stock, compute three numbers: momentum rank, value rank, and quality rank. Use percentile ranks from 0 to 100, where 100 is the best.

The composite score is the weighted sum of the three ranks:

C = w_m \cdot R_m + w_v \cdot R_v + w_q \cdot R_q

 

Where R_m, R_v, and R_q are percentile ranks for momentum, value, and quality respectively, and w_m + w_v + w_q = 1.

I use equal weights: w_m = w_v = w_q = 1/3. Many practitioners tilt toward momentum for shorter holding periods. A 50/25/25 split favoring momentum is common among swing traders I know. There is no objectively correct weighting. Equal weights are defensible and transparent.

Sort the universe by composite score. The top 10% goes onto the watchlist. Then, and only then, I look at the chart.

A Worked Example with Real Stocks

Take three well-known names from the past week. On May 1, 2026, AAPL closed at $280.14, MSFT at $414.44, and NVDA at $198.45. These are just closing prices for reference. The composite screen does not use daily closes directly. It uses the factor inputs described above.

Suppose after ranking all 500 stocks in the S&P 500, you get these percentile ranks:

AAPL: momentum 62, value 45, quality 78. Composite = (62 + 45 + 78) / 3 = 61.7.

MSFT: momentum 55, value 38, quality 85. Composite = (55 + 38 + 85) / 3 = 59.3.

NVDA: momentum 88, value 22, quality 70. Composite = (88 + 22 + 70) / 3 = 60.0.

All three land in the top 40% but none crack the top decile in this hypothetical ranking. That is normal for mega-caps. The screen tends to surface mid-caps and large-caps that are not crowded consensus names. That is part of its value.

A stock with momentum 91, value 75, and quality 82 would score 82.7. That stock goes on the watchlist. I then check the chart for a clean support and resistance structure, reasonable volume, and a setup I recognize.

Where Traders Get the Composite Wrong

The most common mistake is using raw values instead of ranks. If you plug in a 200% momentum return next to a 5% earnings yield and a 30% ROE, the momentum number dominates the composite through sheer scale. Percentile ranking eliminates this problem. Every factor contributes equally to the final score regardless of its natural unit.

Second mistake: refreshing the screen daily. Factor ranks change slowly. Weekly rebalancing is sufficient for swing trades with 5-to-20 day holding periods. Daily recomputation adds noise and increases the chance of chasing short-term moves that reverse before you can act.

Third mistake: treating the composite score as a signal. It is not. The composite is a filter. It narrows 500 stocks to 50. Your technical analysis, pattern recognition, and risk management turn those 50 into 3-5 actual trades. I have seen traders buy the highest-scoring stock every week without looking at the chart. The results are mediocre because composite scores say nothing about timing.

Adjustments That Change the Output

Sector neutralization is worth considering. Without it, the screen tends to cluster in whatever sector is running. If energy stocks dominate momentum and value simultaneously, your “diversified” watchlist becomes an energy portfolio. One fix: rank stocks within their sector, then combine. This guarantees representation across sectors. I do not always sector-neutralize, but I watch for clustering.

The relative strength index and other oscillators can serve as secondary filters on the shortlist. After the composite produces 50 names, I sometimes remove any stock with RSI above 75 on the weekly chart. This avoids buying into exhausted momentum. It is not part of the composite. It is a post-filter.

Volatility adjustment is another option. Replacing raw momentum with risk-adjusted momentum (return divided by standard deviation of returns over the same period) penalizes stocks that moved up on wild swings. The historical volatility of the return series matters. A stock that gained 20% with 15% annualized volatility is a better momentum candidate than one that gained 25% with 40% volatility.

The Academic Foundation in Plain Language

The idea that combining factors beats single factors is not new and not controversial in quantitative finance. Fama and French showed it in 1993. Asness, Moskowitz, and Pedersen demonstrated in 2013 that value and momentum are negatively correlated across asset classes, which means combining them reduces drawdowns without giving up returns. This negative correlation is the core reason composites work.

MSCI’s research on adaptive multi-factor allocation, published in 2018, showed that even static multi-factor composites outperformed single-factor indexes over rolling 3-year windows in most market regimes. Dynamic weighting added marginal improvement. The takeaway for retail traders: you do not need fancy optimization. Equal-weight composites capture most of the benefit.

More recently, factor research has expanded into quality sub-dimensions. Gross profitability, as Novy-Marx proposed in 2013, and investment conservatism, as Fama and French added in their 2015 five-factor model, both carry independent return premiums. For a swing trader filtering by drawdown quality and momentum, adding a simple profitability rank makes the screen measurably tighter.

Implementation: Spreadsheet or Screener

You do not need Python or R for this, though both work well. A basic spreadsheet handles it. Export the S&P 500 with trailing 6-month return, trailing EPS, price, ROE, and debt-to-equity from any free data provider. Compute earnings yield. Rank each column using PERCENTRANK. Weight and sum. Sort. Done.

If you use a platform like Finviz, StockCharts, or TradingView, you can approximate the composite using their built-in screeners. Set a momentum filter (e.g., 6-month performance above the 70th percentile), a value filter (e.g., P/E below sector median), and a quality filter (e.g., ROE above 15%). The intersection of those three filters is a rough composite. It is less precise than a proper ranked score but gets you 80% of the way there.

I run the formal spreadsheet version on Sundays. During the week, the Finviz approximation is good enough for scanning new names that entered sector rotation setups I might have missed.

What a Composite Screen Cannot Tell You

The screen knows nothing about catalysts. Earnings are next week? The screen does not care. The screen knows nothing about chart structure. A stock can score 95 on the composite and still be in a sloppy, range-bound mess with no clean entry. The screen knows nothing about correlation between your positions. If your top 10 composite names are all semiconductor stocks, you have one concentrated bet dressed up as ten.

The screen also looks backward. Momentum uses past returns. Value uses trailing earnings. Quality uses the last reported financials. All of these lag. A company that just reported terrible earnings will still show high quality metrics for several weeks until the data updates. This is why the composite is a filter, not a signal. You still have to do the work.

I run the composite first and the chart second. Some traders reverse the order: find chart setups first, then check factor scores as confirmation. Both workflows produce watchlists. I prefer composite-first because it removes the temptation to force a trade on a pretty chart with weak fundamentals.

Keeping the Screen Honest Over Time

Track your results. Every quarter, I check whether stocks that scored in the top decile actually outperformed stocks in the middle decile over the following month. If the spread collapses for two consecutive quarters, something in the factor definitions needs adjusting. Factor premiums are not constant. Momentum crashed in 2009. Value underperformed for most of 2017-2020. Quality held up through both periods, which is one reason I keep it in the composite.

The Chande Trend Meter and similar composite trend indicators operate on a related principle: combine multiple measurements into one score. The difference is that those tools combine technical indicators on a single stock. A multi-factor composite combines fundamental and performance factors across a universe. The logic is identical. More inputs, filtered through ranking, produce a more stable signal than any single input alone.

Factor composites are not a shortcut. They are a systematic way to narrow an unmanageable universe into a workable watchlist. The edge is not in the composite itself. The edge is in the discipline of only trading names that pass all three filters, then waiting for the chart to confirm. Most weeks, that means doing nothing. That is the point.

Educational content only. Not investment advice. Trading involves risk. You are responsible for your decisions.