I backtested my own stock rankings. They lost to the index

caiocmpaes1 pts0 comments

I backtested my own stock rankings. They lost to the index. — Holder Dashboard← All guidesResearch · 9 min read<br>I backtested my own stock rankings. They lost to the index.<br>By Caio Paes · Updated August 6, 2026<br>Every fundamentals site can show you a chart where $1,000 turns into $40,254. Mine did, for seven months. The arithmetic was correct and the chart was worthless. The honest version of it argues against the product you're currently reading about.<br>What if $1,000 became $40,254?<br>That was my own landing page headline, actually, with the number filling itself in from the same query that draws the chart below.The chart everybody builds<br>Here's how that number was made. Take the fifty companies that rank highest on fundamentals today. Look up what their share prices did over the past twenty years. Compound $1,000 through those returns. Print the result.<br>$1,000 into $40,254, with twenty years of hindsight<br>Top 50 by fundamentalsS&P 500

5Y10Y20Y

Value of $1,000 invested at the end of 2006, compounded through the past returns of the 50 companies that rank highest on fundamentals today. Picked with hindsight; survivors only.<br>Final values by window.WindowTop 50 by fundamentals, final valueS&P 500, final value5Y (invested 2021, value at 2026)$5,617$1,85810Y (invested 2016, value at 2026)$14,379$4,13520Y (invested 2006, value at 2026)$40,254$8,658<br>That is the chart, rebuilt with the construction that ran on the front page until July 2026. Over twenty years the green line reaches $40,254 while the same $1,000 in the index reaches $8,658 . Nothing in that calculation is a lie. Those fifty companies really did compound like that. Even the scale helps: on a linear axis, compounding always looks most dramatic in the final years.<br>The problem is the sentence a reader silently completes when they see it: “so if I had followed this ranking, I'd have $40,254.” You wouldn't have. The list could not have been written in 2006. It was assembled by looking at which companies turned out to have twenty strong years, and that knowledge did not exist at the start of the window. The chart quietly runs the tape backwards and presents it as though it ran forwards.<br>There's a second problem underneath the first. The companies available to rank today are the ones that still exist. Every business that went bankrupt, got taken private or was delisted somewhere in those twenty years is simply absent from the calculation. The survivors are the only candidates, and survivors flatter every backtest they appear in.<br>Switch it to five or ten years and the gap survives, which is what made it so convincing. This construction is nothing unusual either. It's close to the default way performance charts get built when nobody is checking, which is why I want to be specific about what replaced it.<br>The honest version<br>The fix is to pick the cohort using only information that existed on the day it was picked. So: rebuild every company's fundamental score as of 2016, using only financials reported by then, rank them, take the top fifty, and only then look at what happened next.<br>I ran it expecting to confirm the thing I'd already built a product around. Two windows, equal-weighted, dividends included on both sides:<br>The strongest-fundamentals companies of 2016 lost to the index over the decade after<br>0100200300400500600700Growth of $100Top 50 (2016)+421%S&P 500+103%+332%+251%200620162026building the recordthe decade after<br>0100200300400500600700Growth of $100Cohort selected using only data available in 2016 · equal-weighted · dividends reinvested on both sidescohort selected hereTop 50 by 2016 fundamentals+421%S&P 500+103%+332%+251%2006201620162026the decade they built the recordthe decade afterSource: EODHD

The 50 companies ranked strongest on fundamentals using only data available in 2016, equal-weighted and held with no rebalancing. Each panel is indexed to 100 at its own start, because the first decade is a description of the companies and not a portfolio anyone held. Two members had not listed by 2006, so that panel averages 48 names. Adjusted closes, dividends reinvested on both sides.<br>Growth of $100, indexed to 100 at each panel's start: the 2016 strongest-fundamentals cohort vs the S&P 500YearCohortS&P 5002006 (building the record)1001002007 (building the record)1271202008 (building the record)1061052009 (building the record)93772010 (building the record)128882011 (building the record)2221172012 (building the record)2541212013 (building the record)3251472014 (building the record)4651832015 (building the record)5501962016 (building the record)5212032016 (after selection)1001002017 (after selection)1221182018 (after selection)1391342019 (after selection)1471492020 (after selection)1451602021 (after selection)2222252022 (after selection)2022022023 (after selection)2442392024 (after selection)2762982025 (after selection)2983422026 (after selection)351432<br>From 2006 to 2016 , the decade those companies were building the record that got them selected, the cohort...

after building record selection companies fundamentals

Related Articles