Guía de interpretación

Cómo leer los datos de la plataforma — qué mide cada número y qué significa en la práctica.

Universo de análisis

No todos los stocks del mercado entran en los cálculos. La plataforma aplica tres filtros mínimos para excluir penny stocks, acciones ilíquidas y nombres sin volatilidad operativa. A este conjunto filtrado se le llama el universo de calidad.

Filtros aplicados (condición necesaria para cualquier setup)

Volumen promedio 10 días
≥ 800,000 acciones diariasliquidez institucional — permite size sin slippage
Precio actual
≥ $5.00excluye penny stocks
ADR — Average Daily Range
≥ 4%volatilidad operativa real — el movimiento tiene que valer el riesgo

Estos thresholds son condición necesaria para que un símbolo aparezca en cualquier lista (actionable, live feed, las 3 lentes del queue). Todos los porcentajes de breadth, liderazgo y participación se calculan sobre este universo institucional.

Market Context — la barra de contexto

La barra superior del dashboard muestra el estado actual del mercado en dos dimensiones independientes: participation (amplitud) y leadership (calidad del liderazgo institucional). Cada dimensión tiene su propio descriptor y sus propias métricas. No se colapsan en un solo número — intencionalmente.

Un mercado puede tener participation EXPANDING y leadership THINNING al mismo tiempo. Eso significa que más stocks suben, pero los institucionales se están retirando. Es una señal de advertencia que una etiqueta única ("risk on") ocultaría.

Participation — amplitud del mercado

Mide cuántos stocks del universo de calidad están participando del movimiento. El indicador central es la breadth: el porcentaje de stocks que cotizan por encima de su EMA21.

Cómo se calcula la breadth

Se cuenta cuántos stocks tienen el precio por encima de su media exponencial de 21 días, y se divide por el total del universo. Cada stock cuenta igual: 1 si está arriba, 0 si está abajo. No hay ponderación por capitalización.

Ejemplo: 1,085 stocks sobre EMA21 ÷ 1,978 en el universo = 54.95% de breadth.

Descriptor — qué está haciendo la breadth

El descriptor refleja el cambio de breadth en los últimos ~5 días de trading (medido en puntos porcentuales, pp).

EXPANDINGLa breadth subió más de +5pp. Más stocks se suman al movimiento. Mercado con amplitud creciente.
STABLELa breadth se mantiene entre −5pp y +5pp. Mercado lateral sin deterioro ni expansión.
NARROWINGLa breadth cayó entre −5pp y −15pp. Menos stocks participan. El rally se está achicando.
COLLAPSINGLa breadth cayó más de −15pp. Colapso de amplitud. El movimiento lo sostienen muy pocos stocks.

Métricas de referencia

breadth_above_ema21
% del universo sobre su EMA21indicador principal de amplitud de corto plazo
breadth_above_ema50
% del universo sobre su EMA50amplitud de mediano plazo
breadth_above_ema200
% del universo sobre su EMA200amplitud estructural de largo plazo
breadth_momentum_5d
diferencia de breadth vs ~5 días atrásinsumo del descriptor
breadth_momentum_20d
diferencia de breadth vs ~20 días atrástendencia de más largo plazo
near_highs_count
stocks a menos de 1 ATR de su máximo anualstocks en zona de fuerza real
near_lows_count
stocks a más de 6 ATR de su máximo anualproxy de stocks cerca de mínimos anuales
highs_lows_ratio
near_highs ÷ near_lowsratio > 1 es sano; < 0.5 indica distribución
participation_persistence
dispersión de la breadth en 20 díasalta dispersión = mercado volátil e inestable

Cómo leerlo en práctica

El descriptor EXPANDING con un momentum_20d negativo indica un rebote técnico desde un piso, no una expansión desde base. Siempre cruzar el descriptor con el momentum_20d y el highs/lows ratio para entender si la fuerza es nueva o es recuperación.

