QQQ distance from 50DMA
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.
QQQ distance from 50DMA
What it is
QQQ distance from 50DMA β registry key qqq_dist_50dma.
Signed fractional distance of QQQ from its 50-day SMA: (price - SMA_50) / SMA_50. Positive = above, negative = below. market.py:_analyze_single_ticker computes Distance_from_50DMA for every ticker; downstream previously captured only IVR. Stretch/compression read for the drawdown-risk lane. Series starts at the 2026-06-05 deploy and FILLS FORWARD β the sparse history is intentional, not a defect (REFACTOR inventory Cat-1B); no backfill planned.
Data-pyramid tier
T1 β Signal. This metric sits at the signal 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: market
Data source: back_fillable
Fetched directly from app/sources/market.py; see source code for the upstream API call and any provider-specific handling.
How itβs computed
(QQQ_price - QQQ_SMA_50) / QQQ_SMA_50. Computed in market.py:_analyze_single_ticker from the 1-year price history; SMA_50 is the 50-period rolling mean. Extracted via engine.py from data[βmarketβ][βequity_boardβ][βQQQβ][βDistance_from_50DMAβ].
Where it surfaces
- API field:
signals.qqq_dist_50dmaonGET /api/v1/signals/latest - Surface:
daily_signalsrow (daily-cadence persistence)
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:
intraday
See also
- /kb/api/get-signals-latest β API endpoint that serves this field.