[ blog · tutorial ]12 min read

Cómo construir un agente de investigación de inversiones: mercados, fundamentales, SEC y datos económicos en una sola API

Sarah ChoyPublicado el 16 de junio de 202612 min de lectura
Cómo construir un agente de investigación de inversiones: mercados, fundamentales, SEC y datos económicos en una sola API

Un agente de investigación de inversiones necesita cinco capas de datos distintas — precios, fundamentales, filings, macro y noticias — cada una normalmente un proveedor, una clave y un schema aparte. Aquí está cómo conectar las cinco detrás de un solo conjunto de endpoints, con código que funciona y las cuentas de coste.

Resumen

  • Un agente financiero útil necesita cinco capas de datos: mercados en tiempo real (precios), fundamentales de empresas (estados financieros), filings de la SEC, indicadores económicos y noticias. Cosido a partir de proveedores distintos son 5 contratos, 5 claves y 5 schemas.
  • API Pick expone las cinco como endpoints de búsqueda JSON consistentes — /search/markets, /search/financials, /search/sec, /search/economic, /search/news — más /extract para documentos completos. Una sola clave, ya conformada para el tool calling de LLM.
  • El patrón del agente: corre los endpoints relevantes en paralelo como herramientas, fusiona el JSON y deja que el modelo razone sobre datos anclados en lugar de alucinar cifras.
  • El precio en créditos es solo-si-acierta: markets 120, financials 200, sec 120, economic 50, news 15 por llamada. Un turno típico de investigación multi-herramienta cuesta bastante por debajo de $0.01–$0.10 según la profundidad.
  • Construir-vs-comprar: ensamblar tú mismo Polygon + un proveedor de fundamentales + SEC EDGAR + FRED + una API de noticias son semanas de integración y 5 facturas mensuales; la vía de un solo endpoint es un día.

El problema de las cinco capas

Pregúntale a un LLM "¿está cara NVIDIA ahora mismo?" y se inventará un PER con total aplomo. El arreglo no es un modelo más grande — es el anclaje. Un agente de research que se gana la confianza tiene que traer datos vivos y citados a lo largo de cinco capas, y luego razonar sobre ellos:

  • Mercados — el precio actual, la capitalización y cómo se ha movido. Cripto, forex, ETF y los que más se mueven en el día cuando viene al caso.
  • Fundamentales — balance, cuenta de resultados, flujo de caja, dividendos y transacciones de insiders. La capa de "¿está sano el negocio de verdad?".
  • Filings de la SEC — factores de riesgo del 10-K, detalle del 10-Q, eventos de 8-K, lenguaje de las earnings calls. La dimensión cualitativa que las cifras no captan.
  • Indicadores económicos — tipos, inflación, empleo, PIB de FRED, BLS, el Banco Mundial y el IMF. El telón de fondo macro dentro del que vive toda tesis.
  • Noticias — el catalizador oportuno: una rebaja de rating, un lanzamiento de producto, una acción regulatoria.

Cosido a partir de proveedores distintos, eso son cinco contratos, cinco claves de API, cinco regímenes de rate-limit y cinco schemas de respuesta que tienes que normalizar antes de que un modelo pueda tocarlos. La integración es donde se atascan los proyectos de agentes financieros.

Un conjunto de endpoints, cinco capas

API Pick expone cada capa como un endpoint de búsqueda JSON consistente, de modo que el agente habla con una sola clave y una sola forma de respuesta:

  • Markets Search — renta variable global y de EE. UU., cripto, forex, ETF, fondos, materias primas y los valores que más se mueven en EE. UU.
  • Financials Search — balances, cuentas de resultados, flujo de caja, dividendos, transacciones de insiders.
  • SEC Filings Search — 10-K/10-Q/8-K, transcripciones de resultados, estadísticas de equity.
  • Economic Data Search — FRED, BLS, Banco Mundial, IMF, USAspending, Destatis.
  • News Search — noticias filtradas por fecha de los principales medios.
  • Extract — trae un filing o artículo completo a markdown limpio cuando un fragmento no basta.

La arquitectura del agente

Registra cada endpoint como una herramienta. Cuando llega una pregunta, el agente decide qué capas necesita, las llama en paralelo, fusiona el JSON y razona sobre el resultado anclado. Una pregunta sobre un ticker toca markets + fundamentales + noticias; una pregunta de "cómo está posicionado el sector" toca economic + noticias + un par de comparables.

import asyncio, httpx, os

API = "https://api.apipick.com/v1"
HEADERS = {"x-api-key": os.environ["APIPICK_KEY"], "Content-Type": "application/json"}

async def search(client, path, query, **kw):
    r = await client.post(f"{API}/{path}", headers=HEADERS,
                          json={"query": query, **kw})
    r.raise_for_status()
    return r.json()["results"]