Leadership — calidad del liderazgo institucional

Mide cuántos stocks califican como líderes institucionales y qué tan saludable es ese grupo. La definición de "líder" es estricta: tiene que cumplir los 8 criterios Minervini SEPA simultáneamente.

Qué es un líder institucional (8 criterios Minervini SEPA)

Performance anual
> 30%el stock está en tendencia alcista real, no rebote
Precio sobre EMA200
precio > media 200 díastendencia de largo plazo intacta
Precio sobre EMA50
precio > media 50 díastendencia de mediano plazo intacta
SMA50 sobre SMA150
media 50d > media 150dalineación alcista de mediano plazo
SMA150 sobre SMA200 ×1.01
media 150d > media 200d +1%tendencia de largo plazo con pendiente positiva
Rango anual
> 60% del máximo al mínimoel stock tuvo movimiento real, no lateralización
Precio sobre mínimo anual
> 70% sobre el mínimo del añolejos del piso — el mercado no lo abandonó
ADR
> 3%volatilidad operativa suficiente para el setup

Descriptor — qué le está pasando al pool de líderes

El descriptor refleja el cambio porcentual en la cantidad de líderes vs ~5 días atrás, con un override de agotamiento que toma prioridad sobre cualquier crecimiento de count.

EXPANDINGMás del +5% de líderes nuevos vs 5 días atrás. El mercado genera liderazgo fresco.
HEALTHYEl pool de líderes se mantiene estable (±5%). Mercado sostenible para setups institucionales.
THINNINGEl pool cayó entre −5% y −15%. El liderazgo se contrae. Selectividad mayor.
COLLAPSINGEl pool cayó más del −15%. Pocos líderes quedan. Ambiente hostil para nuevas entradas.
EXHAUSTEDOverride: más del 25% de líderes están climácticos o más del 40% extended. Señal de techo independientemente de si el count crece.

Métricas de referencia

leader_count
cantidad de líderes Minervini hoy
leader_count_delta_5d
cambio vs ~5 días atrás (en cantidad)
leader_count_delta_20d
cambio vs ~20 días atrás (en cantidad)
leader_pullback_quality_avg
calidad promedio de los pullbacks de los líderes0–100; >60 es structure ordenada
leader_tightness_avg
contracción semanal promedio de los líderesvalores bajos = bases más apretadas
leader_vol_contraction_avg
contracción de volatilidad semanal promedionegativo = volatilidad expandiéndose
leader_rs_persistence_10d
% de líderes RS-strong hoy que también lo eran hace 10 díasalta persistencia = liderazgo con continuidad real
leader_extension_count
líderes con precio > 3 ATR sobre su EMA21sobreextendidos — riesgo de entrada
leader_climactic_count
líderes con ADR del día > 2× su promedio 20 díasmovimiento climáctico — posible techo de corto plazo
leadership_turnover_5d
stocks que entraron o salieron del pool en 5 díasalto turnover = pool inestable

La señal más importante: EXHAUSTED

Un mercado donde el count de líderes crece pero más del 25% están haciendo movimientos climácticos es un mercado a punto de rotar. El override EXHAUSTED existe para capturar exactamente eso: expansión aparente con deterioro interno. Es la señal más contraintuitiva y la más valiosa del engine.

Setup Queue — lentes de búsqueda

La cola de setups organiza los líderes institucionales en tres lentes según el tipo de oportunidad. Cada lente tiene criterios propios de calidad y ordena los resultados por score de relevancia.

U&R Queue — Undercut & Rally

Líderes que bajaron bajo un soporte clave (mínimo de base, EMA21) y están recuperando activamente. Es el setup de mayor confianza estadística en mercados con liderazgo institucional: el mercado probó el nivel, rechazó la debilidad y volvió a cerrar sobre estructura.

Busca: líderes Minervini + señal de U&R activa + price_above_low_pct alto + volumen en la recuperación.

