Análisis Diario de Acciones con Gemini AI: Una Herramienta Gratuita de Código Abierto

Análisis Diario de Acciones Impulsado por Gemini AI

Bienvenido al proyecto daily_stock_analysis – una solución completa y de código abierto para el análisis automatizado de A‑Share que funciona gratis en GitHub Actions o Docker. Construido con Python 3.10+, integra múltiples proveedores de datos, Gemini (Google AI Studio) para percepciones de mercado en lenguaje natural y canales de notificación versátiles.


Lo que ofrece esta herramienta

Característica Descripción
Panel de Decisiones IA Conclusiones en una oración, puntos de precio precisos de compra/venta y una lista de verificación de condiciones evaluadas por Gemini.
Análisis Multidimensional Combina indicadores técnicos, distribución de volumen, sentimiento de noticias y cotizaciones de mercado en tiempo real.
Revisión del Mercado Instantánea diaria de los principales índices, rendimiento por sector y flujos de capital transfronterizos.
Múltiples Canales Enterprise WeChat, Feishu, Telegram, correo electrónico y cualquier webhook personalizado (por ejemplo, Discord, Slack, DingTalk).
Despliegue sin Costos Funciona en GitHub Actions gratis sin pagar por un servidor.
Arquitectura Extensible Integra cualquier API compatible con OpenAI, añade nuevos proveedores de datos o modifica la lógica de notificación con cambios mínimos de código.

Visión General del Stack Tecnológico

  • Python 3.10+ con pyproject.toml / requirements.txt.
  • Fuentes de Datos: AkShare (gratis), Tushare, Baostock, YFinance.
  • Búsqueda de Noticias: Tavily (clave gratuita) o SerpAPI como respaldo.
  • Backend IA: Google Gemini (por defecto), con APIs compatibles con OpenAI opcionales como DeepSeek, Claude o modelos alojados localmente.
  • Despliegue: GitHub Actions (.github/workflows/daily_analysis.yml) o Docker Compose con un único docker-compose up -d.
  • Programador: Lógica cron sencilla que dispara el análisis cada día hábil a las 18:00 hora de Beijing.

Inicio Rápido – GitHub Actions (Sin Costos)

  1. Fork del Repositorio – Haz clic en Fork en la esquina superior‑derecha.
  2. Crear los Secretos Requeridos – Navega a Settings → Secrets → Actions y añade:
    GEMINI_API_KEY          # (requerido)  Llave Gemini de Google AI Studio
    # O
    OPENAI_API_KEY          # opcional, si prefieres un endpoint compatible con OpenAI
    OPENAI_BASE_URL         # opcional – por ejemplo https://api.deepseek.com/v1
    OPENAI_MODEL            # opcional – por ejemplo deepseek-chat
    WECHAT_WEBHOOK_URL      # opcional – Enterprise WeChat
    FEISHU_WEBHOOK_URL      # opcional – Feishu
    TELEGRAM_BOT_TOKEN      # opcional – token del bot de Telegram
    TELEGRAM_CHAT_ID        # opcional – ID de chat de Telegram
    EMAIL_SENDER            # opcional – correo del remitente
    EMAIL_PASSWORD          # opcional – contraseña de aplicación
    EMAIL_RECEIVERS         # opcional – lista separada por comas
    CUSTOM_WEBHOOK_URLS     # opcional – cualquier webhook POST JSON
    FEISHU_APP_ID           # opcional – ID de app de Feishu
    FEISHU_APP_SECRET       # opcional
    FEISHU_FOLDER_TOKEN     # opcional – clave de carpeta Feishu
    STOCK_LIST              # (requerido) lista de tickers, ej. 600519,300750,002594
    TAVILY_API_KEYS         # (recomendado) para búsqueda de noticias
    SERPAPI_API_KEYS        # opcional 
    TUSHARE_TOKEN           # opcional
    
  3. Habilitar el Flujo de Trabajo – Ve a la pestaña Actions, haz clic en I understand my workflows, go ahead and enable them.
  4. Probar Inmediatamente – Selecciona el flujo de trabajo “每日股票分析” y haz clic en Run workflow.
  5. Celebrar – El flujo construirá una imagen Docker, obtendrá datos, realizará el análisis y publicará los resultados en tus canales habilitados.

