14 de agosto de 2026 · Por YasKad
ZhuLinsen/daily_stock_analysis

daily_stock_analysis: análisis bursátil automatizado con modelos de lenguaje

ZhuLinsen/daily_stock_analysis · 65.635★ · 54.824 forks

Todo lo que hay que saber sobre ZhuLinsen/daily_stock_analysis: un sistema en Python que reúne datos de varios mercados, genera informes de decisión y los entrega por canales de mensajería o tareas programadas.


Qué es daily_stock_analysis

daily_stock_analysis (también denominado DSA en su documentación) es una aplicación de análisis de acciones basada en modelos de lenguaje. A partir de una lista de seguimiento, obtiene cotizaciones, velas, indicadores, noticias, anuncios y datos fundamentales; construye un informe con puntuación, tendencia, posibles niveles de entrada o salida, alertas de riesgo, catalizadores y una lista de acciones. No ejecuta operaciones: incluso la integración documentada de cartera Futu es de solo lectura.

El alcance declarado comprende acciones y ETF de China continental, Hong Kong, Estados Unidos, Japón, Corea y Taiwán. Puede usarse como ejecución puntual de línea de comandos, interfaz Web y de escritorio, servicio FastAPI, contenedor Docker, tarea local o flujo de GitHub Actions. Los resultados se pueden enviar a WeCom, Feishu, Telegram, Discord, Slack o correo electrónico.

Representación de la distribución automatizada de mensajes desde un servidor central hacia iconos de WeCom, Feishu, Telegram, Discord y Slack.

La documentación insiste en un límite importante: las fuentes gratuitas, entre ellas AkShare, Baostock y YFinance, pueden imponer límites, cambiar sus interfaces o fallar según la red. Por tanto, un informe es una ayuda de investigación basada en los datos recuperados, no una recomendación de inversión ni una garantía sobre disponibilidad o exactitud.

El origen: un proyecto personal convertido en plataforma de varios mercados

La API de GitHub fecha la creación de ZhuLinsen/daily_stock_analysis el 10 de enero de 2026. Su autor y principal contribuidor visible es la cuenta ZhuLinsen; la API atribuye 442 contribuciones al repositorio, seguida por massif-01 con 159 y freesme con 61 en la consulta realizada.

No se recuperó una entrada de lanzamiento del autor ni una entrevista que explique una historia fundacional más detallada. La narrativa verificable procede, por ello, del propio repositorio: empezó con una orientación a acciones A y posteriormente sus documentos y versiones registran soporte para Hong Kong, Estados Unidos, Japón, Corea y Taiwán, una interfaz Web, automatización y una capa de agentes. La primera versión pública recuperada en las notas de versiones consultadas es la serie v3, lo que prueba evolución activa, pero no permite reconstruir con rigor versiones anteriores.

Filosofía y principios

La propuesta combina tres ideas documentadas:

  • Investigación repetible antes que una consulta aislada: una lista de valores, fuentes de mercado y noticias alimentan un panel de decisión estructurado; el usuario puede repetirlo cada día o programarlo.
  • Resiliencia mediante varias fuentes: el proyecto combina proveedores de cotizaciones, datos fundamentales y búsqueda de noticias, con conmutación y cortacircuitos cuando una fuente falla.
  • Separar automatización y ejecución bursátil: automatiza la recopilación, el informe y el envío; la importación de Futu solo lee cuentas y posiciones y no coloca, modifica, cancela ni desbloquea órdenes.
  • Configuración gradual: se puede comenzar con al menos una clave de modelo y fuentes gratuitas, pero la documentación recomienda fuentes con credenciales para ejecuciones programadas y cotizaciones más estables.

Representación de un cortacircuitos digital que desvía un flujo de datos hacia una ruta alternativa cuando una fuente falla.

Cómo funciona

El flujo normal es: STOCK_LIST o un argumento --stocks define los símbolos; el sistema recupera datos de mercado, noticias y contexto; un proveedor de modelos construye el análisis; y finalmente guarda o distribuye el informe. La interfaz incluye análisis manual, progreso de tareas, historial, informes Markdown, retroprueba, cartera, importación de símbolos y una conversación estratégica con agentes.

Paneles de una interfaz Web y de escritorio en modo oscuro que muestran análisis manual, progreso de tareas, retroprueba y conversación estratégica con agentes.

