Esto lo convierte en una buena base para generar la columna de “próximo resultado” dentro de tu lista de señales.
Si tu objetivo principal es saber si el resultado superó o no el consenso, AInvest ofrece un endpoint de calendario con campos muy útiles.
Ejemplo de respuesta del API:
eps_actualeps_forecasteps_surpriserevenue_actualrevenue_forecastEstos campos permiten determinar directamente el resultado:
eps_actual > eps_forecast → Beat (superó expectativas)eps_actual < eps_forecast → Miss (por debajo de expectativas)eps_actual == eps_forecast → Inline (en línea con expectativas)El endpoint se consulta con:
GET /calendar/earnings
requiriendo autenticación mediante token.
Otra alternativa es el endpoint de Earnings Surprises de Bigdata.
Devuelve campos como:
eps_actualeps_estimatedeps_surprise_pctrevenue_actualrevenue_estimatedreporting_dateEsto permite analizar directamente si el resultado fue mejor o peor que las estimaciones sin tener que calcularlo manualmente.
Este tipo de endpoint es especialmente útil para procesos automáticos que revisan earnings ya publicados.
Además de las anteriores, existen varios servicios que proporcionan datos similares:
API Ninjas
StockFit Earnings API
Incluye varios endpoints especializados:
Esto permite construir pipelines completos de análisis de resultados.
EarningsAPI
Algunas implementaciones agrupan los eventos por momento del anuncio:
pre (antes de la apertura)after (después del cierre)lo que facilita mostrar directamente si el resultado fue pre‑market o after‑hours.
MarketData API
También devuelve campos como reportTime con valores como "before market open".
Una forma práctica de integrar todo esto en tu lista de señales podría ser un esquema como este:
ticker
signal_time
earnings_status
earnings_date
earnings_session
eps_actual
eps_estimate
surprise_result
Donde:
earnings_status
earnings_session
surprise_result
Lógica de ejemplo en Python:
if eps_actual is None:
result = "pending"
elif eps_actual > eps_estimate:
result = "beat"
elif eps_actual < eps_estimate:
result = "miss"
else:
result = "inline"
Si necesitas integrar información de resultados corporativos en un sistema de señales o trading, una arquitectura práctica sería:
Con esta combinación puedes construir una columna automática en tu lista de señales que muestre algo como:
12‑05 pre‑marketafter‑hoursBeatMisssin necesidad de procesar manualmente los datos cada día.