Skip to content

KB/signal

20-day log return

Last verified

Auto-generated. This article is rebuilt from app/signals/config/signal_definitions.json by scripts/build_signals_kb.py. Edit the registry entry and re-run the script β€” do not edit this file directly.

20-day log return

What it is

20-day log return β€” registry key screener_ret_20d.

Per-ticker log return over 20 trading days (rolling sum of daily log returns). Stored in screener_features_daily. Feeds archetype scorers.

Data-pyramid tier

T0 β€” Raw input. This metric sits at the raw input 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

Sum of daily log returns over 20 trading days. NULL when fewer than 21 rows.

Where it surfaces

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