Inicio Rápido – Despliegue Local o con Docker

Utiliza este método si prefieres un entorno local o deseas ajustar el código.

# Clonar e instalar
git clone https://github.com/ZhuLinsen/daily_stock_analysis.git
cd daily_stock_analysis
pip install -r requirements.txt

# Copiar el ejemplo de entorno
cp .env.example .env
nano .env   # llenar valores

# Ejecutar un análisis completo
python main.py

# Sólo revisión de mercado
python main.py --market-review

# Ejecutar tarea programada (cron dentro del contenedor)
python main.py --schedule

Para Docker:

# Crear archivo de configuración
cp .env.example .env
nano .env

# Lanzar servicios
docker-compose up -d

# Ver registros en tiempo real
docker-compose logs -f


Cómo Funciona el Análisis

  1. Obtención de Datos – Precio de la acción, volumen, MA5/MA10/MA20, distribución de volumen y titulares de noticias provienen de los proveedores configurados.
  2. Inferencia IA – El módulo analyzer.py alimenta indicadores y noticias depuradas a Gemini (o el modelo OpenAI‑compatible seleccionado) y recibe un resumen de decisión conciso, precios objetivo y stop‑loss, y una lista de cumplimiento.
  3. Revisión del Mercadomarket_analyzer.py recoge movimientos diarios de índices, rendimiento sectorial y flujos de capital.
  4. Notificacionesnotification.py formatea el panel y la revisión del mercado en Markdown o tarjetas interactivas y las publica en cada canal habilitado.
  5. Programaciónscheduler.py y la rama de GitHub Actions garantizan que el trabajo se ejecute una vez por día hábil a las 18:00 hora local.

Ideas de Personalización

Área Extensión
Agregar un nuevo proveedor de datos Implementa un nuevo fetcher en data_provider/ y actualiza config.py.
Usar otro modelo IA Pasa OPENAI_API_KEY/BASE_URL/MODEL y omite las variables GEMINI_*.
Cambiar formato de notificación Edita notification.py para generar una tarjeta personalizada o integrar gráficos.
Automatizar actualizaciones de portafolio Crea un archivo STOCK_LIST que el script vigile por cambios.
Desplegar una UI web Añade una interfaz FastAPI o Flask que sirva el panel.

Destacados del Roadmap

  • Webhooks y Servicios Push Personalizados – Soporte para Pushover, Discord, Slack y APIs propietarias.
  • Expansión a Mercados Cruzados – Incluir datos de HK, EE. UU. y UE.
  • Backtesting Histórico – Ejecutar simulaciones con datos pasados.
  • Panel Web – Analítica en tiempo real con gráficos en vivo.
  • Mejoras impulsadas por la Comunidad – Aportaciones de nuevos proveedores de datos y modelos son muy bienvenidas.

Cómo Contribuir

  • Haz fork y crea una rama de funcionalidad / corrección de bugs.
  • Ejecuta las pruebas (pytest) y el linter (ruff).
  • Abre un PR con una descripción clara y enlaza cualquier issue relevante.
  • Los revisores verificarán actualizaciones de documentación y consistencia con el código base.

Reflexión Final

daily_stock_analysis es un kit moderno y de bajo fricción para cualquier persona que quiera añadir percepciones de mercado impulsadas por IA a su flujo de trabajo diario. Con costos de alojamiento cero y una arquitectura plug‑and‑play, puedes comenzar a recibir paneles de mercado en tu chat corporativo o bandeja de entrada en minutos. Descarga el repositorio, configura tus secretos y observa la herramienta autoejecutarse cada día hábil.

¡Feliz análisis!

Artículo original: Ver original

Compartir este artículo