Emerging Leaders

Stocks que están a punto de calificar como líderes Minervini pero todavía no pasan todos los criterios. Muestra cuántos criterios cumplen y cuáles les faltan. Permite monitorear candidatos antes de que entren al pool principal.

Busca: stocks que cumplen 5, 6 o 7 de los 8 criterios Minervini.

Building Bases — líderes contrayendo rango

Líderes Minervini con 6+ semanas en base, ordenados por contracción de rango (la idea real del VCP). Son los candidatos a la próxima ruptura: el rango se está cerrando, la volatilidad entrando.

Gate estructural: líder Minervini + weeks_in_base ≥ 6. Sin cutoff absoluto. Ranking por vcp_quality (0–1):

vcp_quality = (0.55·band + 0.45·volume_dryup) × gap_penalty

band = 1 − rango_reciente/rango_previo (la banda cerrándose). volume_dryup = 1 − vol_reciente/vol_previo (volumen secándose — un VCP real necesita las dos cosas). gap_penalty castiga nombres con un salto overnight grande (>1.5 ATR close-to-close): un gap de noticia infla el rango previo y simula contracción sin ser un VCP. Top 8 por quality. Tiers: ≥0.5 limpio, 0.3–0.5 en desarrollo, <0.3 flojo.

Por qué compuesto y no rango solo: el universo exige ADR ≥ 4%, así que bases apretadas absolutas casi no existen (mediana ~4.4 ATR de rango en 20d). Iteraciones previas fallaron: vcp_score≥70 (detector de pivotes 20d) dejaba bases largas en 0; la oscilación d21_atr colaba pullbacks (EMA21 cae con el precio); la contracción de rango sola se dejaba engañar por gaps de evento (IMVT saltó +35% y luego quedó quieto → falsa "contracción"). El score con volumen + gap penalty resuelve los tres. Si toda la lista tiene quality bajo, es que no hay VCPs limpios.

RS Leaders — watchlist para días de caída

El pool de líderes Minervini ordenado por fuerza relativa vs SPY (RS) descendente. En una corrección, los líderes que más aguantan son los que lideran el próximo rebote — esta lente los ordena para armar la watchlist desde la cual posicionarse cuando el mercado gira.

Membership: solo el gate Minervini (8 criterios) sobre el universo de calidad. RS es la clave de orden, no un filtro. Cada fila muestra vs SPY 1w (cuánto le sacó o cedió al SPY esta semana) y un estado de holding: en máximos / sobre EMA21 / testea EMA50 (ya perdió la EMA21) / pullback profundo. Top 40.

Nunca se suprime por contexto — es la herramienta que necesitás justo cuando la participation está NARROWING o COLLAPSING.

Dos modos (toggle): el orden por RS de 13 semanas es acumulado — una acción puede rankear alto por subas de hace 2 meses y estar cediendo hoy. El modo RS Momentum responde "¿hacia dónde fluye la fuerza relativa ahora?".

Ordena por rs_momentum_score = pendiente del RS line en las últimas N sesiones (rs_delta_pct, % scale-free para no premiar solo a los de RS ya altísimo) + resiliencia (retorno_stock − retorno_SPY) sumada solo cuando el SPY cae en la ventana. Ventana configurable: 3 / 5 / 10 sesiones. El badge aguantó marca los que cerraron planos o positivos mientras el SPY bajó — la señal de mayor calidad para anticipar al líder del rebote.

Puntuación y ranking — cómo se evalúa cada acción

Esta es la matemática que decide qué acciones aparecen primero. Cada lista usa scores distintos, y los scores se componen de varios sub-scores. Cada uno está documentado con su fórmula exacta. Cumplir los criterios filtra; el score ordena. Cumplir + tener score bajo significa quedarse fuera del cutoff de su lista.

Capas del scoring — del dato crudo al ranking final

El score final de un setup en /actionable se compone en 5 capas:

[1] indicadores crudos (price, EMA, RS, vol)
[2] sub-scores normalizados (pullback_quality, vcp_score, weekly_trend_quality)
[3] priority_score base = Σ(sub-scores × pesos)
[4] final_priority = base × context_mult × group_mult
[5] sort + cutoff top-N

Los siguientes bloques desarman cada capa.

[2a] pullback_quality_score — 0 a 100

Componente más importante del priority_score. Mide qué tan "ordenada" está la retracción. Suma de 5 sub-componentes (todos los thresholds son ATR-normalizados):

Proximidad a EMA9 (max 25)
|d_ema9_atr| ≤ 0.5 → +25 / ≤ 1.0 → +20 / ≤ 1.5 → +15 / ≤ 2.0 → +10cuanto más cerca del EMA9, más fresco el pullback
Proximidad a EMA21 (max 20)
|d_ema21_atr| ≤ 0.5 → +20 / ≤ 1.0 → +15 / ≤ 1.5 → +10 / ≤ 2.0 → +5EMA21 como pivot estructural
Cercanía al 52W high (max 20)
d_high_atr ≥ -1 → +20 / ≥ -2 → +15 / ≥ -3 → +10 / ≥ -4 → +5setup fuerte solo cerca de máximos
Weekly tightness (max 10)
weekly_tightness × 10contracción semanal de rango
Volume contraction (max 10)
max(0, volume_contraction) × 10volumen secándose en el pullback
Weekly trend quality (max 25)
weekly_trend_quality × 25factor más pesado — calidad de la tendencia semanal

Total clampeado a [0, 100]. pullback_quality_score ≥ 55 es el threshold de entrada a /actionable; ≥ 70 es "excellent".

[2b] vcp_score — 0 a 100 (Volatility Contraction Pattern)

Score que detecta el patrón VCP de Minervini (Volatility Contraction Pattern): contracciones sucesivas con depth decreciente y volumen secándose.

Count score (max 40)
min(40, count_contractions × 15)número de contracciones detectadas en 20d (más es mejor hasta 3+)
Narrowing score (max 40)
(% pairs donde depth(i) > depth(i+1)) × 40contracciones que se achican secuencialmente — patrón clásico VCP
Volume score (max 20)
(1 - vol_second_half/vol_first_half) × 40, capped en 20volumen segunda mitad de los 20d / volumen primera mitad

Limitación conocida: al medir sobre solo 20 velas diarias con piso duro en 0 si no hay 2+ contracciones, deja en cero la mayoría de las bases multi-semana (el ápice apretado tiene pocos swings). Por eso ya NO es el gate de Building Bases (que ahora rankea por contracción de rango relativa: rango reciente ÷ previo). El vcp_score se conserva como dato de referencia/secundario, no como filtro.

[3] priority_score base — para /actionable

Cada candidato del top 50 (ya filtrado por SQL y ordenado por pullback_quality) recibe un score base entre 0 y ~1.0:

base = 0.40 × pq/100
+ 0.25 × freshness_score(days_in_state)
+ regime_alignment_weight (0.08–0.20)
+ 0.15 × pq/100
+ regime_setup_confidence_adjust (residual, < 0.1)

Notar que pullback_quality contribuye dos veces: 40% como "pullback quality" + 15% como "leader quality" = 55% efectivo del base score. Es por diseño: la quality del pullback es la señal dominante.

[3a] Freshness decay — cuánto pierde el score con días en estado

days_in_state = días que el stock lleva en su estado actual (e.g. EMA9_PULLBACK). Más viejo = score menor.

1–3 días
freshness = 1.00 (peak)setup fresco — máxima confianza temporal
4–7 días
freshness = 0.75 (bueno)aún operable
8–14 días
freshness = 0.45 (moderado)late-stage — el contexto pudo cambiar
15–20 días
freshness = 0.20 (stale)precaución alta
21+ días
freshness = 0.10 (extended)ya no es setup fresco

