Metodología de screeners
Cómo filtran los screeners de Drogo el universo en vivo, qué datos usa cada filtro y con qué frecuencia se actualiza.
Última revisión:
Universo y cadencia
El universo por defecto del screener es "todas las acciones comunes y ETFs cotizados en EE. UU. con listado primario en NYSE, NASDAQ, NYSE-American o Cboe BZX, más los 200 pares cripto principales por volumen spot rolling de 30 días en Binance y Coinbase". El usuario puede restringirlo al S&P 500, Nasdaq 100, Russell 2000, ETFs sectoriales o una watchlist personalizada.
Los filtros que usan datos de precio/volumen se refrescan en cada corrida y leen la última barra completada en la resolución elegida (default: 1D). Los filtros que usan fundamentales (P/E, market cap, sector, industria) se refrescan cada noche desde el snapshot de fundamentales de Polygon. Los filtros que usan señales derivadas (RSI, breakouts, gaps) se recomputan en cada corrida desde el OHLCV subyacente —no se cachean a nivel de valor—.
Taxonomía de filtros
Filtros de precio — último precio entre X y Y, gap intradía ≥ X %, retorno en los últimos N días ≥ X %. Calculados desde /history. No se aplica ajuste por supervivencia a los filtros en vivo, porque el universo en vivo, por definición, no contiene deslistados.
Filtros de volumen — volumen promedio en dólares de los últimos N días ≥ X, volumen de hoy ≥ X× la media de N días. Se recomiendan los umbrales de volumen en dólares por encima de los de volumen en acciones porque manejan correctamente las acciones de alto precio (BRK.A) y las de bajo precio (penny stocks).
Filtros de indicadores — RSI(14) ≤ X (sobreventa) o ≥ Y (sobrecompra), cruce de señal MACD, SMA de 50 vs 200, ATR(14) ≥ X % del precio (régimen de volatilidad). Todos los indicadores usan las fórmulas de Wilder cuando aplica; ver la página de metodología de señales para definiciones exactas.
Filtros fundamentales — market cap, P/E, P/B, dividend yield, crecimiento EPS YoY, sector, industria. Fuente: fundamentales de Polygon a la fecha del último trimestre cerrado.
Pipeline de backend
Una corrida de screener es un POST sin estado a /screener/run que lleva el payload de filtros codificado en JSON. La API de datos resuelve cada filtro contra slices OHLCV cacheados en Redis (TTL 60 s en la barra más reciente, 5 minutos en barras anteriores), computa señales derivadas al vuelo, intersecta los conjuntos de símbolos y devuelve una lista deduplicada de tickers ordenada por liquidez (volumen en dólares descendente).
La UI de screener dentro de la aplicación y las páginas SSR públicas /screeners/{slug} llaman al mismo endpoint con el mismo set canónico de filtros, por lo que lo que ves en la página pública coincide bit a bit con lo que verías al abrir el screener en el terminal en ese mismo momento (módulo la ventana de caché de ~60 s).
Limitaciones y sesgos conocidos
Las páginas públicas de screener muestran solo los 50 mejores resultados, ranqueados por liquidez. El conjunto completo está disponible en el terminal.
Los screeners que usan resoluciones intradía durante el horario regular pueden producir resultados inconsistentes entre re-ejecuciones dentro del mismo minuto, porque la barra en curso se excluye pero su volumen es monotónicamente creciente. Es intencional: cotizar la barra en curso causaría look-ahead en cualquier alerta definida por el usuario sobre el screener.
Los screeners cripto excluyen pares con menos de 14 días de historia, aun cuando técnicamente pasen los filtros del usuario. Esto evita los artefactos de "pump por nuevo listado".
Cómo elegimos los slugs canónicos del screener
El catálogo canónico de screeners (src/lib/seo/screener-catalog.ts) lista los screeners con URL pública estable. Solo añadimos un slug si (a) los filtros subyacentes son inequívocos e independientes del idioma, (b) el conjunto de resultados ha tenido al menos un match cada día de mercado de los últimos 90 días, y (c) el concepto de la estrategia está documentado en un artículo de Learn.
Los screeners que dependen del contexto de un usuario específico (su watchlist, sus indicadores personalizados, sus notas privadas) no obtienen slug público.
Registro de cambios
- — Initial publication.
- — Documented public-page top-50 result cap and explained why crypto pairs require ≥ 14 days of history.
Referencias
Drogo Research — Editorial cuantitativa
Reviewed for factual accuracy; methodology linked below.