Spaces:
Running
Documento de Especificaciones T茅cnicas: Munger Intelligence Engine API
Versi贸n: 1.0
Tecnolog铆as: Node.js, Next.js (App Router), TypeScript, yahoo-finance2
Despliegue: Hugging Face Spaces (Docker)
1. Resumen del Proyecto
El "Munger Intelligence Engine" es una API de an谩lisis financiero dise帽ada para automatizar la estrategia de inversi贸n de Charlie Munger: comprar empresas de "alta calidad" cuando cotizan cerca de su media m贸vil de 200 semanas (200-WMA). El sistema debe realizar descargas diarias, filtrar por capitalizaci贸n de mercado y gestionar estados de se帽ales en tiempo real.
2. Definici贸n de la Watchlist e Ingesta de Datos
2.1 Segmentaci贸n por Capitalizaci贸n (Market Cap)
El sistema debe ignorar cualquier activo que no cumpla con los umbrales de seguridad institucional:
- Elite Compounders (Mega Cap): > $100B. Empresas con fosos econ贸micos globales.
- Blue Chips (Large Cap): > $10B. Est谩ndar m铆nimo de liquidez y estabilidad para la estrategia.
2.2 Estrategia de Descarga Paralelizada (Batching)
Para optimizar el rendimiento y evitar bloqueos de IP/Rate Limiting de Yahoo Finance:
- Tama帽o de Lote (Batch): 50 tickers por iteraci贸n.
- Concurrencia: Utilizar
Promise.allpara procesar los 50 tickers de cada lote simult谩neamente. - Frecuencia: Descarga diaria automatizada de
quoteyquoteSummary.
3. L贸gica del Motor de An谩lisis (Munger Strategy)
Cada ticker debe ser evaluado bajo tres filtros secuenciales:
- Filtro Fundamental (Calidad):
- ROE (Return on Equity): > 15% (M铆nimo), > 25% (Excelente).
- Debt/Equity: < 50% (M铆nimo), < 15% (Ideal).
- Filtro T茅cnico (Valor):
- 200-WMA: Media m贸vil simple de los 煤ltimos 200 cierres semanales.
- Gatillo (Trigger): Precio Actual $\leq$ (200-WMA * 1.05).
- Margen de Seguridad: Diferencia porcentual entre el Precio Actual y el Target Mean de analistas.
4. Gesti贸n de Estados por Ticker
El sistema debe mantener un estado persistente para cada ticker en la base de datos o archivo de estado en Hugging Face:
| Estado | Descripci贸n |
|---|---|
SCANNING |
Iniciando descarga de datos de yahoo-finance2. |
FILTERING |
Validando Market Cap y m茅tricas de calidad (ROE/Deuda). |
TECHNICAL_EVAL |
Calculando posici贸n respecto a la 200-WMA. |
SIGNAL_READY |
Activo listo para compra o seguimiento activo. |
ERROR |
Fallo en la ingesta de datos o ticker no encontrado. |
5. Especificaci贸n de Endpoints de la API
GET /api/v1/health
- Prop贸sito: Monitorizaci贸n del sistema y estado de las APIs externas.
- Response: JSON con
status,last_sync_timestampyapi_latency.
POST /api/v1/sync
- Prop贸sito: Disparador del ciclo de descarga diaria (v铆a Cron).
- L贸gica: Ejecuta el procesamiento por lotes (50 tickers) usando
Promise.all. - Payload:
{ "force": boolean, "segments": ["mega", "large"] }.
GET /api/v1/signals
- Prop贸sito: Listar oportunidades activas para el Dashboard.
- Filtros: Por
sector,munger_score(0-100) yupside. - Response: Array de objetos
MungerStock.
GET /api/v1/ticker/:id
- Prop贸sito: Deep Dive de un activo espec铆fico.
- Response: Detalle completo incluyendo
quoteSummary, hist贸rico de WMA y catalizadores fundamentales.
GET /api/v1/portfolio
- Prop贸sito: Estado de las posiciones actuales en Alpaca (Paper Trading).
- Response: Equity total, P&L de posiciones y "D铆as de Disciplina" (tiempo sin trades impulsivos).
6. Despliegue en Hugging Face Spaces
- Docker Image: Base
node:20-slim. - Persistencia: Utilizar HF Datasets o R2 de Cloudflare para evitar p茅rdida de datos por reinicio del Space.
- Variables de Entorno:
ALPACA_KEY,ALPACA_SECRET,HF_TOKEN.