async def research(ticker: str):
    async with httpx.AsyncClient(timeout=30) as c:
        markets, fundamentals, filings, macro, news = await asyncio.gather(
            search(c, "search/markets",    f"{ticker} price and market cap"),
            search(c, "search/financials", f"{ticker} latest balance sheet and cash flow"),
            search(c, "search/sec",        f"{ticker} 10-K risk factors", end_date="2026-06-16"),
            search(c, "search/economic",   "US interest rates and inflation latest"),
            search(c, "search/news",       f"{ticker} latest news", end_date="2026-06-16"),
        )
    return {"markets": markets, "fundamentals": fundamentals,
            "filings": filings, "macro": macro, "news": news}

# Feed the merged JSON back to your LLM as grounding, with the source URLs,
# and ask it to synthesize — never to recall numbers.
context = asyncio.run(research("NVDA"))

Cada resultado lleva una URL source. Pásalas hasta la respuesta final para que un humano pueda auditar cada afirmación — y para que la salida del agente sea citable, que es lo que la hace útil en un flujo de trabajo real.

Construir vs. comprar

Ensamblarlo tú mismoAPI Pick
Proveedores / claves~5 (Polygon, fundamentales, EDGAR, FRED, noticias)1
Formas de respuesta5 a normalizar1 forma de JSON
Tiempo hasta el primer agenteSemanas de integraciónUn día
Facturación5 suscripciones mensualesPor llamada, solo si acierta
Listo para LLMConformas cada unaFragmentos preconformados + URLs de origen

Para un solo tipo de dato, ir directo es razonable. Para un agente que necesita las cinco y explora de forma impredecible, la vía de un solo endpoint se lanza en un día y solo factura cuando una llamada acierta.

Lo que esto desbloquea

Las mismas cinco herramientas alimentan mucho más que lookups de tickers: agentes de briefing de temporada de resultados, screens sectoriales anclados en fundamentales, comentario de cartera consciente de la macro y asistentes de diligence que leen el 10-K de verdad vía Extract. El patrón es siempre el mismo — llamadas a herramientas ancladas, recuperación en paralelo, síntesis sobre datos reales con las fuentes adjuntas.

Empieza con una clave gratuita (100 créditos, sin tarjeta) y conecta las cinco herramientas al framework de agentes que prefieras. A partir de ahí es ingeniería de prompts, no fontanería.

Preguntas frecuentes

¿Qué datos necesita realmente un agente de investigación de inversiones?

Cinco capas. (1) Mercados en tiempo real — precios, cripto, forex, ETF, los que más se mueven, para la pregunta de 'qué está haciendo ahora'. (2) Fundamentales — balance, cuenta de resultados, flujo de caja, dividendos, transacciones de insiders. (3) Filings de la SEC — texto de 10-K/10-Q/8-K y transcripciones de resultados para señales cualitativas. (4) Indicadores económicos — FRED, BLS, Banco Mundial, IMF para el telón de fondo macro. (5) Noticias — catalizadores oportunos. La mayoría de los agentes fallan porque tienen precios pero no fundamentales, o fundamentales pero no contexto macro.

¿Por qué no llamar directamente a Polygon, FRED y SEC EDGAR?

Puedes — y para un solo tipo de dato está bien. El dolor es que el agente necesita los cinco: eso son cinco proveedores, cinco esquemas de autenticación, cinco regímenes de rate-limit, cinco formas de respuesta que tienes que normalizar antes de que el LLM pueda usarlas, y cinco facturas. El enfoque de un solo endpoint cambia una pequeña prima por llamada por una clave, una forma de JSON y facturación solo-si-acierta — que, para un agente que hace llamadas exploratorias multi-herramienta, suele ser la vía más barata y mucho más rápida para lanzar.

¿Cómo evito que el LLM alucine cifras financieras?

Nunca dejes que el modelo produzca cifras de memoria. Convierte cada fuente de datos en una herramienta, obliga al agente a llamarla y pásale de vuelta el JSON devuelto como anclaje. El trabajo del modelo es razonar y sintetizar sobre valores recuperados, no recordarlos. Cita la URL de origen de cada resultado para que la salida sea auditable — eso es también lo que hace que la respuesta sea fiable para un revisor humano.

¿La salida sirve para operar o asesorar de verdad?

No. La salida de una API de recuperación es informativa. Ancla el razonamiento de un analista o de un agente en datos reales; no es asesoramiento de inversión y no debe usarse como señal de trading automatizada sin un humano cualificado y controles de riesgo adecuados. Trata al agente como un acelerador de research, no como quien decide.

¿Cuánto cuesta un turno de investigación?

La facturación es por llamada exitosa: markets 120 créditos, financials 200, sec 120, economic 50, news 15 (1000 créditos ≈ $1). Un turno enfocado que toca markets + fundamentales + noticias son ~335 créditos (~$0.34); un turno más ligero de macro+noticias son ~65 créditos. Solo pagas en HTTP 200, así que las llamadas fallidas o vacías no cuestan nada — algo que importa cuando un agente explora.

APIs usadas en este artículo

Sarah Choy
Escrito por
Sarah Choy
CEO, API Pick

Sarah Choy es la CEO de API Pick. Escribe sobre cómo construir APIs listas para producción para agentes de IA y flujos de trabajo con LLMs.