Tabla expuesta en el card como badge (fresh / aging / late / stale / extended).

[3b] Regime alignment weight

Componente que vale 0.08–0.20 según el régimen detectado por MarketRegimeEngine:

risk_on
+0.20amplitud + liderazgo saludables — todo suma
choppy
+0.14lateral / oscilante
transition
+0.12cambiando entre regímenes
risk_off
+0.08risk-off — incluso buenos setups pagan penalty
default
+0.14cuando el régimen no matchea ningún preset

[4] Multipliers compositivos

El base se multiplica por DOS factores externos antes del clamp:

final_priority = min(1.0, base × context_multiplier × group_multiplier)

Context multiplier (participation × leadership)

COLLAPSING participation (cualquier liderazgo)
× 0.50 + suprime u-and-r, emerging-leadersregla más fuerte — colapso de amplitud domina
NARROWING + THINNING/COLLAPSING/EXHAUSTED
× 0.70 + suprime emerging-leadersamplitud achicándose + liderazgo adverso
EXHAUSTED leadership override (no COLLAPSING)
× 0.60 + badge 'exhausted'liderazgo climáctico — riesgo de techo
EXPANDING + EXPANDING/HEALTHY
× 1.10 (boost)amplitud creciente + liderazgo sano
STABLE / UNKNOWN / cualquier otra combinación
× 1.00 (neutro)incluye cold-start con descriptores UNKNOWN — NUNCA suprime

Group multiplier (market group performance)

Top 20% de los ~25 groups por perf_monthly
× 1.15 (leader)boost por estar en grupo líder rotacionalmente
Bottom 20%
× 0.85 (weak)penalty por grupo débil rotacionalmente
Middle 60% o group_count < 5 (sample escaso)
× 1.00 (neutral)grupos con <5 stocks no se rankean por confianza estadística

Group strength se basa en performance_monthly del market group del stock (e.g. "Electronic Technology", "Renewables"). Hay ~25 groups canónicos.

Regime cont multiplier (solo aplica a continuation_prob)

risk_on
× 1.00
choppy
× 0.85
transition
× 0.80
risk_off
× 0.65

Este multiplier NO afecta priority_score — solo modula la probabilidad de continuación que se muestra en el card.

[5] observation_priority — el score para /live (distinto al de /actionable)

/live NO usa priority_score. Usa otro score 0–100 que mide "qué tan worth monitoring es esta acción ANTES de que reclame":

Structure intactness (30%)
weekly_trend_quality × 15 + d_ema50_atr scoring (>0.5 → +15)estructura intacta = uptrend aún válido
RS persistence (25%)
RS ≥ 110 → 25 / ≥ 105 → 20 / ≥ 100 → 15 / ≥ 97 → 10 / ≥ 95 → 5RS aguantando durante el pullback es la señal institucional clave
Pullback orderliness (20%)
volume_contraction × 12 + rvol scoringrvol < 0.6 → fuerte dry-up; rvol > 1.2 = distribution = 0
Volatility contraction (15%)
weekly_volatility_contraction × 10 + weekly_tightness × 5
Pullback depth quality (10%)
d_ema21_atr ∈ [-1.5, -0.3] → 10 (sweet spot) / [-0.3, 0] → 6 / [-3.0, -1.5] → 5 / < -3 → 2sweet spot: pullback claro pero no demasiado profundo

/live ordena: ENTERING_PULLBACK primero, luego pre_reclaim por observation_priority desc, luego strength. Top 10 sale.

[5] Sort + cutoff por lista

