Max Holdings
Max Holdings is the cap on how many positions the backtest portfolio is allowed to hold at one time. A common default is 20. Lower values produce a concentrated portfolio that leans hard on the screen's top picks, while higher values approach an index-like spread that dilutes the signal.
What is Max Holdings?
Max Holdings is the upper bound on portfolio breadth. After a screen has run and produced a ranked list of qualifying stocks, this parameter caps the number that actually enter the portfolio. If the screen returns 80 names and Max Holdings is set to 20, only the top 20 are held; the rest are ignored until the next rebalance.
This control sits between the screen and the weighting metric, and it shapes the result more than most users assume. A 20-name portfolio on equal weight gives each holding 5% of capital; a 100-name portfolio on equal weight gives each holding 1%. The first amplifies whatever signal the screen carries, for better or worse. The second dilutes it toward the universe's average behavior.
There is a meaningful trade-off between concentration and idiosyncratic risk. Concentrated portfolios can post higher returns when the screen is sharp, but they also suffer larger swings when one or two holdings move against the position. Diversified portfolios sand down both the wins and the losses, eventually converging on the broader market as the count rises.
Why Max Holdings Matters in Backtesting
Max Holdings is the lever that controls how much the backtest result depends on individual stock outcomes versus the screen's average behavior across many names. A 10-holding portfolio is a real bet on a strategy; a 200-holding portfolio is closer to a smart-beta index of whatever the strategy selects. The two numbers can produce very different Sharpe ratios, max drawdowns, and tail behavior even when fed the exact same ranked list.
The right setting depends on what claim the user wants to test. Testing whether the top quartile of a screen has predictive power calls for a tighter cap so the result reflects only the highest-conviction names. Testing whether the screen describes a durable style or factor calls for a wider cap so the result averages out noise from individual companies. A backtest with no opinion on Max Holdings has implicitly chosen one anyway, and the choice is doing work in the result whether the user notices or not.
How SledgeKey Implements Max Holdings
Max Holdings is a numeric input in the backtest configuration panel, accepting integer values across a wide range. A common default is 20, which strikes a balance between giving each name enough weight to matter and holding enough names to avoid one bad position dominating the result. The setting is enforced at every rebalance: SledgeKey takes the screen output, applies the screen's own ranking, keeps the top N up to the cap, and discards the rest. If the screen returns fewer names than the cap, the portfolio simply holds whatever passed the filter.
Once the holdings are selected, the weighting metric is applied across that set and the portfolio is traded toward those targets. The cap affects only how many slots are available, not how the slots are sized. A 20-holding portfolio on equal weight will be balanced; a 20-holding portfolio on market cap weight will be top-heavy if a megacap qualifies. Every rebalance recomputes the cohort from the latest screen output, so a name that ranked highly last quarter but has fallen out of the top 20 at the next rebalance is sold and replaced.
Common Pitfalls
The most common pitfall is treating a low Max Holdings setting as a way to test a "best of" portfolio without acknowledging the volatility cost. A 5-holding portfolio is highly sensitive to single-stock outcomes, and the backtest's Sharpe ratio and drawdown profile reflect that. A flattering result on 5 holdings often does not survive on 30; if it does, the screen is doing real work, but if it does not, the headline number was largely an artifact of concentration luck on a small basket.
A second pitfall is setting the cap higher than the screen ever returns. If a screen typically produces 12 to 25 names but the cap is set to 100, the cap is doing nothing and the portfolio is whatever the screen happens to return on any given day. This is fine as a test of the raw screen, but the result is harder to interpret because the implied breadth varies from rebalance to rebalance. Check what the screen's typical output size is before choosing a cap that exceeds it.
A third pitfall is over-tuning Max Holdings against historical results. Sweeping the cap from 5 to 100 in increments of 5 and reporting the best Sharpe is overfitting; the chosen cap will not generalize forward. Set the cap based on a structural argument such as concentration tolerance, single-stock risk budget, or target tracking error against a benchmark, rather than on backtest peeking.
A Max Holdings setting that is too low for the strategy's noise level produces a backtest where outcomes are dominated by a handful of large position swings rather than by the screen's actual signal. If small changes to the setting produce large changes in the result, the strategy is leaning more on luck than on the screen.
See Max Holdings in your own backtest
Run a backtest on any screening strategy and stress-test how concentration affects risk-adjusted return on point-in-time data, free.
Run a Backtest