Two fields, two questions
Every historical match in the engine's output carries both a similarity_score and a match_quality rating on a 1-5 scale. It's a reasonable assumption that these track each other — a closer match should mean better quality, and a worse match should mean lower quality. They're related, but they are not measuring the same thing, and treating them as interchangeable leads to misreading what a match actually represents.
Both fields are reported per match, with full component-level detail:
"match_quality": {
"scale": { "min": 1, "max": 5 },
"overall_score": 5,
"scores": {
"shape_similarity": 5, "volume_similarity": 4, ...
},
"components": {
"shape_distance": { "value": 0.5602, "score": 4, "higher_is_better": false }
}
What can make similarity high but quality low
A historical window can score very high on similarity — the shape, volatility, and trend all align closely with the current setup — while still earning a low match quality rating, for reasons that have nothing to do with how alike the price action looks.
| What drags quality down | Why similarity stays unaffected |
|---|---|
| Short historical window | The shorter the window, the more instances will coincidentally produce a high similarity score without representing a meaningfully comparable structural setup. |
| Thin trading period | Unrepresentative volume and liquidity can still score high on shape and trend similarity while being a poor structural comparison. |
| Isolated single match | Weaker evidence than the same score appearing as part of a broader, diverse set of comparable instances — quality incorporates context beyond the individual comparison. |
In each case, the similarity score is reporting an accurate measurement of how alike the two windows are. Match quality is reporting something else: whether that measurement should be relied upon as meaningful evidence.
What can make similarity moderate but quality high
The reverse also happens. A match with a moderate similarity score — not a near-perfect resemblance — can still carry a high match quality rating if it comes from a long, well-formed historical window, during a period of normal trading conditions, as part of a broader set of similarly-scored matches pointing in a consistent direction. A moderately similar match embedded in strong corroborating evidence is more trustworthy than an isolated near-perfect one.
This is the core reason the two fields are kept separate rather than collapsed into one number. If only similarity score were reported, an isolated coincidental match would look identical in the data to a well-supported, high-confidence one. Match quality is what allows those two cases to be told apart.
Why this matters for reading the data
This is worth being explicit about because the natural instinct, especially for a model or a less experienced trader reading the output, is to anchor on similarity score as the primary signal of confidence. Match quality exists precisely to correct that instinct.
Similarity score should be read as "how alike." Match quality should be read as "how much to trust that this similarity means something" — and the second question is generally the more important one for deciding whether to act on a match at all.
How this connects to the rest of the output
Match quality at the individual-match level is conceptually related to, but distinct from, reliability at the forward-outcome level — the tag that reflects evidence count and match diversity across the full set of matches feeding a given lookback window.
| Field | What it judges |
|---|---|
match_quality | A single comparison — how much one historical match should be trusted. |
reliability tag | The aggregate evidence behind a forward outcome distribution. |
A response can have several individually high-quality matches and still carry a lower reliability tag if those matches aren't diverse enough across symbols and time periods — which is a separate question worth its own explanation.