/actionable
top 50 candidates ordenados por pullback_quality desc → score → top 12 por final_priority descDOBLE cutoff: SQL (top 50) y post-score (top 12)
/live
top 10 — entering_pullback FIRST, luego pre_reclaim por observation_priority desc, tiebreak por strengthcutoff estricto en 10
/queue/u-and-r
todos los que pasan filtro — ordenados por (event_age asc, |d21_atr| asc, rs_spy desc)sin cutoff numérico — el filtro es estricto, todos los survivors aparecen
/queue/emerging-leaders
top 30 por perf_13w descsolo los 30 con mejor performance trimestral
/queue/building-bases
líderes Minervini con 6+ sem en base → top 8 por vcp_quality desc (banda + volumen − gap de evento)ranking, no umbral; primero el VCP de mayor calidad
/queue/rs-leaders
líderes Minervini → top 40; orden por rs_spy desc (modo RS 13w) o rs_momentum_score desc (modo RS Momentum)watchlist de días de caída — nunca suprimida por contexto

Por qué un setup puede pasar TODO y no aparecer

Caso real (ARWR, 2026-05-27): el stock pasa los 13 criterios de filtro de /actionable con pullback_quality = 89.40 (el highest del universo). Pero queda fuera del top 12 porque otros 12 stocks tienen final_priority ≥ 1.000 (clamp) después de aplicar context × group multipliers. Resultado: ARWR pasa filtro pero no aparece.

Lo mismo puede pasar en /live (cutoff 10) y /queue/emerging-leaders (cutoff 30). /queue/u-and-r y /queue/building-bases no tienen cutoff numérico: el filtro hace todo el trabajo, todos los survivors aparecen.

Diagnosticar un símbolo específico — usar /stock/[symbol]

Escribí el ticker en el search del nav (esquina superior derecha). El page muestra por cada lista los 3 estados posibles:

✓ verde = pasa criterios Y aparece (con rank exacto N/total)
⚠ amber = pasa criterios pero queda debajo del cutoff top-N (con explicación inline)
✗ rojo = falla uno o más criterios (expandible muestra cuáles y por cuánto)

Además abajo se muestra el detalle Minervini SEPA (8 criterios) y la historia de transitions del último mes con outcome.

Transitions — cambios de estado

El feed de transitions muestra stocks que cambiaron de estado de setup en las últimas horas. No es un screener — es detección de movimientos específicos en stocks que ya cumplen criterios de calidad.

Tipos de transición — pre-reclaim (foco operacional)

Son las que aparecen primero en el feed: el setup nace acá, antes del reclaim. El reclaim es la consecuencia, no el setup.

entering_pullback
Líder retrocediendo hacia una EMA clave (EMA9/EMA21)primera pérdida de EMA con estructura intacta — quality setup formándose
volume_dry_up
El volumen se contrae mientras el precio está bajo las EMAsseñal clave: oferta secándose en el pullback
compressing
El ATR se contrae bajo las EMAsrango achicándose — el setup madura
flush_and_recover
Spike a la baja + recuperación en el díaundercut constructivo — nivel institucional defendido
support_holding
Rebotes en zona de soporte, el nivel aguantainstitucional defendiendo — watch for base
breakout
Líder comprimido cerca de máximos con volumen secocoiling pre-breakout (SEPA Minervini) — punto de compra madurando

Tipos de transición — reclaim / continuación (existen, no dominan)

reclaiming
Recuperando la EMA21señal tardía — el movimiento ya empezó
continuation_holding
Holding sobre EMA21 con estructura sanaposición abierta sosteniendo tendencia
stabilizing
Estabilizándose sin señal direccional claraneutral con sesgo de recuperación

Tipos de transición — deterioro (eliminar)

weakening
RS bajando, estructura deteriorándosemonitorear de cerca — el setup se está degradando
distribution
Volumen expandiendo en la baja, RS colapsadistribución institucional — evitar
failing
EMA50 perdida con volumen, estructura rotasalir — ya no es un setup

stable — no se registra

stable ("monitoring, sin cambio") es el estado por defecto y nunca genera una observación. El feed y la base de transition_observations solo guardan transiciones non-stable. Por eso no aparece en ninguna cola ni en las cohorts empíricas.