Entre sus integraciones documentadas figuran modelos compatibles con OpenAI, Gemini, Claude, DeepSeek, Qwen y Ollama; fuentes TickFlow, AkShare, Tushare, Pytdx, Baostock, YFinance y Longbridge; y búsqueda de noticias mediante Anspire, SerpAPI, Tavily, Bocha, Brave, MiniMax o SearXNG. La prioridad de configuración del enrutamiento de modelos es LITELLM_CONFIG → LLM_CHANNELS → claves heredadas: activar una capa superior hace que las inferiores no se usen.

Nodos de fuentes de datos como AkShare, YFinance y TickFlow alimentando una unidad de procesamiento central.

Logotipos de modelos de IA como OpenAI, Gemini, Claude, DeepSeek y Ollama orbitando un núcleo de procesamiento central.

La versión v3.29.0, publicada el 2 de agosto de 2026, incorporó al producto el núcleo de selección inspirado en AlphaSift, historial de ejecuciones y fuentes, análisis profundo de candidatos y evaluación de resultados de opiniones. Sus notas describen pesos de ejecución acotados que solo se habilitan tras un umbral de 30 muestras evaluadas; es una característica declarada por el proyecto, no evidencia independiente de rendimiento financiero.

Estado oficial y semioficial

El repositorio enlaza un sitio propio, https://dsa.zhulinsen.tech, y publica imágenes oficiales en Docker Hub bajo zhulinsen/daily_stock_analysis. No se recuperó evidencia de inclusión en un mercado oficial de un proveedor de IA, de un aval de una bolsa o de una designación de estándar. El distintivo de GitHub Actions del README solo indica que el repositorio contiene flujos de Actions, no una certificación por GitHub.

La fuerte actividad de bifurcaciones muestra reutilización comunitaria, pero no equivale a respaldo oficial. La página de Docker Hub recuperada mostraba 99.584 descargas, una medida de extracciones de la imagen, no de usuarios únicos ni de instalaciones activas.

El ecosistema

Repositorios del mismo autor

La consulta de repositorios públicos de ZhuLinsen identificó estos proyectos relacionados:

Mapa de un ecosistema digital con daily_stock_analysis como nodo central conectado a alphasift, alphaevo, MiniAgent y FastDatasets.

  • ZhuLinsen/alphasift — motor de selección de acciones con descubrimiento de mercado, ordenación por modelo de lenguaje, puntuación sensible al riesgo y evaluación auditable; 328 estrellas y 189 bifurcaciones. DSA lo integra como una opción de selección configurable.
  • ZhuLinsen/alphaevo — agente de investigación de estrategias y retroprueba con autoevolución, según su descripción; 173 estrellas y 68 bifurcaciones.
  • ZhuLinsen/MiniAgent — demostración de asistente de programación y agente de línea de comandos; 185 estrellas y 40 bifurcaciones. Es un proyecto de otro dominio, no un componente necesario de DSA.
  • ZhuLinsen/FastDatasets — herramienta para generar conjuntos de datos de entrenamiento para modelos de lenguaje; 223 estrellas y 43 bifurcaciones. Tampoco es una dependencia documentada de DSA.

Bifurcaciones, adaptaciones y extensiones

El extremo de bifurcaciones de GitHub devolvió 51.498 bifurcaciones para el proyecto principal. Las de mayor número de estrellas recuperadas fueron zmm1234/daily_stock_analysis (57), herylee/daily_stock_analysis (34), BigHit1/daily_stock_analysis (18) y freesme/daily_stock_analysis (13). Sus descripciones conservan el enfoque de análisis de mercados chinos, Hong Kong y Estados Unidos; la consulta no demostró que constituyan puertos independientes, por lo que se clasifican como bifurcaciones y no como productos separados.

También aparecieron extensiones no marcadas como bifurcaciones:

  • BZ-coding/dsa-mcp se describe como un puerto de las capacidades de análisis de DSA a un servidor MCP; en la búsqueda recuperada tenía 0 estrellas. Es una extensión comunitaria, no oficial.
  • leonlau/daily_stock_analysis-ci se describe como espejo automatizado que construye y publica una imagen Docker desde las versiones de DSA; en la búsqueda recuperada tenía 0 estrellas. No es una distribución mantenida por el autor.
  • AandBorC/daily-stock-analysis-qitian se presenta explícitamente como edición de aprendizaje bifurcada de DSA; tenía 1 estrella y 3 bifurcaciones. Su descripción está en chino, por lo que constituye una adaptación comunitaria no inglesa verificada.

