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 únicodocker-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)
- Fork del Repositorio – Haz clic en Fork en la esquina superior‑derecha.
- 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 - Habilitar el Flujo de Trabajo – Ve a la pestaña Actions, haz clic en I understand my workflows, go ahead and enable them.
- Probar Inmediatamente – Selecciona el flujo de trabajo “每日股票分析” y haz clic en Run workflow.
- 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
- 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.
- Inferencia IA – El módulo
analyzer.pyalimenta 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. - Revisión del Mercado –
market_analyzer.pyrecoge movimientos diarios de índices, rendimiento sectorial y flujos de capital. - Notificaciones –
notification.pyformatea el panel y la revisión del mercado en Markdown o tarjetas interactivas y las publica en cada canal habilitado. - Programación –
scheduler.pyy 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!