---
title: "Read your matches"
description: "Read a screener's matches: the five column tabs, the Columns chooser, search and sort, the pager — and what to do with an empty or overlong list."
canonical_url: "https://fincanva.com/docs/screeners/read-your-matches"
last_updated: "2026-09-22"
md_url: "https://fincanva.com/docs/screeners/read-your-matches.md"
---

# Read your matches

The **Matches** tab lists every instrument that passes all of a screener's conditions, in a table you can re-column, search, sort, and page through.

↗ See this in Fincanva — Screeners, on the filter strip

## Before you start
No prerequisites. A screener with no filters at all still returns matches — the whole universe of its asset type — so the table has something to show from the moment you open one. Building the filters that narrow it is covered in [Build a screener](/docs/screeners/build-a-screener).

## Steps
1. Open the screener and select the **Matches** tab. The tab carries the count of instruments currently passing every condition.
2. Choose the column set with the tabs above the table: **Overview**, **Returns**, **Fundamentals**, **Ratios**, **Dividend**. Each one is a different set of columns over the same matches, not a different result.
3. Adjust the columns within a tab with **Columns**, which turns individual columns on and off for that tab.
4. Find one instrument with the search box — "Search ticker or name".
5. Sort by any column by selecting its header. Selecting a numeric column sorts it high-to-low first; a text column sorts A-to-Z first. Selecting the same header again reverses it. Until you select one, the list is ordered by **Market Cap**, largest first.
6. Move through the list with the pager at the foot of the table. Page sizes are 25, 50, and 100, and it opens at 50. The range beside it — `{from}–{to} of {total}` — tells you where you are.

## What you should see
The table lists one row per matching [instrument](/docs/getting-started/instrument), under the columns of the tab you picked. **Overview** is identity and size — **Symbol**, **Asset type**, **Asset subtype**, **Market Cap**, a **1Y** sparkline, **Exchange**, **Country**, **Sector**, **Industry** — while the other return windows (**YTD**, **1M**, **MTD**) sit on **Returns** with **Sharpe** and **Beta**. While a run is in flight the area reads "Refreshing matches…" and the previous list stays on screen, dimmed, rather than blanking. What each column measures is covered in [results columns](/docs/screeners/fundamental-metric-columns). The picture beside each row is [its own logo, or a flag for its recorded origin](/docs/getting-started/instrument-logo).

A match is a statement about what passed your rules today, not a view about what any of these instruments will do — see [Is this financial advice?](/docs/investing-theory/is-this-financial-advice#is-this-financial-advice).

## What order does the list open in?

Matches open ordered by **Market Cap**, largest company first, and every column tab opens the same way — so the instruments on page 1 of **Overview** are the instruments on page 1 of **Returns**, **Fundamentals**, **Ratios** and **Dividend**. Selecting a column header replaces that order with your own for as long as you stay on the tab; moving to another tab returns to Market Cap.

An instrument with no market cap sits at the end of the list, in either direction — it is unknown, not small. Exchange-traded products, crypto and indices have no market cap at all, so a screener whose universe is one of those has nothing to order by: every row ties, and the table falls back to the tie it always uses, each instrument's [permanent instrument identifier](/docs/data-methodology/permanent-instrument-identifier). That order is stable — the same screener opens the same way tomorrow, and paging never shows you a row twice — but it says nothing about the instruments, so sort by a column that means something to you.

## Why does the list change on its own between one day and the next?
Because a screener always runs against the most recently loaded market close, not against a stored answer. The same filters over a new day's data produce a different list, and there is no option to run a screener as of some other date. [Screener execution and caching](/docs/screeners/screener-execution-and-caching) covers what is recomputed each time and what is not.

## My screener matches more instruments than my strategy holds — why?
Because a strategy holds a capped number of positions and a screener caps nothing — it returns everything that passes. The control you set is **Max positions** on the strategy's **Screening** card, whose helper reads "Cap how many instruments are held at once". It is not the only limit between the filters and the holdings, and the two are easy to confuse: [the max symbols cap](/docs/screeners/max-symbols-cap) is the page that separates them and says which instruments survive when one bites.

## Common problems
### The list is empty: "No instruments match your filters"
The body reads "Try removing or relaxing one of your filters." Your conditions are too tight together, or two of them cannot both be true. The empty state itself offers `Remove: {name}` for the filter you added last, and **Clear all filters**.

### The results area says "Couldn't run the screen."
The message continues with the reason. Your screener and its filters are unchanged — nothing was lost — so run it again once the reason it names is dealt with.

### The list is far too long to be useful
Add a **Highest / Lowest** condition with a **Rank** on the metric you care about, which keeps only the top or bottom N of what still passes. That is a change to the screener rather than to this table: the pager only pages the list, it never shortens it.
