How StockOverlap picks stocks: the dual-scan overlap, step by step
StockOverlap narrows thousands of US stocks to a short daily list of companies that two separate fundamental scans agree on. Those stocks are called Dual Picks. This page walks through every step in the order the system runs it, from the universe of stocks to the rules that close a pick, including the parts that are less flattering, such as open picks that are currently down.
The process at a glance
- Build the universe of liquid US stocks and download their weekly price history.
- Quality scan: stocks near their 200-week moving average are graded on business quality.
- Value scan: stocks across the whole universe are graded on valuation, growth, price position and sentiment.
- Overlap: stocks that pass both scans in the same run, with a combined score of 15/24 or more and enough analyst upside, become Dual Picks.
- Logging: the entry price and date are frozen the first time a pick appears.
- Exits: every open pick is re-scored each run and closed by rule.
- Publishing: closed picks and summary numbers for open picks go on the public track record.
The whole run happens once each trading day, after the US market close. Here is how the latest run narrowed things down:
Step 1: the universe and price data
The universe is US-listed stocks on the NYSE, the Nasdaq tiers and NYSE American with a market value of at least about $500 million, a share price of at least $5 and meaningful trading volume. Non-US listings (ticker symbols with an exchange suffix, such as a dot) are excluded. For each stock the system downloads its full weekly price history, adjusted for splits and dividends, then computes two things from it: the 200-week moving average (used by the quality scan) and the 52-week high, low and range (used by the value scan). Stocks with less than 200 weeks of history are left out, so recent IPOs cannot become Dual Picks.
Steps 2 and 3: two separate scans
The two scans ask different questions with different inputs. They share the same data feeds, so they are not statistically independent, but a stock has to satisfy two different sets of rules to pass both.
| Quality scan (internally "Munger") | Value scan (internally "Foundation") | |
|---|---|---|
| Question | Is this a high-quality business, at a sensible point in its long-term price history? | Is the price attractive, and is sentiment not already euphoric? |
| Price lens | Within ±5% of the 200-week moving average | Not in the top 12% of the 52-week range; extra credit near the bottom |
| Scored on | Worst-year ROE, EPS growth and consistency, gross-margin stability, P/E vs sector, debt-to-equity, insider activity, earnings surprises | Revenue and asset growth, free cash flow yield, earnings yield, 52-week position and range width, short interest, institutional ownership, analyst sentiment |
| Hard knockouts | Negative ROE year, shrinking EPS, debt-to-equity above 2, short interest above 20%, heavy insider selling, two big earnings misses | Revenue down more than 5%, gross margin under 8%, debt above 80% of assets, EPS collapsing more than 20% a year |
| Pass mark | 6 out of 12 | 5 out of 12 |
Every threshold is listed in the screener criteria guide, and the thinking behind the 200-week gate is in the Munger 200-week moving average guide.
Step 4: the overlap and the final gates
A stock that passes both scans in the same run becomes a Dual Pick only if it also clears two gates:
- Combined score of at least 15 out of 24 (quality score plus value score). Picks with 18 or more are graded A+, the rest A.
- Consensus analyst upside. The live Dual Picks list in the terminal requires at least 30% upside to the consensus analyst price target. The track-record logger records every otherwise-qualifying name from 25% upside, so the public record is slightly broader than the live list.
Why require agreement?
Each scan has a typical way of being wrong. A quality scan on its own will happily surface great businesses that are expensive or still falling. A value scan on its own will surface cheap stocks whose businesses are deteriorating. Requiring both to pass the same stock on the same day trims a lot of each failure mode, at the cost of a much shorter list. On many days only a handful of names, or none, are new. That is intended: the goal is a short list worth researching, not a long list to scroll.
Step 5: logging the pick
The first time a stock qualifies, it is written to the track record with its entry date and entry price frozen: the price used in that day's scan. While the pick is open, it is re-scored on every scan for the exit rules below, and the terminal shows its scores and analyst target from the latest scan wherever that scan still covers the stock. The entry price does not move. The one exception is a stock split, where the entry price is adjusted so that entry and current prices are on the same share basis.
Step 6: how a pick is closed
Every open pick is re-scored on both scans after each run, even if it no longer passes an entry filter: the 200-week band, the 52-week range gate, the value cutoff, a knockout, or the market-cap and price floor. If a score can't be computed on a run because data is missing or a data fetch failed, the pick keeps its last score and stays open. A pick is closed in one of these ways:
| Rule | What triggers it | Details |
|---|---|---|
| Score falls from its peak | Its combined score falls 3 or more points below its peak (the peak starts at the entry score and only rises), unless it still qualifies as a new Dual Pick that day. | Must stay that low for 3 consecutive scored scans. A run where the whole book's scores shift at once (a scoring-model change, not real deterioration) resets that count, and a scan with unusually little data doesn't advance it. |
| Target reached | Its price gets within 2% of the consensus analyst target while the score rule isn't firing, unless it still qualifies as a new Dual Pick that day. | No multi-scan confirmation: it closes on the scan where this happens. |
| Delisted | The price data shows no trades in the stock for 5 trading days, for example after an acquisition or a delisting. | Closed at its last traded price; if the price data no longer returns the stock at all, at the last price a scan recorded for it (or its entry price if none was ever recorded). A scan with unusually little data never closes a pick this way, and if more than two picks, or more than 10% of open picks, would close this way on the same scan, none of them are closed; a single delisting on its own always closes. Missing or incomplete data on its own never closes a pick: the last score is carried forward and the pick stays open. |
The score and target rules only close a pick that was last held open within the past 60 days, so an old backlog isn't closed with today's date.
A closed pick records the exit date and the price at that scan, and its return is measured from the frozen entry price. Two things deliberately do not close a pick: drifting away from the 200-week average, and analyst upside dropping below the entry gate. Both are entry-timing filters, not evidence that the business has changed.
Every Dual Pick is logged the day it first appears, and closed picks stay on the public track record. Two caveats: if a closed pick later qualifies again, its record is reopened at the original entry price, the earlier exit is removed, and it drops off the closed list and out of the realized stats until it closes again; and the exit rules have changed over time, so older closes may reflect earlier rules. Correction (October 2026): two picks that an exit-logic bug had wrongly closed as "likely delisted" while they were still trading were reopened, so they no longer appear in the closed picks or realized stats.
Returns are price-only: they exclude dividends, fees, slippage and taxes. More detail on data handling, survivorship and look-ahead bias is on the methodology page.
What is public and what is for subscribers
| Public, free | Subscribers |
|---|---|
| Every closed Dual Pick with entry and exit prices, returns and SPY comparison | Today's Dual Picks and every open pick, with scores, grades and analyst upside |
| Summary numbers for open picks (count, average unrealized return, up vs down) | Plain-English reasons for each pick and full quality and value scan output |
| Methodology, scan rules and these guides | Exit signals and email alerts after the daily scan |
Open picks are the paid product, so their tickers stay behind sign-in. You can try the terminal with a 3-day free trial (no credit card) or see pricing.
The track record so far
Computed live from the same public record as the track record page, closed and open positions side by side:
Hypothetical results of a rules-based screen, not actual trades. Exit rules have changed over time.
Small sample over a short period. Returns are price-only from frozen entry prices to the exit price (closed) or the latest price (open), and exclude dividends, fees, slippage and taxes. SPY is measured over each closed pick's own holding period. Past performance does not guarantee future results. Full list on the track record.
What this approach cannot do
- Predict the news. Scores are built from reported numbers, which lag the business.
- Prove itself quickly. The live record started in 2026, so the sample is small and covers a short period. Judge it accordingly.
- Avoid data errors entirely. Third-party feeds can be delayed, restated or incomplete; a stock that cannot be scored on a given day is skipped rather than guessed.
- Know your situation. It is a research tool, not personalized advice.
Frequently asked questions
What is a Dual Pick?
A Dual Pick is a stock that passes StockOverlap's quality scan and its separate value scan in the same daily run, has a combined score of at least 15 out of 24, and clears a minimum consensus analyst upside. A combined score of 18 or more earns the A+ grade.
Is StockOverlap an ETF or mutual fund overlap tool?
No. The "overlap" in StockOverlap is the overlap between two independent stock screens: the names both scans agree on. It does not compare the holdings of ETFs or mutual funds.
When does a Dual Pick get closed?
A pick is closed by rule, not by hand. Every open pick is re-scored after each daily scan, even if it no longer passes an entry filter, and it is closed if its combined score stays 3 or more points below its peak for 3 consecutive scored scans (a whole-book score shift resets that count), or, when that rule isn't firing, if its price comes within 2% of the consensus analyst target. Neither applies while it still qualifies as a new Dual Pick that day, and both only apply to picks last held open within the past 60 days. A pick is also closed if the price data shows no trades for 5 trading days, for example after an acquisition, at its last traded price (or, if the price data no longer returns the stock, the last price a scan recorded for it). Missing data on its own never closes a pick: the last score is carried forward. Exit rules have changed over time, so older closed picks may reflect earlier rules.
Are entry prices ever changed after the fact?
No. The entry price and entry date are frozen the first time a stock appears as a Dual Pick, and the exit price is the price at the scan that closed it. The only adjustment is for stock splits, so that entry and exit prices are on the same share basis. One caveat: if a closed pick later qualifies again, its record is reopened at the original entry price and the earlier exit is removed.
Where does the data come from?
Financial statement data (revenue, gross profit, net income, assets, debt, equity and EPS) comes from SEC EDGAR filings. Analyst targets and recommendations, earnings surprises, insider activity and sector labels come from Finnhub. Prices, market values, cash flow (used for free cash flow yield), short interest and institutional ownership come from Yahoo Finance, which is also the fallback when EDGAR or Finnhub is missing a figure. Fundamentals are cached for about four days because they only change when companies report; results built while one of these sources failed to respond are never cached (they are fetched again on the next run), and prices are refreshed on every run. Third-party data can be delayed or incomplete, and the methodology page explains how gaps are handled.
Why are open picks not shown publicly?
Open picks are the paid product, so their tickers are only visible to subscribers. To keep the public record fair, the track record page still shows summary numbers for open positions, such as how many there are and their average unrealized return, alongside every closed pick.
The daily Dual Picks list, full scan output, scores and exit signals are in the StockOverlap terminal.Closed picks, wins and losses, are listed on the public track record.
- The Munger 200-week moving average strategyWhere the famous 200-week moving average quote comes from, what the indicator measures, when it misleads, and how StockOverlap uses it as an entry filter.
- How to find undervalued quality stocksEvery threshold in StockOverlap's quality and value scans, the hard knockouts, and how to use the same logic on any screener.
- Quality stocks near 52-week lows: a checklistA plain 52-week-low list compared with a quality-first screen, using what Buffett and Munger actually wrote, plus a value-trap checklist.
- Methodology and data sourcesData sources, update frequency, frozen prices and known limitations.