Confluence count
Last verified
Auto-generated. This article is rebuilt from
app/signals/config/signal_definitions.jsonbyscripts/build_signals_kb.py. Edit the registry entry and re-run the script — do not edit this file directly.
Confluence count
What it is
Confluence count — registry key screener_confluence_count.
Integer count of the distinct archetypes that fired for a given ticker on the board date AND corroborate today’s thesis — same-direction and still inside their relevance window (see calculation_formula for the two exclusions). Higher = more archetype confirmation = higher-conviction candidate. Headline sort signal for the screener board (sort 1: confluence_count desc). Computed by rank.py rank_candidates().
Data-pyramid tier
T2 — Indicator. This metric sits at the indicator layer of the platform’s six-tier data pyramid (T0 raw inputs → T5 actionable read). The tier reflects how far the value is from a raw measurement — not how strongly it is validated. Abstraction and validation are separate axes: a higher tier is not a claim of stronger evidence.
Horizon & validation
No validated skill horizon is on file for this metric — read it as context / a data carrier, not a validated edge. Stamps are added only when a gated research verdict lands.
Source
Source module: screener
Data source: computed
Derived metric — produced inside the platform (app/sources/screener.py or equivalent) rather than fetched as a raw upstream value. See the How it's computed section below for the formula.
How it’s computed
len(distinct archetypes that returned state in {partial, primed} for this ticker in the current scoring run, counting ONLY the legs that share the row’s dominant direction AND are still inside their relevance window). Two exclusions: a leg whose direction differs from the row’s dominant direction, because a long thesis and a short thesis are never blended into one count; and a leg whose candidacy has already run past its archetype’s lifecycle.relevance_windows entry (trading days) in screener_config.json, because a mechanically-continuous re-firer is not fresh corroboration. A neutral or absent dominant direction applies no directional split. An excluded leg still FIRES and still appears in archetypes_fired / per_archetype / triggers_union; a past-window exclusion is additionally stamped as a confluence_excluded block (reason / day / window) in that archetype’s dislocation JSON. Deduplication ensures the same archetype cannot count twice. Computed by rank._within_direction_confluence, off the pre-rank staleness grade in app/screener/pipeline.py.
Where it surfaces
- API field:
screener.candidates.confluence_countonGET /api/v1/signals/latest
Health-score / alignment role
Data carrier — no implication, no health-score contribution.
Persisted for downstream consumers (sparklines, base-rate matcher, calibration substrate) but does not classify into BULLISH / NEUTRAL / BEARISH and does not contribute to the 0-100 health score.
Release cadence
- Publishes:
daily