No se recuperaron traducciones comunitarias completas ni un mercado oficial de complementos para DSA. El repositorio principal sí publica documentación oficial en chino simplificado, inglés y chino tradicional.

Números del repositorio

Medición: 5 de agosto de 2026, API de GitHub y Docker Hub.

MétricaValor
Estrellas60.185
Bifurcaciones51.498
Suscriptores reales233
Incidencias abiertas según la API45
Lenguaje principalPython
LicenciaMIT
Creación10 de enero de 2026
Último envío recuperado5 de agosto de 2026
Última versiónv3.29.0, 2 de agosto de 2026
Descargas indicadas por Docker Hub99.584

Entre los contribuidores principales que devolvió la API están ZhuLinsen (442), massif-01 (159), freesme (61), Activer007 (29) y birdxs (19). La consulta recuperó los 15 commits más recientes, no una paginación completa, de modo que no se declara un total de commits.

La API general de GitHub replica las estrellas en watchers_count; por eso se informa subscribers_count como suscriptores reales. open_issues_count puede incluir solicitudes de cambios abiertas y no debe leerse como incidencias exclusivamente. El metadato updated_at entregado por la API fue 2026-08-05T21:21:56Z; se transcribe literalmente aunque pueda ser posterior a la hora de ejecución de esta investigación.

Cómo contribuir

La guía oficial solicita buscar primero incidencias existentes y usar las plantillas de error o petición de función. Para código, el flujo es bifurcar, crear una rama como feature/your-feature, confirmar, subirla y abrir una solicitud de cambios contra main. Exige mensajes Conventional Commits y estilo PEP 8 con líneas de hasta 120 caracteres.

Las comprobaciones de integración continua documentadas son backend-gate (compilación, errores críticos de flake8, pruebas y pytest sin red), docker-build y, cuando cambia apps/dsa-web/, web-gate con npm run lint y npm run build. Para probar localmente, la guía indica ./scripts/ci_gate.sh; para el frontal, npm ci, npm run lint y npm run build desde apps/dsa-web/. Los cambios de documentos chinos principales deben indicar en la solicitud si se actualizó su equivalente en inglés.

Canalización de integración continua con las etapas backend-gate, docker-build y web-gate mostrando verificaciones automáticas.

Cómo lo recibió la comunidad

La evidencia externa directa recuperada es pequeña y no permite afirmar consenso. En Hacker News se localizaron dos envíos que apuntan directamente al repositorio:

  • El hilo 48619147, enviado por vantareed el 21 de junio de 2026, obtuvo 9 puntos y 0 comentarios. El título lo describía como sistema de análisis de varios mercados basado en modelos de lenguaje. Acredita descubrimiento, no una opinión positiva o negativa de la comunidad.
  • El hilo 48682687, enviado por grajmanu el 26 de junio de 2026, obtuvo 2 puntos y 0 comentarios. Tampoco contiene comentarios que permitan atribuir elogios o críticas.

No se recuperaron comentarios verificables sobre DSA en esos hilos. La búsqueda automatizada de Reddit devolvió una pantalla de inicio de sesión, por lo que no se atribuyen publicaciones a r/programming, r/selfhosted, r/LocalLLaMA, r/devops, r/netsec o r/MachineLearning. Tampoco se recuperó una conversación pública verificable de X, una página de Product Hunt, un episodio de pódcast o una nota de newsletter sobre el proyecto.

Sí se recuperaron resultados de YouTube, entre ellos vídeos titulados “Daily Stock Analysis” del canal zhulinsen, “Zero-cost deployment of an AI trading analyst! daily_stock_analysis Complete Guide” de DevCovery y “Análisis diario de acciones: 32K estrellas en un panel de acciones gratuito con IA” de Pablo finanzas. La búsqueda no expuso de forma fiable los contadores de vistas, por lo que no se estiman. Su existencia confirma material de demostración y tutorial, no una evaluación independiente.

La crítica práctica más concreta procede de la propia documentación: las fuentes gratuitas pueden sufrir límites y cambios; la FAQ recomienda reducir la lista o espaciar solicitudes cuando aparece el cortacircuitos. Para inversión, esa advertencia importa más que los dos envíos sin comentarios: un modelo o una automatización no corrigen datos ausentes, atrasados o limitados.

