Analyse quotidienne des actions avec Gemini AI : un outil open source gratuit
Analyse quotidienne des actions alimentée par Gemini AI
Bienvenue dans le projet daily_stock_analysis – une solution open source complète pour l'analyse automatisée des actions A‑Share qui fonctionne gratuitement sur GitHub Actions ou Docker. Construit avec Python 3.10+, il intègre plusieurs fournisseurs de données, Gemini (Google AI Studio) pour des insights de marché en langage naturel, et des canaux de notification polyvalents.
Ce que cet outil propose
| Fonctionnalité | Description |
|---|---|
| Tableau de bord décisionnel IA | Conclusions en une phrase, points précis d'achat/départ, et une liste de contrôle des conditions évaluées par Gemini. |
| Analyse multidimensionnelle | Combinaison d'indicateurs techniques, de distribution de volume, de sentiment issu des nouvelles et de cotations de marché en temps réel. |
| Revue du marché | Instantané quotidien des principaux indices, de la performance sectorielle et des flux de capitaux transfrontaliers. |
| Canaux multiples | Enterprise WeChat, Feishu, Telegram, courriel, et tout webhook personnalisé (par ex., Discord, Slack, DingTalk). |
| Déploiement gratuit | Fonctionnement sur GitHub Actions gratuit sans frais de serveur. |
| Architecture extensible | Intégrez n'importe quelle API compatible OpenAI, ajoutez de nouveaux fournisseurs de données ou modifiez la logique de notification avec peu de changement de code. |
Aperçu de la pile technique
- Python 3.10+ avec
pyproject.toml/requirements.txt. - Sources de données : AkShare (gratuit), Tushare, Baostock, YFinance.
- Recherche de nouvelles : Tavily (clé gratuite) ou SerpAPI comme solution de secours.
- Backend IA : Google Gemini (par défaut), avec des API OpenAI compatibles facultatives comme DeepSeek, Claude, ou des modèles hébergés localement.
- Déploiement : GitHub Actions (
.github/workflows/daily_analysis.yml) ou Docker Compose avec une simple commandedocker-compose up -d. - Planificateur : Logique cron simple déclenchant l'analyse chaque jour de semaine à 18h00, heure de Beijing.
Démarrage rapide – GitHub Actions (Déploiement gratuit)
- Fork du dépôt – Cliquez sur Fork dans le coin supérieur droit.
- Création des secrets requis – Accédez à Paramètres → Secrets → Actions et ajoutez :
GEMINI_API_KEY # (obligatoire) Clé Gemini de Google AI Studio # OU OPENAI_API_KEY # facultatif, si vous préférez un point de terminaison compatible OpenAI OPENAI_BASE_URL # facultatif – par ex., https://api.deepseek.com/v1 OPENAI_MODEL # facultatif – par ex., deepseek-chat WECHAT_WEBHOOK_URL # facultatif – Enterprise WeChat FEISHU_WEBHOOK_URL # facultatif – Feishu TELEGRAM_BOT_TOKEN # facultatif – token bot Telegram TELEGRAM_CHAT_ID # facultatif – identifiant de chat Telegram EMAIL_SENDER # facultatif – courriel expéditeur EMAIL_PASSWORD # facultatif – mot de passe d'application EMAIL_RECEIVERS # facultatif – liste séparée par des virgules CUSTOM_WEBHOOK_URLS # facultatif – tout webhook POST JSON FEISHU_APP_ID # facultatif – ID d'app Feishu FEISHU_APP_SECRET # facultatif FEISHU_FOLDER_TOKEN # facultatif – clé de dossier Feishu STOCK_LIST # (obligatoire) liste de tickers, ex., 600519,300750,002594 TAVILY_API_KEYS # (recommandé) pour la recherche de nouvelles SERPAPI_API_KEYS # facultatif TUSHARE_TOKEN # facultatif - Activer le workflow – Allez dans l'onglet Actions et cliquez sur "Je comprends mes workflows, je les active".
- Tester immédiatement – Sélectionnez le workflow “每日股票分析” et cliquez sur Run workflow.
- Célébrer – Le workflow construira une image Docker, récupérera les données, exécutera l'analyse et publiera les résultats sur vos canaux spécifiés.
Démarrage rapide – Déploiement local ou Docker
Utilisez cette méthode si vous préférez un environnement local ou souhaitez ajuster le code.
# Clone & installation
git clone https://github.com/ZhuLinsen/daily_stock_analysis.git
cd daily_stock_analysis
pip install -r requirements.txt
# Copie de l'exemple d'environnement
cp .env.example .env
nano .env # remplissez les valeurs
# Analyse complète
python main.py
# Seule revue de marché
python main.py --market-review
# Exécuter tâche planifiée (cron dans le conteneur)
python main.py --schedule
Pour Docker :
# Créer le fichier de configuration
cp .env.example .env
nano .env
# Lancer les services
docker-compose up -d
# Suivre les logs
docker-compose logs -f
Comment fonctionne l'analyse
- Récupération des données – Prix, volume, MA5/MA10/MA20, distribution de volume et titres d'actualités proviennent des fournisseurs configurés.
- Inférence IA – Le module
analyzer.pyalimente Gemini (ou le modèle OpenAI choisi) avec les indicateurs nettoyés et les nouvelles, et reçoit un résumé décisionnel concis, les prix cibles et stop‑loss, ainsi qu'une liste de conformité. - Revue de marché –
market_analyzer.pyagrège les mouvements quotidiens des indices, la performance sectorielle et les flux de capitaux. - Notification –
notification.pyformate le tableau de bord et la revue de marché en Markdown ou cartes interactives et les publie sur chaque canal activé. - Planification –
scheduler.pyet le workflow GitHub Actions garantissent que le travail s'exécute une fois par jour ouvré à 18h00 local.
Idées de personnalisation
| Domaine | Extension |
|---|---|
| Ajouter une nouvelle source de données | Implémentez un nouveau récupérateur dans data_provider/ et mettez à jour config.py. |
| Utiliser un autre modèle IA | Passez OPENAI_API_KEY/BASE_URL/MODEL et sautez les variables GEMINI_*. |
| Changer le format de notification | Modifiez notification.py pour produire une carte personnalisée ou intégrer des graphiques. |
| Automatiser les mises à jour de portefeuille | Créez un fichier STOCK_LIST que le script surveille pour les changements. |
| Déployer une interface Web | Ajoutez une interface FastAPI ou Flask servant le tableau de bord. |
Points forts de la feuille de route
- Webhooks personnalisés & services de push – Prise en charge de Pushover, Discord, Slack et API propriétaires.
- Expansion croisée de marché – Inclusion des données marchés HK, US et EU.
- Backtesting historique – Exécuter des simulations contre des données passées.
- Tableau de bord Web – Analyses en temps réel avec graphiques en direct.
- Améliorations communautaires – Contributions pour de nouvelles sources de données et modèles sont les bienvenues.
Comment contribuer
- Fork et créez une branche de fonctionnalité/bug‑fix.
- Exécutez les tests (
pytest) et lint (ruff). - Soumettez une PR avec une description claire et un lien vers la question pertinente.
- Les réviseurs vérifieront les mises à jour de documentation et la cohérence avec le code.
Pensées finales
daily_stock_analysis est un kit moderne à friction réduite pour tout le monde désireux d'ajouter des insights de marché pilotés par l'IA à son flux de travail quotidien. Avec aucun coût d'hébergement et une architecture plug‑and‑play, vous pouvez commencer à recevoir des tableaux de bord de marché dans votre chat corporatif ou votre boîte de réception en quelques minutes. Prenez le repo, configurez vos secrets, et observez l'outil s'exécuter automatiquement chaque jour de semaine.
Bonne analyse !