Por qué estos nombres importan — son la cohort key empírica

El transition_type que ves acá es exactamente la primera mitad de la clave que usa la probabilidad de continuación empírica: (transition_type, rs_bucket). Cada vez que el sistema reporta "empirical (N=…)", está agrupando todas las observaciones resueltas del mismo transition_type y rango de RS. Por eso un tipo raro como flush_and_recover tarda más en tener suficiente N para salir de rule-based que uno común como entering_pullback.

Qué NO es el feed de transitions

No es una señal de compra automática. Es detección de comportamiento: el sistema observa que algo cambió en la estructura de precio del stock y lo registra. La decisión de entrada siempre requiere confirmar contexto de mercado (participation + leadership) y estructura propia del setup.

Probabilidad de continuación — empirical vs rule-based

Cada setup card muestra un porcentaje que estima la probabilidad de que el setup continúe favorablemente. Debajo del porcentaje aparece una etiqueta que indica de dónde viene ese número. Hay dos orígenes posibles.

empirical (N=…) — calculado sobre observaciones reales

El número viene de observaciones históricas reales almacenadas en la base de datos. El sistema busca todos los setups del mismo tipo y rango de RS que ya se resolvieron, y calcula la tasa de éxito real:

éxitos / (éxitos + fracasos)

Los resultados NEUTRAL (ni claro éxito ni claro fracaso dentro de la ventana de evaluación) se excluyen del denominador. No inflan ni deflactan la tasa — representan ambigüedad genuina.

El número entre paréntesis es el tamaño de la muestra: N=18 significa que la tasa se calculó sobre 18 observaciones resueltas. Un N=5 es el mínimo válido — técnicamente correcto pero estadísticamente escaso. Un N=50+ ya es robusto.

rule-based — fórmula compuesta

No hay suficientes observaciones históricas para este tipo de setup y rango de RS. El sistema usa una fórmula de pesos fijos: calidad semanal (40%), pullback quality (30%), RS vs SPY (20%), contracción de volumen (10%).

Esta fórmula no fue calibrada contra outcomes reales — es heurística. La etiqueta amber sirve para distinguirla visualmente del número empírico. Con el tiempo, a medida que se acumulen observaciones, más setups migrarán a fuente empírica.

Por qué N importa — cómo leer el tamaño de muestra

N < 5
no se reporta — demasiado escasoel sistema usa rule-based automáticamente
N = 5–10
empírico pero mínimoleer con cautela; un outcome diferente cambia mucho la tasa
N = 10–30
empírico moderadoseñal útil, pero puede reflejar un solo régimen de mercado
N > 30
empírico robustola tasa ya refleja múltiples condiciones de mercado

Por qué algunos setups siempre muestran rule-based

Tipos de transición raros o rangos de RS poco frecuentes tienen muy pocas observaciones históricas. El sistema requiere al menos 5 observaciones resueltas para reportar un número empírico. La proporción de setups con fuente empírica crecerá semana a semana a medida que la base de datos acumule más datos.

Cómo el contexto filtra los setups

Los descriptores de Participation y Leadership no son solo informativos — se traducen en decisiones concretas sobre cada lens y cada setup. El sistema aplica un multiplicador al priority_score y puede suprimir lenses completas cuando las condiciones de mercado lo justifican.

Multiplicadores de score — tres niveles

EXPANDING × EXPANDING/HEALTHY
× 1.1 (boost moderado)amplitud creciente + liderazgo sano → señal de alta calidad
STABLE / UNKNOWN
× 1.0 (neutro)sin penalización ni boost — condición base
NARROWING + liderazgo adverso
× 0.7 (reducción)liderazgo THINNING, COLLAPSING o EXHAUSTED
EXHAUSTED leadership (override)
× 0.6 + avisoel multiplicador refleja agotamiento del liderazgo
COLLAPSING participation
× 0.5 (reducción fuerte)colapso de amplitud — prioridades bajadas significativamente