daily_stock_analysis frente a otras propuestas

No se recuperó una comparación externa con metodología, datos y métricas que permita afirmar qué alternativa es superior. La comparación verificable se limita a proyectos relacionados:

PropuestaRelación verificableDiferencia verificable
ZhuLinsen/alphasiftAmbos se ocupan de selección y análisis de acciones; DSA integra el núcleo de selección inspirado en AlphaSift.AlphaSift se describe como motor de selección y evaluación; DSA añade informes, interfaz, programación y notificaciones.
BZ-coding/dsa-mcpSu descripción declara que porta las capacidades de DSA a MCP.Es una extensión comunitaria para exponer capacidades; no sustituye el producto principal ni está mantenida oficialmente.
Bifurcaciones de daily_stock_analysisReutilizan el repositorio y conservan su descripción de análisis basado en modelos de lenguaje.La consulta no verificó cambios técnicos suficientes para tratarlas como competidores independientes.

Guía rápida de uso

Instalación y primer arranque

Ruta rápida con GitHub Actions. Bifurca el repositorio, abre Settings → Secrets and variables → Actions y configura al menos una clave de modelo, STOCK_LIST y un canal de notificación. Después habilita Actions y ejecuta Daily Stock Analysis con Run workflow. El ejemplo oficial de lista es:

STOCK_LIST=600519,hk00700,AAPL,7203.T,005930.KS,2330.TW

Por defecto, el flujo se programa los días laborables a las 18:00 de Pekín y omite días no bursátiles. Actions no usa el archivo .env; las claves sensibles pertenecen a Secrets y los valores no sensibles, como STOCK_LIST, a Variables.

Ruta local. Requiere Python 3.10 o posterior. El primer arranque oficial es:

git clone https://github.com/ZhuLinsen/daily_stock_analysis.git && cd daily_stock_analysis
pip install -r requirements.txt
cp .env.example .env
python main.py

En .env debe existir al menos una configuración de modelo y una lista de acciones. El primer resultado combina análisis de acciones y revisión de mercado, salvo que se cambie con opciones de línea de comandos.

Ruta Docker. La guía recomienda Docker Compose para una instalación migrable:

docker-compose -f ./docker/docker-compose.yml up -d server
docker-compose -f ./docker/docker-compose.yml logs -f server

El servicio server proporciona API e interfaz Web; analyzer ejecuta tareas programadas. La interfaz se abre normalmente en http://127.0.0.1:8000 cuando se inicia en local. Para una carga normal la guía recomienda 1 GB de memoria por servicio; con 512 MB aconseja un único servicio, una acción y baja concurrencia.

Flujos de trabajo habituales

  1. Analizar una lista temporal:
    python main.py --stocks 600519,hk00700,AAPL,2330.TW
    Sobrescribe la lista para esa ejecución y genera el informe del conjunto indicado.
  2. Revisión de mercado sin acciones individuales:
    python main.py --market-review
    Ejecuta únicamente la revisión de mercado.
  3. Comprobar obtención de datos sin usar el modelo:
    python main.py --dry-run
    Recupera datos, pero no ejecuta análisis de IA.
  4. Programar análisis local:
    python main.py --schedule
    Inicia el modo programado, que vuelve a cargar STOCK_LIST antes de cada ejecución.

Otros comandos oficiales son python main.py --debug, python main.py --no-notify, python main.py --workers 5, python main.py --webui y python main.py --webui-only. La opción python main.py --portfolio futu lee posiciones LONG desde Futu OpenD y tiene prioridad sobre --stocks y STOCK_LIST; no opera en la cuenta.

Configuración esencial

  • STOCK_LIST: lista de símbolos. Las comas inglesas son el formato recomendado; la aplicación normaliza también otros separadores habituales.
  • Una clave de modelo: puede ser GEMINI_API_KEY, ANTHROPIC_API_KEY, OPENAI_API_KEY, ANSPIRE_API_KEYS, AIHUBMIX_KEY o una configuración de Ollama/canales. Sin una configuración utilizable, no hay análisis de IA.
  • LLM_CHANNELS o LITELLM_CONFIG: para encaminamiento de varios modelos; ambos tienen prioridad sobre las claves heredadas.
  • SCHEDULE_ENABLED, SCHEDULE_TIME y SCHEDULE_TIMES: activan y fijan una o varias horas programadas; el valor por defecto de SCHEDULE_TIME es 18:00.
  • MAX_WORKERS: controla la concurrencia; el valor documentado es 3. En instalaciones de 512 MB, la guía aconseja 1.
  • Canal de entrega: por ejemplo TELEGRAM_BOT_TOKEN junto con TELEGRAM_CHAT_ID, o DISCORD_WEBHOOK_URL. Debe configurarse al menos un canal si se quieren avisos automáticos.