Supresión de lenses — cuándo y cuáles

Dos lenses pueden ser suprimidas por contexto. Building Bases nunca se suprime (formación estructural de semanas — independiente del régimen de corto plazo).

COLLAPSING participation
suprime U&R + Emerging Leaderssin amplitud no hay candidatos de corto horizonte confiables
NARROWING + leadership adverso
suprime Emerging LeadersU&R permanece disponible — líderes establecidos aún pueden configurarse
Building Bases
nunca suprimidala construcción multi-semana es independiente del régimen

Supresión no oculta — respuesta estructurada

Cuando una lens está suprimida, la respuesta del sistema incluye suppressed: true con una razón en español y el context_snapshot que produjo la decisión. La lista de candidatos se calcula igual — el botón "ver de todas formas" la muestra sin un nuevo llamado al servidor.

El sistema siempre dice la verdad. El override es UI-only: el operador puede decidir ignorar la supresión, pero el backend no cambia su evaluación.

EXHAUSTED leadership — la advertencia amber

Cuando leadership = EXHAUSTED (y la combinación no está cubierta por una regla más fuerte), cada setup card muestra un badge amber exhausted junto al porcentaje de continuación. Los setups sobreviven la supresión pero el sistema avisa que el liderazgo está en fase de agotamiento.

UNKNOWN — nunca suprime

Si el motor de contexto devuelve UNKNOWN en cualquier dimensión (arranque en frío, base de datos vacía, cache vencido sin datos), el multiplicador es 1.0 y no se suprime ninguna lens. El sistema nunca restringe la vista del operador por datos ausentes — solo por datos adversos observados.

Barra de contexto — indicador de supresión

La barra superior muestra · suprime N lenses cuando el contexto actual activa alguna regla. Hacer click sobre ese texto muestra cuáles lenses están afectadas. Esto permite correlacionar el estado de la barra con el comportamiento de las colas sin abrir cada una.

Conceptos clave

ATR — Average True Range

El rango promedio diario de movimiento del stock, medido en precio absoluto. Se usa para normalizar distancias: en lugar de decir "el precio está $2 bajo la EMA21", se dice "está −0.8 ATR bajo la EMA21". Esto hace que las distancias sean comparables entre stocks de distintos precios y volatilidades.

RS — Relative Strength vs SPY (Mansfield, 13 semanas)

Mide la performance del stock contra el SPY sobre las últimas 13 semanas (65 sesiones), normalizada a 100 con la fórmula Mansfield:

RS = ((1 + retorno_stock_13w) / (1 + retorno_SPY_13w)) × 100

100 = paridad con el SPY · >100 lo superó · <100 quedó debajo. Es un cociente de factores de crecimiento, no una resta: con retornos chicos, RS 115 ≈ ~15% de outperformance, pero la aproximación se rompe con retornos grandes.

La escala no tiene techo: un líder de momentum fuerte que subió +350% en el trimestre da RS ≈ 400+ (≠ el RS-Rating percentil 1–99 tipo IBD, que no es lo que se calcula acá). SPY y QQQ quedan con RS nulo (se excluyen).

Distancias normalizadas por ATR

Muchas métricas de la plataforma expresan distancias en unidades de ATR en lugar de porcentajes. Por ejemplo, distance_to_ema21_atr de +2.5 significa que el precio está a 2.5 rangos diarios sobre su EMA21. Encima de +3 ATR se considera sobreextendido.

Por qué no hay un score único de mercado

Un número único como "mercado al 72%" o una etiqueta como "risk on" colapsa información en una dimensión y oculta contradicciones internas. Un mercado puede tener breadth expanding mientras el liderazgo se agota — eso es información crítica que un score único borra. La plataforma reporta dimensiones separadas para que el operador pueda ver esas contradicciones.