Trampas frecuentes y soluciones

  • Precios erróneos de símbolos estadounidenses: la FAQ indica que, si persiste el problema, se establezca YFINANCE_PRIORITY=0 para priorizar Yahoo Finance.
  • Límites o resultados vacíos de fuentes gratuitas: reduzca la lista o aumente el intervalo entre ejecuciones; el sistema intenta cambiar de fuente y usa un cortacircuitos, pero no puede garantizar datos de terceros.
  • Claves no vistas por GitHub Actions: guarde claves en Secrets y valores como STOCK_LIST en Variables; un .env local no se aplica a Actions.
  • Cambios de .env ignorados en Docker: reinicie los contenedores. Para conservar cambios hechos desde WebUI, use ENV_FILE apuntando a un archivo escribible de volumen, como /app/data/runtime.env, y evite que variables de inicio con el mismo nombre lo sobrescriban en el siguiente reinicio.
  • Ollama no responde: use OLLAMA_API_BASE, no OPENAI_BASE_URL; el modelo debe llevar el prefijo ollama/, por ejemplo LITELLM_MODEL=ollama/qwen3:8b.
  • Mensajes demasiado largos: active el envío por acción con SINGLE_STOCK_NOTIFY=true o use REPORT_TYPE=simple.

Integraciones y migración

DSA se integra con GitHub Actions, Docker Compose, FastAPI, WebUI y canales de mensajería. Para convertir una instalación local en contenedor, la guía recomienda copiar la configuración a .env y levantar server o analyzer con Compose; los directorios persistentes documentados son ./data/, ./logs/ y ./reports/.

Para llevar capacidades de análisis a un cliente compatible con MCP existe el proyecto comunitario BZ-coding/dsa-mcp, pero no se recuperó documentación oficial que describa una migración o soporte de DSA para él. El cambio entre proveedores de modelo se hace en configuración: puede volver a claves heredadas eliminando LITELLM_CONFIG y LLM_CHANNELS, o usar estas capas para enrutamiento avanzado. No se documentó una herramienta automática de migración desde otra plataforma de análisis bursátil.

Casos de uso y a quién puede ayudar este repositorio

  • Personas que siguen valores en más de un mercado pueden centralizar una lista de China continental, Hong Kong, Estados Unidos, Japón, Corea y Taiwán, y recibir un informe diario con contexto de datos y noticias en vez de reunir manualmente cada fuente.
  • Quien necesita una rutina de investigación personal reproducible puede ejecutar --dry-run para validar datos, --stocks para una consulta acotada y --schedule o GitHub Actions para automatizar la repetición. Esto resulta útil para seguimiento, no para delegar decisiones de compra o venta.
  • Equipos que ya trabajan con mensajería operativa pueden enviar los informes a Telegram, Discord, Slack, correo, WeCom o Feishu, manteniendo el cálculo separado de la distribución.
  • Desarrolladores de herramientas de IA financiera pueden reutilizar la API, la interfaz Web, el soporte de modelos y el diseño de datos de código abierto MIT; para propuestas de cambio, la guía aporta pruebas de servidor, construcción de Docker y comprobaciones del frontal.
  • Usuarios de Futu que buscan análisis de posiciones existentes pueden importar acciones LONG de forma de solo lectura con --portfolio futu, conservando fuera de la aplicación la ejecución y custodia de operaciones.

Barrera que separa la recopilación y el análisis automatizados a la izquierda de una terminal de operaciones bloqueada y de solo lectura a la derecha.

Recursos


Nota: este artículo combina el README y la documentación oficial de DSA, la API de GitHub, Docker Hub, resultados de Hacker News y una búsqueda de YouTube consultados el 5 de agosto de 2026. Las cifras cambian con el tiempo.

Comentarios